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.

    Visibility of variables in MMM-HomeAssistantDisplay

    Scheduled Pinned Locked Moved Unsolved Troubleshooting
    8 Posts 2 Posters 519 Views 2 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.
    • D Offline
      DrKaMo
      last edited by sdetweil

      Hello everyone, I have integrated around 20 window contacts via Homeassistant and would only like to display the window contacts on Magicmirror that are TRUE. Do you have a CODE for this?

      S 1 Reply Last reply Reply Quote 0
      • S Offline
        sdetweil @DrKaMo
        last edited by

        @DrKaMo see the MMM-HomeAssistantDisplay module

        Use the 3rd party module list linked in the header above

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        D 2 Replies Last reply Reply Quote 0
        • D Offline
          DrKaMo @sdetweil
          last edited by sdetweil

          @sdetweil

          /* MagicMirror² Config Sample
           *
           * By Michael Teeuw https://michaelteeuw.nl
           * MIT Licensed.
           *
           * For more information on how you can configure this file
           * see https://docs.magicmirror.builders/configuration/introduction.html
           * and https://docs.magicmirror.builders/modules/configuration.html
           *
           * You can use environment variables using a `config.js.template` file instead of `config.js`
           * which will be converted to `config.js` while starting. For more information
           * see https://docs.magicmirror.builders/configuration/introduction.html#enviromnent-variables
           
           */
           let perimeterShutter = [
              {
                  entity: "cover.ankleide",
                  name: "Ankleide"
              },
              {
                  entity: "cover.babsygarten",
                  name: "Babsy Garten"
              },
              {
                  entity: "cover.babsystrasse",
                  name: "Babsy Straße"
              },
              {
                  entity: "cover.ben",
                  name: "Ben"
              },
              {
                  entity: "cover.essen_wohnen",
                  name: "Essen/Wohnen"
              },
              {
                  entity: "cover.gastebad",
                  name: "Gäste Bad"
              },
              {
                  entity: "cover.hannah",
                  name: "Hannah"
              },
              {
                  entity: "cover.kuche",
                  name: "Küche"
              },        
              {
                  entity: "cover.kuche_esszimmer",
                  name: "Küche/Esszimmer"
              },
              {
                  entity: "cover.schlafen_ankleide",
                  name: "Schlafen/Ankleide"
              },
              {
                  entity: "cover.schlafzimmer",
                  name: "Schlafzimmer"
              },
              {
                  entity: "cover.wohnzimmer",
                  name: "Wohnzimmer"
              },
              
          ];
           let perimeterShutterSections = []
          perimeterShutter.forEach((item, i) => {
              perimeterShutterSections.push({
                  triggerEntities: [
                      item.entity
                  ],
                  displayTemplate: `
                  {% if states.${item.entity}.attributes.current_position < 50 %}<i class='mdi mdi-windows-shutter'></i> ${item.name}{% endif %}
                  `,
                  class: "shutter"
          	
          })});
          
          
          let perimeterWindows = [
              {
                  entity: "binary_sensor.fensterkontakt_ankleide_contact",
                  name: "Ankleide Fenster"
              },
              {
                  entity: "binary_sensor.fensterkontakt_ankleideschlafzimmer_contact",
                  name: "Babsy Garten Fenster"
              },
              {
                  entity: "binary_sensor.lumi_lumi_sensor_magnet_aq2_251d9b06_on_off",
                  name: "Babsy Straße Fenster"
              },
              {
                  entity: "binary_sensor.lumi_lumi_sensor_magnet_aq2_11c19306_on_off",
                  name: "Ben Fenster"
              },
              {
                  entity: "binary_sensor.lumi_lumi_sensor_magnet_aq2_5d8d8b06_on_off",
                  name: "Essen/Wohnen Fenster"
              },
              {
                  entity: "binary_sensor.lumi_lumi_sensor_magnet_aq2_25c19306_on_off",
                  name: "Gäste Bad Fenster"
              },
              {
                  entity: "binary_sensor.lumi_lumi_sensor_magnet_aq2_d3c99a06_on_off",
                  name: "Hannah Fenster"
              },
              {
                  entity: "binary_sensor.lumi_lumi_sensor_magnet_aq2_54428b06_on_off",
                  name: "Küche Fenster"
              },        
              {
                  entity: "binary_sensor.lumi_lumi_sensor_magnet_aq2_e1379b06_on_off",
                  name: "Küche/Esszimmer Fenster"
              },
              {
                  entity: "binary_sensor.lumi_lumi_sensor_magnet_aq2_dcb49306_on_off",
                  name: "Schlafen/Ankleide Fenster"
              },
              {
                  entity: "binary_sensor.lumi_lumi_sensor_magnet_aq2_d60e9d06_on_off",
                  name: "Schlafzimmer Fenster"
              },
              {
                  entity: "binary_sensor.lumi_lumi_sensor_magnet_aq2_9f518b06_on_off",
                  name: "Wohnzimmer Fenster"
              },
              {
                  entity: "binary_sensor.tur_garage_door",
                  name: "Garagen Fenster"
              },
              {
                  entity: "binary_sensor.lumi_lumi_sensor_magnet_aq2_35418b06_on_off",
                  name: "Karl Fenster"
              },
              {
                  entity: "binary_sensor.lumi_lumi_sensor_magnet_aq2_86169b06_on_off",
                  name: "Bad OG Fenster"
              },
              {
                  entity: "binary_sensor.lumi_lumi_sensor_magnet_aq2_on_off",
                  name: "Eingangstür"
              }, 
              {
                  entity: "binary_sensor.nuki_garage_locked",
                  name: "Nuki Garage"
              },    
              {
                  entity: "binary_sensor.nuki_htr_locked",
                  name: "Nuki HTR"
              },    
          ];
          
          let perimeterWindowSections = []
          perimeterWindows.forEach((item, i) => {
              perimeterWindowSections.push({
                  triggerEntities: [
                      item.entity
                  ],
                  displayTemplate: `
                  {% if states.${item.entity}.state == "on"  %}<i class='mdi mdi-window-open'></i> ${item.name}{% endif %}
                  `,
                  class: "window"
          })});
          
          
          let config = {
          	address: "localhost",	// Address to listen on, can be:
          							// - "localhost", "127.0.0.1", "::1" to listen on loopback interface
          							// - another specific IPv4/6 to listen on a specific interface
          							// - "0.0.0.0", "::" to listen on any interface
          							// Default, when address config is left out or empty, is "localhost"
          	port: 8080,
          	basePath: "/",			// The URL path where MagicMirror² is hosted. If you are using a Reverse proxy
          					  		// you must set the sub path here. basePath must end with a /
          	ipWhitelist: [],	// Set [] to allow all IP addresses
          															// or add a specific IPv4 of 192.168.1.5 :
          															// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"],
          															// or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
          															// ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"],
          
          	useHttps: false, 		// Support HTTPS or not, default "false" will use HTTP
          	httpsPrivateKey: "", 	// HTTPS private key path, only require when useHttps is true
          	httpsCertificate: "", 	// HTTPS Certificate path, only require when useHttps is true
          
          	language: "de",
          	locale: "de-DE",
          	logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging
          	timeFormat: 24,
          	units: "metric",
          
          	modules: [
          	
          
          		{	module: 'MMM-homeassistant-sensors',
          			position: 'bottom_left',
          			config: {
          			host: "xxx.xxx.xxx.xxx",
          				token: "xxxxx" ,
          				port: "8123",
          				https: false,
          				prettyName: false,
          				stripName: false,
          				debuglogging: false,
          				title: "Rolladen zu",
          				useModuleTigger: false,
          				class: "Shutter",
          				sections: [
          				    ...perimeterWindowSections,
          				]
          		 }
          		},
          
          		{	module: 'MMM-homeassistant-sensors',
          			position: 'bottom_center',
          			config: {
          				host: "xxx.xxx.xxx.xxx",
          				port: "8123",
          				https: false,
          				token: "xxx" ,
          				prettyName: false,
          				stripName: false,
          				debuglogging: false,
          				title:" Fenster",
          				values: [{
          					sensor: "binary_sensor.fensterkontakt_ankleide_contact",
          					name: "Ankleide",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "binary_sensor.fensterkontakt_babsy_garten_contact",
          					name: "Arbeitszimmer Unten Garten",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "binary_sensor.fensterkontakt_babsy_strasse_contact",
          					name: "Arbeitszimmer Unten Straße",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "binary_sensor.fensterkontakt_ben_contact",
          					name: "Ben",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "binary_sensor.fensterkontakt_kuche_esszimmer_contact",
          					name: "Essen/Wohnen",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "binary_sensor.fensterkontakt_bad_ug_contact",
          					name: "Gäste Bad",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "binary_sensor.fensterkontakt_hannah_contact",
          					name: "Hannah",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "binary_sensor.fensterkontakt_kuche_contact",
          					name: "Küche",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "binary_sensor.fensterkontakt_esszimmer_contact",
          					name: "Küche/Esszimmer",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "binary_sensor.fensterkontakt_ankleideschlafzimmer_contact",
          					name: "Schlafen/Ankleide",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "binary_sensor.fensterkontakt_schlafzimmer_contact",
          					name: "Schlafzimmer",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "binary_sensor.fensterkontakt_wohnzimmer_contact",
          					name: "Wohnzimmer",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "binary_sensor.tur_garage_door",
          					name: "Garage Tür",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "binary_sensor.fensterkontakt_karl_contact",
          					name: "Arbeitszimmeroben",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "binary_sensor.fensterkontakt_bad_og_contact",
          					name: "Bad OG",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "binary_sensor.eingangstur_kontakt_contact",
          					name: "Eingangstür",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "binary_sensor.nuki_garage_locked",
          					name: "Nuki Garage",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "binary_sensor.nuki_htr_locked",
          					name: "Nuki HTR",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},			
          					]
          				},
          				
          		},			
          		   
          		
          		{	module: 'MMM-homeassistant-sensors',
          			position: 'bottom_right',
          			config: {
          				host: "xxx.xxx.xxx.xxx",
          				port: "8123",
          				https: false,
          				token: "xxx" ,
          				prettyName: false,
          				stripName: false,
          				debuglogging: false,
          				title:" Rolladen",
          				values: [{
          					sensor: "cover.wohnzimmer",
          					name: "Wohnzimmer",	
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},
          				{
          					sensor: "cover.schlafzimmer",
          					name: "Schlafzimmer",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				}, {
          					sensor: "cover.hannah",
          					name: "Hannah",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "cover.ben",
          					name: "Ben",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "cover.ankleide",
          					name: "Ankleide",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "cover.babsygarten",
          					name: "Arbeitszimmer Unten Garten",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "cover.babsystrasse",
          					name: "Arbeitszimmer Unten Straße",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "cover.essen_wohnen",
          					name: "Esszimmer Wohnzimmer",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "cover.gastebad",
          					name: "Bad unten",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "cover.kuche",
          					name: "Küche",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "cover.kuche_esszimmer",
          					name: "Küche/Esszimmer",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},{
          					sensor: "cover.schlafen_ankleide",
          					name: "Schlafzimmer/Ankleide",
          					alertThreshold: 50,
          					icons: [{
          							"default": "window-shutter"
          						}
          					]
          				},			
          					]
          				},
          		},
          				
          		
          	]
          };
          
          /*************** DO NOT EDIT THE LINE BELOW ***************/
          if (typeof module !== "undefined") {module.exports = config;}
          
          1 Reply Last reply Reply Quote 0
          • D Offline
            DrKaMo @sdetweil
            last edited by

            this is the code, I would like if a fixed is closed (status false) that this is not displayed. Unfortunately this was not displayed in your link.

            S 1 Reply Last reply Reply Quote 0
            • S Offline
              sdetweil @DrKaMo
              last edited by

              @DrKaMo said in Visibility of variables:

              I would like if a fixed is closed (status false)

              what is a ‘fixed’?

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              D 1 Reply Last reply Reply Quote 0
              • D Offline
                DrKaMo @sdetweil
                last edited by

                @sdetweil I only want to display the windows that are open. I have already tried this link but apparently my variable does not have the state bit but only the bit itself.

                S 2 Replies Last reply Reply Quote 0
                • S Offline
                  sdetweil @DrKaMo
                  last edited by sdetweil

                  @DrKaMo I have a garage door that is a ‘cover’ type device

                  my config (copied from the sample )

                  let perimeterWindowSections = [];
                  perimeterWindows.forEach((item, i) => {
                      perimeterWindowSections.push({
                          triggerEntities: [
                              item.entity
                          ],
                          displayTemplate: `
                          {% if states.${item.entity}.state == "open" %}<i class='mdi mdi-window-open'></i> ${item.name}{% endif %}
                          `,
                          class: "window"
                      });
                  });
                  

                  and it changes immediately when the door is opened and closed…

                  if I change entity state === ‘closed’ then it shows(as it IS closed) when closed , and not if its ‘open’

                  the module config itself

                  {
                      module: 'MMM-HomeAssistantDisplay',
                      position: 'top_right',
                      classes:"page2",
                      config: {
                          host: "xxx",
                          token: "..",
                          port: 8123,
                          useTLS: false,
                          title: "Open Windows",
                          useModuleTigger: false,
                          class: "windows",
                          sections: [
                              ...perimeterWindowSections,
                          ]
                      },
                  },
                  

                  I also used a light switch

                   {% if states.${item.entity}.state == "on" %}<i class='mdi mdi-window-open'></i> ${item.name}{% endif %}
                  

                  and it worked as expected, and the MM display responded immediately

                  so it looks like just getting the entity state value is what you need
                  if the entity is a switch , the states are on and off
                  if the entity is a cover, then the states are open and closed
                  and I checked with a binary sensor

                      {
                        entity: "binary_sensor.athom_garage_door_status",
                        name:"fooo"
                      }
                  

                  and it is on or off

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 0
                  • S Offline
                    sdetweil @DrKaMo
                    last edited by

                    @DrKaMo did you resolve this?

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    1 Reply Last reply Reply Quote 0
                    • 1 / 1
                    • 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