Read the statement by Michael Teeuw here.
MMM-Domoticz-ext: interact with Domoticz
-
@goedh452 thanks, my skill is also amateur, but I now know that there is no gauge dependency missing.
I have a whole range of energy values captured in my Domoticz - Owl current meter, Nibe heat pump, Solaredge PV panels, I guess none of them are the same type as your P1 USB cable (not something I use/have).
I guess I would really want a flexible gauge that I can use with a number of my Domoticz captured values, so your Javascript is a great inspiration/start to create such gauges.
I will fork your git and then if I actually create something it will hopefully add to your package. As a hobby not sure when I will get around it :-(.
-
You could send me the json result of you sensors and I’ll see what I can do. The result is obtained via this URL:
http://<IPADRESS_DOMOTICZ>:<PORT_DOMOTICZ>/json.htm?type=devices&rid=<IDX_DEVICE>
-
@goedh452 thank you very much, a couple of examples below.
My Owl device measures watts, but each time I change the batteries it get a new idx, so I use a Lua script in Domoticz to capture the values and post-process before displaying as a Solar below:
{ "ActTime" : 1617792992, "AstrTwilightEnd" : "22:07", "AstrTwilightStart" : "04:07", "CivTwilightEnd" : "20:30", "CivTwilightStart" : "05:44", "DayLength" : "13:31", "NautTwilightEnd" : "21:16", "NautTwilightStart" : "04:59", "ServerTime" : "2021-04-07 11:56:32", "SunAtSouth" : "13:07", "Sunrise" : "06:21", "Sunset" : "19:53", "app_version" : "4.10717", "result" : [ { "AddjMulti" : 1.0, "AddjMulti2" : 1.0, "AddjValue" : 0.0, "AddjValue2" : 0.0, "BatteryLevel" : 255, "CounterToday" : "6.210 kWh", "CustomImage" : 0, "Data" : "39023.996 kWh", "Description" : "", "EnergyMeterMode" : "", "Favorite" : 1, "HardwareID" : 3, "HardwareName" : "DUMMY", "HardwareType" : "Dummy (Does nothing, use for virtual switches only)", "HardwareTypeVal" : 15, "HaveTimeout" : false, "ID" : "00014179", "LastUpdate" : "2021-04-07 11:56:30", "Name" : "Solar", "Notifications" : "false", "PlanID" : "0", "PlanIDs" : [ 0 ], "Protected" : false, "ShowNotifications" : true, "SignalLevel" : "-", "SubType" : "kWh", "SwitchTypeVal" : 0, "Timers" : "false", "Type" : "General", "TypeImg" : "current", "Unit" : 1, "Usage" : "1409.4 Watt", "Used" : 1, "XOffset" : "0", "YOffset" : "0", "idx" : "298" } ], "status" : "OK", "title" : "Devices" }
The raw Owl device returns 3 power readings, one from each current clamp:
{ "ActTime" : 1617793340, "AstrTwilightEnd" : "22:07", "AstrTwilightStart" : "04:07", "CivTwilightEnd" : "20:30", "CivTwilightStart" : "05:44", "DayLength" : "13:31", "NautTwilightEnd" : "21:16", "NautTwilightStart" : "04:59", "ServerTime" : "2021-04-07 12:02:20", "SunAtSouth" : "13:07", "Sunrise" : "06:21", "Sunset" : "19:53", "app_version" : "4.10717", "result" : [ { "AddjMulti" : 1.0, "AddjMulti2" : 1.0, "AddjValue" : 0.0, "AddjValue2" : 0.0, "BatteryLevel" : 100, "CustomImage" : 0, "Data" : "506 Watt, 138 Watt, 1863 Watt", "Description" : "", "Favorite" : 0, "HardwareID" : 1, "HardwareName" : "RFXCOM", "HardwareType" : "RFXCOM - RFXtrx433 USB 433.92MHz Transceiver", "HardwareTypeVal" : 1, "HaveTimeout" : false, "ID" : "6700", "LastUpdate" : "2021-04-07 12:02:12", "Name" : "Owl", "Notifications" : "true", "PlanID" : "0", "PlanIDs" : [ 0 ], "Protected" : false, "ShowNotifications" : true, "SignalLevel" : 7, "SubType" : "CM113, Electrisave", "Timers" : "false", "Type" : "Current", "TypeImg" : "current", "Unit" : 0, "Used" : 1, "XOffset" : "0", "YOffset" : "0", "displaytype" : 1, "idx" : "1286" } ], "status" : "OK", "title" : "Devices" }
-
Thanks! I’ll look into it. A quick glance indicates that the subtype of the solar device is ‘kWh’ and the module scans for a subtype ‘Energy’. This is easy to modify in the code. The Owl device is a bit more complicated since it has the data-attribute, but does not split this into 3 separate attributes.
I’ll let you know if I’ve something for you to test!
-
Could you please pull the latest code from GitHub and check if the Solar device works now?
-
@goedh452 thanks, I had a go but it just display “Loading…” under the DOMOTICZ module label.
I have simplified my config.js to just have this in the Domoticz module:
{ module: "MMM-Domoticz-ext", header: "Domoticz", position: "top_center", config: { apiBase: "192.168.89.174", apiPort: "8080", updateInterval: 10, displayType: "all", rooms: [ { idx: "3" } ], utilities: { devices: [ "301" ], utilityLabel: "Solar", counterTodayLabel: "Vandaag", gaugeWidth: 200, gaugeEnergyMinValue: -3000, gaugeEnergyMaxValue: 3000, gaugeEnergyAppendText: "Watt", useColors: true, }, } },
-
Would it be possible to hide the sub headers?
The Utilities title doesn’t fit my minimal approach. The titles of the gauges tells enough (for me)
-
I tried:
p.title.bright.domoCenterCell { display: none; } hr.domoDivider { display: none; }
in custom.css… that worked. → Solved!
-
@najtram Ow great! I was thinking of making it an option, but if this solves it for you that’s fine of course.
-
I tested with a dummy device in Domoticz I created based on your setup and think I got it working. New code is available on GitHub. Could you please check if it is working for you too?