MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MMM-Domoticz-ext: interact with Domoticz

    Scheduled Pinned Locked Moved Utilities
    121 Posts 14 Posters 84.9k Views 16 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • steps39S Offline
      steps39 @goedh452
      last edited by

      @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 :-(.

      G 1 Reply Last reply Reply Quote 0
      • G Offline
        goedh452 @steps39
        last edited by

        @steps39

        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>

        steps39S 1 Reply Last reply Reply Quote 0
        • steps39S Offline
          steps39 @goedh452
          last edited by steps39

          @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"
          }
          
          G 2 Replies Last reply Reply Quote 0
          • G Offline
            goedh452 @steps39
            last edited by

            @steps39

            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!

            1 Reply Last reply Reply Quote 0
            • G Offline
              goedh452 @steps39
              last edited by goedh452

              @steps39

              Could you please pull the latest code from GitHub and check if the Solar device works now?

              steps39S 1 Reply Last reply Reply Quote 0
              • steps39S Offline
                steps39 @goedh452
                last edited by

                @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,
                                    },
                                  }
                                },
                
                G 1 Reply Last reply Reply Quote 0
                • N Offline
                  najtram
                  last edited by

                  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)

                  Schermafbeelding 2021-04-08 om 14.03.44.png

                  N 1 Reply Last reply Reply Quote 0
                  • N Offline
                    najtram @najtram
                    last edited by najtram

                    @najtram

                    I tried:

                    p.title.bright.domoCenterCell {
                      display: none;
                    }
                    
                    hr.domoDivider {
                      display: none;
                    }
                    

                    in custom.css… that worked. → Solved!

                    G 1 Reply Last reply Reply Quote 0
                    • G Offline
                      goedh452 @najtram
                      last edited by

                      @najtram Ow great! I was thinking of making it an option, but if this solves it for you that’s fine of course.

                      1 Reply Last reply Reply Quote 0
                      • G Offline
                        goedh452 @steps39
                        last edited by

                        @steps39

                        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?

                        steps39S 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 12
                        • 13
                        • 2 / 13
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy