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 101.6k 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.
    • G Offline
      goedh452 @Sp0nsje
      last edited by

      @sp0nsje

      This sometimes seems to happen indeed. I notices it as well. The different gauges aren’t always processed in the same order and that causes the switch of position. I have a look at this as well. It should be possible to always order them according to the order in the config.

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

        @Sp0nsje @peterh

        I made some modifications to the code:

        • Fixed the switching positions of gauges (I think, it doesn’t happen to me a lot, so testing is a bit difficult)

        • Added ‘Custom gauges’. You can use every type of device to be displayed as a gauge as long as you specify the correct config settings (also see the readme).

        My customGauge config is:

        customGauges: {
                    headerLabel: "Overige",
                    showLabel: true,
                    devices: [
                      {
                        idx: "1356",
                        deviceHeader: "Volt",
                        lowerText: "Voltage",
                        gaugeAppendText: "volt",
                        gaugeMaxValue: 250,
                      },
                      {
                        idx: "2057",
                        deviceHeader: "Afstand",
                        gaugeAppendText: "cm",
                        gaugeMaxValue: 1000,
                        markerColor: "#70db70"
                      }
                    ]
                  },
        

        This results in:
        Schermafbeelding 2021-05-22 om 12.18.17.png

        Please download the latest code from GitHub and give it a try! Let me know it you encounter any problems.

        P 1 Reply Last reply Reply Quote 0
        • S Offline
          Sp0nsje
          last edited by

          @goedh452
          Thanks,
          Works like a charm.
          Will keep u posted if some errors show up.

          TeamViewer_v0z7TZ2slJ.png

          S M 2 Replies Last reply Reply Quote 0
          • S Offline
            Sp0nsje @Sp0nsje
            last edited by

            @goedh452
            Looking at my post is spotted some differances in the gauges. they were my mistakes :P

            1 Reply Last reply Reply Quote 0
            • P Offline
              peterh @goedh452
              last edited by

              @goedh452

              Hi and thanks again for your efforts.

              Gauge swapping positions
              I can confirm that this occurs occasionally, on a manual browser refresh if seems to have a 15% chance of occurring. ( i did 30 refreshes. and got 2 swaps) i only see the last 2 gauges, out of the 5 that i have showing, do the swap.

              Custom Gauges
              These work well and as expected. - thank you!
              0ed953b6-b5b3-4dc9-8411-f2bfb374622a-image.png

              here is the config I am using:

                          {
                                    module: "MMM-Domoticz-ext",
                                    //header: "Domoticz - new",
                                    //position: "bottom_left",
                                    position: "bottom_bar",
                                    config: {
                                          apiBase: "10.60.2.252",
                                          apiPort: "8080",
                                          //apiUser: "XXXX",              // only works with domoticz "Setup|Settngs|Website protection = "Basic auth" add the MM Ip to the "Local Networks" list to allow access with no auth, then all sensors will be listed.
                                          //apihPW: "YYYY",
                                          //alwaysShowDashboard: true,
                                          horizontal: "true",
                                          columnCount: 3,
                                          displayType: "all",     // show all switchs/lights status
                                          //displayType: "dashboard",     // dashboard
                                          //dashboardColumnCount: 3,
                                          //switchIcon: "lightbulb",
                                          weather: {
                                          devices: [ "199", "200" ],    //snake temps
                                                  weatherLabel: "Temperatures",
                                                  gaugeWidth: 200,
                                                  gaugeWindAppendText: "km/h",
                                                  rainSuffix: "mm",
                                          },
                                          utilities: {
                                                  utilityLabel: "Gas - Water - Elec",
                                                  showLabel: false,
                                                  devices: [
                                                  {
                                                          idx: "164",
                                                          deviceHeader: "Solar Gen",
                                                          useHeaderSymbol: false,
                                                          headerSymbol: "solar-panel",
                                                          counterTodayLabel: "Today",
                                                          gaugeMinValue: 0,
                                                          gaugeMaxValue: 2000,
                                                          gaugeAppendText: "Watts",
                                                          gaugeWidth: 150,
                                                          lineWidth: 12,
                                                          markerWidth: 12,
                                                          markerColor: "#F4D03F"
                                                  },
                                                  {
                                                          idx: "191",
                                                          deviceHeader: "PowGen/PowUse",
                                                          useHeaderSymbol: false,
                                                          headerSymbol: "solar-panel",
                                                          counterTodayLabel: "Today",
                                                          gaugeMinValue: -2000,
                                                          gaugeMaxValue: 2000,
                                                          gaugeAppendText: "Watts",
                                                          gaugeWidth: 150,
                                                          lineWidth: 12,
                                                          markerWidth: 12,
                                                          markerColor: "#F4003F"
                                                  },
                                                  ],
                                          },
                                          customGauges: {
                                                  headerLabel: "Monitoring",
                                                  showLabel: false,
                                                  devices: [
                                                    {
                                                      idx: "209",
                                                      deviceHeader: "Toaster",
                                                      lowerText: "Voltage",
                                                      gaugeAppendText: "volts",
                                                      gaugeMaxValue: 255,
                                                      gaugeWidth: 150,
                                                      lineWidth: 12,
                                                      markerWidth: 12,
                                                      markerColor: "#70db70"
              
                                                    },
                                                    {
                                                      idx: "208",
                                                      deviceHeader: "Toaster",
                                                      gaugeAppendText: "Amps",
                                                      lowerText: "Current",
                                                      gaugeAppendText: "volts",
                                                      gaugeMaxValue: 16,
                                                      gaugeWidth: 150,
                                                      lineWidth: 12,
                                                      markerWidth: 12,
                                                      markerColor: "#70db70"
                                                    },
                                                  {
                                                      idx: "232",
                                                      deviceHeader: "Brightness",
                                                      lowerText: "Manual Override",
                                                      gaugeAppendText: "%",
                                                      gaugeMaxValue: 100,
                                                      gaugeWidth: 150,
                                                      lineWidth: 12,
                                                      markerWidth: 12,
                                                      markerColor: "#707070",
                                                    },
                                                  ],
              
                                          },
                                          rooms: [
                                                  { idx: "17", name: "Status" },  // can only show switch status,, breaks if temp. in room?
                                                  //{ idx: "14", name: "Testing" },
                                          ],
                                    },
                          },
              

              – Peter

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

                @peterh

                Hi Peter,

                Great it is working out for you! In the config there is a question that the lower part breaks when it encounters a temperature. Is that right? It should be able to show temperatures as well.

                P 1 Reply Last reply Reply Quote 0
                • P Offline
                  peterh @goedh452
                  last edited by

                  @goedh452

                  Hi

                  rooms: [
                                                      { idx: "17", name: "Status" },  // can only show switch status,, breaks if temp. in room?
                                                      //{ idx: "14", name: "Testing" },
                                   ],
                  

                  I have a “room” plan set in Domoticz that contains various virtual devices, if i add a temperature device to it, the list of devices shown in MM stops at that device.

                  8f17e183-8837-437b-b290-9f71709ca668-image.png

                  With “mote” (temp & humidity) sensor in the room

                  35f3ac30-1d1e-4146-b6ae-66a083656501-image.png

                  With no mote in the room.

                  d4e62b1b-7864-43a9-85ee-f8e9cf609196-image.png

                  Please note: I have used custom css to shrink the members of the room to a more compact left justified list, rather than spread across the whole width of the screen.

                  regards Peter

                  G 2 Replies Last reply Reply Quote 0
                  • G Offline
                    goedh452 @peterh
                    last edited by

                    @peterh

                    I can have a look at the temp/hum issue. I have several of these sensors myself and they do work in this layout. I would need the JSON-output of the specified device to figure out the problem.

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

                      @peterh

                      I tried, but am unable to reproduce your problem. If you would like me to have a look, please post the JSON result for the device “mote”.

                      P 1 Reply Last reply Reply Quote 0
                      • P Offline
                        peterh @goedh452
                        last edited by

                        @goedh452

                        Hi
                        Sorry for the delayed response.
                        It appears that the issue occurs when there is no temperature or humidity data in the json output.
                        the sensor had no data while i was initially testing. After collecting some data it works as expected.
                        sample json data:

                        pi@MM-lite:~$ curl "http://10.60.2.252:8080/json.htm?type=devices&rid=196"
                        {
                                "ActTime" : 1623221642,
                                "AstrTwilightEnd" : "18:46",
                                "AstrTwilightStart" : "05:45",
                                "CivTwilightEnd" : "17:46",
                                "CivTwilightStart" : "06:45",
                                "DayLength" : "10:07",
                                "NautTwilightEnd" : "18:16",
                                "NautTwilightStart" : "06:15",
                                "ServerTime" : "2021-06-09 14:54:02",
                                "SunAtSouth" : "12:16",
                                "Sunrise" : "07:12",
                                "Sunset" : "17:19",
                                "app_version" : "2020.2 (build 12917)",
                                "result" :
                                [
                                        {
                                                "AddjMulti" : 1.0,
                                                "AddjMulti2" : 1.0,
                                                "AddjValue" : 0.0,
                                                "AddjValue2" : 0.0,
                                                "BatteryLevel" : 255,
                                                "CustomImage" : 0,
                                                "Data" : "0, 27.0",
                                                "Description" : "temperature and humidity in my office. polled from mqtt",
                                                "Favorite" : 0,
                                                "HardwareDisabled" : false,
                                                "HardwareID" : 3,
                                                "HardwareName" : "virtual hardware",
                                                "HardwareType" : "Dummy (Does nothing, use for virtual switches only)",
                                                "HardwareTypeVal" : 15,
                                                "ID" : "14114",
                                                "LastUpdate" : "2021-01-04 17:58:14",
                                                "Name" : "mote",
                                                "Notifications" : "false",
                                                "PlanID" : "0",
                                                "PlanIDs" :
                                                [
                                                        0
                                                ],
                                                "Protected" : false,
                                                "ShowNotifications" : true,
                                                "SignalLevel" : "-",
                                                "SubType" : "THGN122/123/132, THGR122/228/238/268",
                                                "Timers" : "false",
                                                "Type" : "Temp + Humidity",
                                                "TypeImg" : "temperature",
                                                "Unit" : 1,
                                                "Used" : 1,
                                                "XOffset" : "0",
                                                "YOffset" : "0",
                                                "idx" : "196"
                                        }
                                ],
                                "status" : "OK",
                                "title" : "Devices"
                        }
                        

                        With Temperature and humidity

                        pi@MM-lite:~$ curl "http://10.60.2.252:8080/json.htm?type=devices&rid=196"
                        {
                                "ActTime" : 1623222662,
                                "AstrTwilightEnd" : "18:46",
                                "AstrTwilightStart" : "05:45",
                                "CivTwilightEnd" : "17:46",
                                "CivTwilightStart" : "06:45",
                                "DayLength" : "10:07",
                                "NautTwilightEnd" : "18:16",
                                "NautTwilightStart" : "06:15",
                                "ServerTime" : "2021-06-09 15:11:02",
                                "SunAtSouth" : "12:16",
                                "Sunrise" : "07:12",
                                "Sunset" : "17:19",
                                "app_version" : "2020.2 (build 12917)",
                                "result" :
                                [
                                        {
                                                "AddjMulti" : 1.0,
                                                "AddjMulti2" : 1.0,
                                                "AddjValue" : 0.0,
                                                "AddjValue2" : 0.0,
                                                "BatteryLevel" : 14,
                                                "CustomImage" : 0,
                                                "Data" : "32.2 C, 34 %",
                                                "Description" : "temperature and humidity in my office. polled from mqtt",
                                                "DewPoint" : "14.35",
                                                "Favorite" : 0,
                                                "HardwareDisabled" : false,
                                                "HardwareID" : 3,
                                                "HardwareName" : "virtual hardware",
                                                "HardwareType" : "Dummy (Does nothing, use for virtual switches only)",
                                                "HardwareTypeVal" : 15,
                                                "HaveTimeout" : false,
                                                "Humidity" : 34,
                                                "HumidityStatus" : "Comfortable",
                                                "ID" : "14114",
                                                "LastUpdate" : "2021-06-09 15:10:35",
                                                "Name" : "mote",
                                                "Notifications" : "false",
                                                "PlanID" : "0",
                                                "PlanIDs" :
                                                [
                                                        0
                                                ],
                                                "Protected" : false,
                                                "ShowNotifications" : true,
                                                "SignalLevel" : "-",
                                                "SubType" : "THGN122/123/132, THGR122/228/238/268",
                                                "Temp" : 32.19,
                                                "Timers" : "false",
                                                "Type" : "Temp + Humidity",
                                                "TypeImg" : "temperature",
                                                "Unit" : 1,
                                                "Used" : 1,
                                                "XOffset" : "0",
                                                "YOffset" : "0",
                                                "idx" : "196",
                                                "trend" : 1
                                        }
                                ],
                                "status" : "OK",
                                "title" : "Devices"
                        }
                        

                        mote sensor appears now, above the snake enclosure light.

                        19d4bb5e-56d7-4fde-9eb1-a5b883c0398b-image.png

                        thanks again for your attention

                        1 Reply Last reply Reply Quote 0
                        • M Offline
                          maxs
                          last edited by

                          Hi tanks for great module. I have a small problem with the counter today from the power consumption. this doesn’t show me the amount of use of the day. Gas and water working fine. see screenshot. Do you have a solution, or where I have to search? !!Schermafbeelding 2021-07-24 om 20.59.12.jpg

                          G 1 Reply Last reply Reply Quote 0
                          • M Offline
                            majsoft @Sp0nsje
                            last edited by

                            This post is deleted!
                            1 Reply Last reply Reply Quote 0
                            • G Offline
                              goedh452 @maxs
                              last edited by

                              @maxs

                              Alle data is retrieved from the JSON response. Could you post it for the electricity counter?

                              M 1 Reply Last reply Reply Quote 0
                              • M Offline
                                majsoft
                                last edited by majsoft

                                Hi everyone, please help with setting up customs.css
                                Can anyone advise me how to change the font and icon size only for the first three rooms? (Red marked)
                                I would also need to delete the dividing lines marked in green.
                                I will be very grateful for more detailed advice.

                                Screenshot_1.png

                                customs.css

                                .domoCellState {
                                  text-align: right;
                                vertical-align: center;
                                  padding-left: 10px;
                                font-size: 300%; 			/* velikost čísla teploměru */
                                color: #FFFFFF; 
                                line-height: 100%;
                                
                                }
                                
                                .domoIconDiv {
                                  padding-right: 5px;
                                  font-size: 200%;                        /* velikost ikony teploměru */
                                  vertical-align: center;
                                }
                                
                                .domoCell {
                                  text-align: left;
                                  vertical-align: center;
                                 font-size: 200%;			/* velikost pisma popisku teplomeru - vedle ikony teploměru */
                                line-height: 100%;
                                }
                                
                                
                                .domoRoomCell {
                                  vertical-align: center;
                                  padding-right: 20px;
                                font-size: 0%;			/* velikost pisma nadpisu room */
                                }
                                
                                
                                
                                

                                Config.js
                                the room numbers for which I would like to change the font size are idx 1, 8, 9

                                {
                                  module: "MMM-Domoticz-ext",
                                  
                                  position: "bottom_bar",
                                  config: {
                                    apiBase: "192.168.2.80",
                                    apiPort: "8081",
                                        updateInterval: 15,
                                displayType: "room",
                                          alwaysShowDashboard: false,
                                          alwaysShowActions: false,
                                          showButtons: false,
                                                 horizontal: true,
                                          columnCount: 3,
                                          dashboardColumnCount: 12,
                                          maxTitleLength: 18,
                                
                                  				
                                     rooms: [
                                      { idx: "1" },
                                { idx: "9" },
                                { idx: "8" },
                                { idx: "11" },
                                { idx: "12" },
                                { idx: "13" },
                                    ],
                                
                                
                                  }
                                },
                                
                                

                                Another question is whether it is possible to replace the character C with ° (character Celsius)

                                G M 2 Replies Last reply Reply Quote 0
                                • G Offline
                                  goedh452 @majsoft
                                  last edited by

                                  @majsoft

                                  I don’t think it is possible to just change the font for the first lines. All are in the same class.

                                  1 Reply Last reply Reply Quote 0
                                  • M Offline
                                    majsoft @majsoft
                                    last edited by

                                    @majsoft

                                    How to remove the lines (marked in green) I have already come.
                                    using this code

                                    hr.domoDivider {
                                      display: none;
                                    }
                                    

                                    If it is not possible to change the font size of only the first three sensors, it is possible to run 2 instances of the module in config.js, but I do not know how to distinguish these instances in customs.css

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

                                      @majsoft

                                      I think this is also not possible, but I’m not an css expert. Maybe others have soms ideas.

                                      You could create your own module based on the code and modify that css.

                                      M 3 Replies Last reply Reply Quote 0
                                      • M Offline
                                        majsoft @goedh452
                                        last edited by majsoft

                                        @goedh452
                                        yes, I’m just trying to create a new mmm-domoticz-ext-2 module, but even if I replace the text mmm-domoticz-ext with mmm-domoticz-ext-2 in all files, it doesn’t work. then it would be easy in CSS to assign a font size to each module. I’m not a programmer either. I have to follow the trial and error method

                                        1 Reply Last reply Reply Quote 0
                                        • M Offline
                                          majsoft @goedh452
                                          last edited by majsoft

                                          @goedh452 said in MMM-Domoticz-ext: interact with Domoticz:

                                          @majsoft

                                          You could create your own module based on the code and modify that css.

                                          I can’t get the copied module up and running, it still reports loading. Basic methods for copying a module fail. Can you advise me how to copy the module?

                                          d99d8125-8520-41fa-a40a-159f34cca99c-image.png

                                          a17375b7-6e8c-4d7e-a78e-8c3ebfc7a3d8-image.png

                                          
                                          {
                                            module: "MMM-Domoticz-ext",
                                              position: "bottom_bar",
                                            config: {
                                              apiBase: "192.168.2.80",
                                              apiPort: "8081",
                                                  updateInterval: 15,
                                          displayType: "room",
                                                    alwaysShowDashboard: false,
                                                    alwaysShowActions: false,
                                                    showButtons: false,
                                                           horizontal: true,
                                                    columnCount: 3,
                                                    dashboardColumnCount: 12,
                                                    maxTitleLength: 18,
                                           	     rooms: [
                                                { idx: "1" },
                                          { idx: "9" },
                                          { idx: "8" },
                                              ],
                                            }
                                          },
                                          
                                          {
                                            module: "MMM-Domoticz-ext2",
                                              position: "bottom_bar",
                                            config: {
                                              apiBase: "192.168.2.80",
                                              apiPort: "8081",
                                                  updateInterval: 20,
                                          displayType: "room",
                                                    alwaysShowDashboard: false,
                                                    alwaysShowActions: false,
                                                    showButtons: false,
                                                           horizontal: true,
                                                    columnCount: 3,
                                                    dashboardColumnCount: 12,
                                                    maxTitleLength: 18,
                                           	     rooms: [
                                                { idx: "11" },
                                          { idx: "12" },
                                          { idx: "13" },
                                              ],
                                            }
                                          },
                                          
                                          M 1 Reply Last reply Reply Quote 0
                                          • M Offline
                                            majsoft @majsoft
                                            last edited by

                                            @majsoft
                                            I found that both mmm-domoticz-ext and mmm-domoticz-ext2 work separately for both modules

                                            If I enter them both at once in config.js it always works only the one that is written as the last one. Can anyone help please?

                                            1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 7
                                            • 7 / 7
                                            • 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