• 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.

MMM-Tado wrong units

Scheduled Pinned Locked Moved Troubleshooting
28 Posts 3 Posters 3.7k Views 4 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 @Stoffbeuteluwe
    last edited by May 31, 2020, 2:20 PM

    @Stoffbeuteluwe so, the original code should have worked…

    Sam

    How to add modules

    learning how to use browser developers window for css changes

    S 1 Reply Last reply May 31, 2020, 2:32 PM Reply Quote 0
    • S Offline
      Stoffbeuteluwe Project Sponsor @sdetweil
      last edited by May 31, 2020, 2:32 PM

      @sdetweil without your fix it does not work in my case

      S 1 Reply Last reply May 31, 2020, 2:34 PM Reply Quote 0
      • S Offline
        sdetweil @Stoffbeuteluwe
        last edited by May 31, 2020, 2:34 PM

        @Stoffbeuteluwe hmm…

        can u share the top of your config.js, before the modules:[ line

        thanks

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        S 1 Reply Last reply Jun 5, 2020, 9:44 PM Reply Quote 0
        • S Offline
          Stoffbeuteluwe Project Sponsor @sdetweil
          last edited by Jun 5, 2020, 9:44 PM

          @sdetweil Hello, after module update same problem
          and your fix don’t work anymore…can you help me again?

          var config = {
          	address: "0.0.0.0", // Address to listen on, can be:
          	                      // - "0.0.0.0", "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, is "0.0.0.0"
          	port: 8080,
          	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"],
          
          	language: "de",
          	timeFormat: 24,
          	units: "metric",
          
          	modules: [
          
          S 1 Reply Last reply Jun 6, 2020, 3:08 AM Reply Quote 0
          • S Offline
            sdetweil @Stoffbeuteluwe
            last edited by Jun 6, 2020, 3:08 AM

            @Stoffbeuteluwe ok, need an editor for this…

            line 26 of MMM-Tado.js, leave alone

            change all the other this.config.units to self.config.units

            change them all, then change line 26 back to this.

            I have opened issue 11
            https://github.com/WouterEekhout/MMM-Tado/issues/11

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            S 1 Reply Last reply Jun 6, 2020, 5:11 AM Reply Quote 0
            • S Offline
              Stoffbeuteluwe Project Sponsor @sdetweil
              last edited by Stoffbeuteluwe Jun 6, 2020, 5:14 AM Jun 6, 2020, 5:11 AM

              @sdetweil no luck…sorry, I have changed 4x this into self
              but I am not sure with the line 26

              /**
               * Created by Wouter Eekhout on 06/01/2017.
               */
              Module.register("MMM-Tado", {
                  // Default module config.
                  defaults: {
                      username: '',
                      password: '',
                      updateInterval: 300000,
                  },
              
                  tadoMe: {},
                  tadoHomes: [],
              
                  getStyles: function () {
                      return [
                          this.file('css/MMM-Tado.css'),
                      ];
                  },
              
                  start: function () {
                      if (this.config.updateInterval < this.defaults.updateInterval){
                          this.config.updateInterval = this.defaults.updateInterval;
                      }
              
                      this.config.units = self.config.units;
                      this.sendSocketNotification('CONFIG', this.config);
                  },
              
                  // Override dom generator.
                  getDom: function () {
                      let self = this;
                      let wrapper = document.createElement("div");
                      wrapper.className = "tado-info";
              
                      this.tadoHomes.forEach(home => {
                          let homeWrapper = document.createElement("div");
                          homeWrapper.className = "tado-home";
              
                          let logoWrapper = document.createElement("i");
                          logoWrapper.className = "tado-icon-tado_logo tado-logo";
                          homeWrapper.appendChild(logoWrapper);
              
                          let tableWrapper = document.createElement("table");
                          tableWrapper.className = "tado-table small";
              
                          home.zones.forEach(zone => {
                              let rowWrapper = document.createElement("tr");
              
                              if (zone.type === "HOT_WATER") {
                                  let firstTableDataWrapper = document.createElement("td");
                                  firstTableDataWrapper.className = "tado-table-name";
              
                                  let zoneNameWrapper = document.createElement("span");
                                  zoneNameWrapper.innerText = zone.name;
                                  firstTableDataWrapper.appendChild(zoneNameWrapper);
                                  rowWrapper.appendChild(firstTableDataWrapper);
              
                                  let secondTableDateWrapper = document.createElement("td");
                                  secondTableDateWrapper.className = "tado-table-data";
              
                                  let temperatureWrapper = document.createElement("span");
                                  let temperatureIconWrapper = document.createElement("i");
                                  temperatureIconWrapper.className = "fa fa-thermometer-half";
                                  temperatureWrapper.appendChild(temperatureIconWrapper);
                                  if (zone.state.setting.temperature == null) {
                                      var temperatureTextWrapper = document.createTextNode(zone.state.setting.power);
                                  } else {
                                      if (self.config.units === "metric") {
                                          var temperatureTextWrapper = document.createTextNode(zone.state.setting.temperature.celsius + "°");
                                      } else {
                                          var temperatureTextWrapper = document.createTextNode(zone.state.setting.temperature.fahrenheit + "°");
                                      }
                                  }
                                  temperatureWrapper.appendChild(temperatureTextWrapper);
                                  secondTableDateWrapper.appendChild(temperatureWrapper);
              
                                  rowWrapper.appendChild(secondTableDateWrapper);
                              }
                              else if (zone.type === "HEATING") {
                                  let firstTableDataWrapper = document.createElement("td");
                                  firstTableDataWrapper.className = "tado-table-name";
              
                                  let zoneNameWrapper = document.createElement("span");
                                  zoneNameWrapper.innerText = zone.name;
                                  firstTableDataWrapper.appendChild(zoneNameWrapper);
                                  rowWrapper.appendChild(firstTableDataWrapper);
              
                                  let secondTableDateWrapper = document.createElement("td");
                                  secondTableDateWrapper.className = "tado-table-data";
              
                                  //current temperature
                                  let temperatureWrapper = document.createElement("span");
                                  temperatureWrapper.className = "bright";
                                  let temperatureIconWrapper = document.createElement("i");
                                  temperatureIconWrapper.className = "fa fa-thermometer-half";
                                  temperatureWrapper.appendChild(temperatureIconWrapper);
                                  if (self.config.units === "metric") {
                                      var temperatureTextWrapper = document.createTextNode(zone.state.sensorDataPoints.insideTemperature.celsius + "°");
                                  } else {
                                      var temperatureTextWrapper = document.createTextNode(zone.state.sensorDataPoints.insideTemperature.fahrenheit + "°");
                                  }
                                  temperatureWrapper.appendChild(temperatureTextWrapper);
                                  if (zone.state.activityDataPoints.heatingPower.percentage > 0) {
                                      //The zone is heating
                                      let heatingWrapper = document.createElement("i");
                                      heatingWrapper.className = "fa fa-fire bright";
                                      temperatureWrapper.appendChild(heatingWrapper);
                                  }
                                  secondTableDateWrapper.appendChild(temperatureWrapper);
              
                                  //target temperature
                                  let temperatureTargetWrapper = document.createElement("span");
                                  temperatureTargetWrapper.className = "xsmall";
                                  let temperatureTargetIconWrapper = document.createElement("i");
                                  temperatureTargetIconWrapper.className = "fa fa-thermometer-half";
                                  temperatureTargetWrapper.appendChild(temperatureTargetIconWrapper);
                                  if (zone.state.setting.temperature == null) {
                                      var temperatureTargetTextWrapper = document.createTextNode(zone.state.setting.power);
                                  } else {
                                      if (self.config.units === "metric") {
                                          var temperatureTargetTextWrapper = document.createTextNode(zone.state.setting.temperature.celsius + "°");
                                      } else {
                                          var temperatureTargetTextWrapper = document.createTextNode(zone.state.setting.temperature.fahrenheit + "°");
                                      }
                                  }
                                  temperatureTargetWrapper.appendChild(temperatureTargetTextWrapper);
                                  secondTableDateWrapper.appendChild(temperatureTargetWrapper);
              
                                  let breakLine = document.createElement("br");
                                  secondTableDateWrapper.appendChild(breakLine);
              
                                  let humidityWrapper = document.createElement("span");
                                  let humidityIconWrapper = document.createElement("i");
                                  humidityIconWrapper.className = "fa fa-tint";
                                  humidityWrapper.appendChild(humidityIconWrapper);
                                  let humidityTextWrapper = document.createTextNode(zone.state.sensorDataPoints.humidity.percentage + "%");
                                  humidityWrapper.appendChild(humidityTextWrapper);
                                  secondTableDateWrapper.appendChild(humidityWrapper);
              
                                  rowWrapper.appendChild(secondTableDateWrapper);
                              }
                              else if (zone.type === "AIR_CONDITIONING") {
                                  let firstTableDataWrapper = document.createElement("td");
                                  firstTableDataWrapper.className = "tado-table-name";
              
                                  let zoneNameWrapper = document.createElement("span");
                                  zoneNameWrapper.innerText = zone.name;
                                  firstTableDataWrapper.appendChild(zoneNameWrapper);
                                  rowWrapper.appendChild(firstTableDataWrapper);
              
                                  let secondTableDateWrapper = document.createElement("td");
                                  secondTableDateWrapper.className = "tado-table-data";
              
                                  //current temperature
                                  let temperatureWrapper = document.createElement("span");
                                  temperatureWrapper.className = "bright";
                                  let temperatureIconWrapper = document.createElement("i");
                                  temperatureIconWrapper.className = "fa fa-thermometer-half";
                                  temperatureWrapper.appendChild(temperatureIconWrapper);
                                  if (self.config.units === "metric") {
                                      var temperatureTextWrapper = document.createTextNode(zone.state.sensorDataPoints.insideTemperature.celsius + "°");
                                  } else {
                                      var temperatureTextWrapper = document.createTextNode(zone.state.sensorDataPoints.insideTemperature.fahrenheit + "°");
                                  }
                                  temperatureWrapper.appendChild(temperatureTextWrapper);
                                  if (zone.state.setting.mode === "HEAT") {
                                      //The zone is heating
                                      let heatingWrapper = document.createElement("i");
                                      heatingWrapper.className = "fa fa-fire bright";
                                      temperatureWrapper.appendChild(heatingWrapper);
                                  }
                                  else if (zone.state.setting.mode === "COOL") {
                                      //The zone is cooling
                                      let coolingWrapper = document.createElement("i");
                                      coolingWrapper.className = "fa fa-snowflake bright";
                                      temperatureWrapper.appendChild(coolingWrapper);
                                  }
                                  secondTableDateWrapper.appendChild(temperatureWrapper);
              
                                  //target temperature
                                  let temperatureTargetWrapper = document.createElement("span");
                                  temperatureTargetWrapper.className = "xsmall";
                                  let temperatureTargetIconWrapper = document.createElement("i");
                                  temperatureTargetIconWrapper.className = "fa fa-thermometer-half";
                                  temperatureTargetWrapper.appendChild(temperatureTargetIconWrapper);
                                  if (zone.state.setting.temperature == null) {
                                      var temperatureTargetTextWrapper = document.createTextNode(zone.state.setting.power);
                                  } else {
                                      if (self.config.units === "metric") {
                                          var temperatureTargetTextWrapper = document.createTextNode(zone.state.setting.temperature.celsius + "°");
                                      } else {
                                          var temperatureTargetTextWrapper = document.createTextNode(zone.state.setting.temperature.fahrenheit + "°");
                                      }
                                  }
                                  temperatureTargetWrapper.appendChild(temperatureTargetTextWrapper);
                                  secondTableDateWrapper.appendChild(temperatureTargetWrapper);
              
                                  let breakLine = document.createElement("br");
                                  secondTableDateWrapper.appendChild(breakLine);
              
                                  let humidityWrapper = document.createElement("span");
                                  let humidityIconWrapper = document.createElement("i");
                                  humidityIconWrapper.className = "fa fa-tint";
                                  humidityWrapper.appendChild(humidityIconWrapper);
                                  let humidityTextWrapper = document.createTextNode(zone.state.sensorDataPoints.humidity.percentage + "%");
                                  humidityWrapper.appendChild(humidityTextWrapper);
                                  secondTableDateWrapper.appendChild(humidityWrapper);
              
                                  rowWrapper.appendChild(secondTableDateWrapper);
                              } else {
                                  //don't add it
                                  return;
                              }
              
                              tableWrapper.appendChild(rowWrapper);
                          });
              
                          homeWrapper.appendChild(tableWrapper);
                          wrapper.appendChild(homeWrapper);
                      });
                      return wrapper;
                  },
              
                  socketNotificationReceived: function(notification, payload) {
                      if (notification === 'NEW_DATA') {
                          this.tadoMe = payload.tadoMe;
                          this.tadoHomes = payload.tadoHomes;
                          this.updateDom();
                      }
                  }
              });
              
              S 2 Replies Last reply Jun 6, 2020, 5:16 AM Reply Quote 0
              • S Offline
                sdetweil @Stoffbeuteluwe
                last edited by Jun 6, 2020, 5:16 AM

                @Stoffbeuteluwe weird… i’ll be back on in about 6 hours, do you know how to use the debugger?
                ctrl-shift-i on teh keyboard, select the sources tab, navigate the left tree to find the module and filename, click
                shows in middle window

                scroll down to one of the if (self.config.units lines (make sure u have that type unit in the tado data)
                click the number on the start of the line, it should turn blue

                hit refresh

                the code will stop there
                mouse over the self and a box will pop up showing what self points to, then config
                same… units should say metric

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                StoffbeuteluweS 1 Reply Last reply Jun 7, 2020, 5:23 AM Reply Quote 0
                • S Offline
                  sdetweil @Stoffbeuteluwe
                  last edited by Jun 6, 2020, 5:17 AM

                  @Stoffbeuteluwe said in MMM-Tado wrong units:

                  but I am not sure with the line 26

                  nothing… it will copy the system units to the module units info

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 0
                  • W Offline
                    WouterEekhout
                    last edited by WouterEekhout Jun 6, 2020, 10:51 AM Jun 6, 2020, 10:49 AM

                    @Stoffbeuteluwe I’ve updated the code with the suggestions of @sdetweil . For now I put it into a separate branch. If this solutions works for you, I will push it to the master branch.

                    Execute the following:

                    git pull
                    git checkout incorrect_pointer_in_getdom
                    

                    Will you let us know if this solved your problem?

                    StoffbeuteluweS 1 Reply Last reply Jun 6, 2020, 6:56 PM Reply Quote 0
                    • StoffbeuteluweS Offline
                      Stoffbeuteluwe Project Sponsor @WouterEekhout
                      last edited by Jun 6, 2020, 6:56 PM

                      @WouterEekhout sorry does not work
                      98078648-D1EF-4A1B-B1F4-B0B0CB9913B5.jpeg

                      Last login: Sat Jun  6 20:48:53 on ttys000
                      patrickhahn@Patricks-Mini ~ % cd ~/MagicMirror/modules
                      patrickhahn@Patricks-Mini modules % git clone https://github.com/WouterEekhout/MMM-Tado
                      Cloning into 'MMM-Tado'...
                      remote: Enumerating objects: 47, done.
                      remote: Counting objects: 100% (47/47), done.
                      remote: Compressing objects: 100% (39/39), done.
                      remote: Total 152 (delta 22), reused 23 (delta 6), pack-reused 105
                      Receiving objects: 100% (152/152), 841.64 KiB | 973.00 KiB/s, done.
                      Resolving deltas: 100% (50/50), done.
                      patrickhahn@Patricks-Mini modules % cd MMM-Tado
                      patrickhahn@Patricks-Mini MMM-Tado % npm install
                      npm WARN deprecated simple-oauth2@2.5.2: simple-oauth2 v2 is no longer supported. Please upgrade to v3 for further support
                      npm WARN deprecated mkdirp@0.5.1: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
                      npm WARN deprecated wreck@14.2.0: This module has moved and is now available at @hapi/wreck. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.
                      npm WARN deprecated boom@7.3.0: This module has moved and is now available at @hapi/boom. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.
                      npm WARN deprecated bourne@1.1.2: This module has moved and is now available at @hapi/bourne. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.
                      npm WARN deprecated hoek@6.1.3: This module has moved and is now available at @hapi/hoek. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.
                      npm notice created a lockfile as package-lock.json. You should commit this file.
                      added 42 packages from 446 contributors and audited 42 packages in 5.628s
                      
                      1 package is looking for funding
                        run `npm fund` for details
                      
                      found 1 low severity vulnerability
                        run `npm audit fix` to fix them, or `npm audit` for details
                      patrickhahn@Patricks-Mini MMM-Tado % git pull
                      git checkout incorrect_pointer_in_getdom
                      Already up to date.
                      Branch 'incorrect_pointer_in_getdom' set up to track remote branch 'incorrect_pointer_in_getdom' from 'origin'.
                      Switched to a new branch 'incorrect_pointer_in_getdom'
                      patrickhahn@Patricks-Mini MMM-Tado % 
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 2 / 3
                      2 / 3
                      • First post
                        20/28
                        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