• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
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 584 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.
  • S Offline
    sdetweil @DrKaMo
    last edited by Dec 3, 2024, 12:25 PM

    @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 Dec 10, 2024, 9:11 AM Reply Quote 0
    • D Offline
      DrKaMo @sdetweil
      last edited by sdetweil Dec 10, 2024, 12:28 PM Dec 10, 2024, 9:11 AM

      @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 Dec 10, 2024, 9:20 AM

        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 Dec 10, 2024, 2:08 PM Reply Quote 0
        • S Offline
          sdetweil @DrKaMo
          last edited by Dec 10, 2024, 2:08 PM

          @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 Dec 10, 2024, 2:15 PM Reply Quote 0
          • D Offline
            DrKaMo @sdetweil
            last edited by Dec 10, 2024, 2:15 PM

            @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 Dec 10, 2024, 2:41 PM Reply Quote 0
            • S Offline
              sdetweil @DrKaMo
              last edited by sdetweil Dec 10, 2024, 2:48 PM Dec 10, 2024, 2:41 PM

              @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 Dec 22, 2024, 3:43 PM

                @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