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.

    help converting code for module...

    Scheduled Pinned Locked Moved Development
    21 Posts 4 Posters 7.6k 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.
    • justjim1220J Offline
      justjim1220 Module Developer
      last edited by

      Anybody know how I can turn the following :

      function Get-Temperature {
      $t = Get-WmiObject MSAcpi_ThermalZoneTemperature -Namespace "root/wmi" | where -Property instancename -EQ "ACPI\ThermalZone\TZ01_0"
      
      $currentTempKelvin = $t.CurrentTemperature / 10
      $currentTempCelsius = $currentTempKelvin - 273.15
      
      $currentTempFahrenheit = (9/5) * $currentTempCelsius + 32
      
      return $currentTempCelsius.ToString() + " C : " + $currentTempFahrenheit.ToString() + " F : " + $currentTempKelvin + "K"  
      }
      

      into MM module fomat?

      I tried this:

      getTemperature: function() {
      		t = getWmiObject = MSAcpi_ThermalZoneTemperature (Namespace = "root/wmi" | where (Property = instancename) (EQ = "ACPI\ThermalZone\TZ01_0"));
      		
      	    currentTempKelvin = $t.CurrentTemperature / 10;
      		currentTempCelsius = $currentTempKelvin - 273.15;
      		
      		currentTempFahrenheit = (9/5) * $currentTempCelsius + 32;
      		
      		return currentTempCelsius.ToString() + " C : " + currentTempFahrenheit.ToString() + " F : " + currentTempKelvin + "K";
      	},
      

      didn’t get any errors, but didn’t get any resulting expected outcome either…

      Any hints would be greatly appreciated!!!
      Thanks in advance! :upside-down_face:

      "Life's Too Short To Dance With Ugly People"
      Jim Hallock - 1995

      strawberry 3.141S 1 Reply Last reply Reply Quote 0
      • strawberry 3.141S Offline
        strawberry 3.141 Project Sponsor Module Developer @justjim1220
        last edited by

        @justjim1220 this is not JavaScript, there are errors on all lines. Not sure why you didn’t see errors, are you sure you called that function?

        Please create a github issue if you need help, so I can keep track

        justjim1220J 1 Reply Last reply Reply Quote 0
        • justjim1220J Offline
          justjim1220 Module Developer @strawberry 3.141
          last edited by

          @strawberry-3-141

          yeah, sorry, I see some of the errors, but not all of them.

          Want to hint me a little?

          "Life's Too Short To Dance With Ugly People"
          Jim Hallock - 1995

          1 Reply Last reply Reply Quote 0
          • justjim1220J Offline
            justjim1220 Module Developer
            last edited by justjim1220

            I need to know how to reconfigure the second line for this work in an MM module…

            getTemperature: function() {
            	var t = getWmiObject = MSAcpi_ThermalZoneTemperature(Namespace = "root/wmi" | where (Property = instancename) && (EQ = "ACPI\ThermalZone\TZ01_0"));
            	currentTempKelvin = t.CurrentTemperature / 10;
            	currentTempCelsius = currentTempKelvin - 273.15;
            	currentTempFahrenheit = (9/5) * currentTempCelsius + 32;		
            	return currentTempCelsius + " C " + currentTempFahrenheit + " F : " + currentTempKelvin + "K";
            },
            

            I’m pretty sure rest of the function is ok. But, I could be wrong! :disappointed_face:

            "Life's Too Short To Dance With Ugly People"
            Jim Hallock - 1995

            1 Reply Last reply Reply Quote 0
            • justjim1220J Offline
              justjim1220 Module Developer
              last edited by justjim1220

              latest attempt with this code…

              var checkSensorTemps = Temps["\root\wmi:MSAcpi_ThermalZoneTemperature"]["ACPI\ThermalZone"]["THRM_0"];
              if (typeof checkSensorTemps !== "undefined") {
              
              	// Core Temps
              	var core0Temp = document.createElement("div");
              	core0Temp.classList.add("large", "bright", "core0Temp");
              	core0Temp.innerHTML = Stats.cpu.threads[i].name + " &nbsp  @  &nbsp " 
              		+ ((Temps["\root\wmi:MSAcpi_ThermalZoneTemperature"]["ACPI\ThermalZone"]["THRM_0"].value / 10) -273.15) + " °C "
              		+ ((((Temps["\root\wmi:MSAcpi_ThermalZoneTemperature"]["ACPI\ThermalZone"]["THRM_0"].value / 10) -273.15) * 9/5) + 32) + " °F "
              		+ (Temps["\root\wmi:MSAcpi_ThermalZoneTemperature"]["ACPI\ThermalZone"]["THRM_0"].value  / 10) + "°K";
              	wrapper.appendChild(core0Temp);
              }
              

              HELP! LMAO! :face_with_stuck-out_tongue_winking_eye:

              "Life's Too Short To Dance With Ugly People"
              Jim Hallock - 1995

              strawberry 3.141S 1 Reply Last reply Reply Quote 0
              • strawberry 3.141S Offline
                strawberry 3.141 Project Sponsor Module Developer @justjim1220
                last edited by strawberry 3.141

                @justjim1220 do you have a log of the structure of Temps

                Please create a github issue if you need help, so I can keep track

                justjim1220J 2 Replies Last reply Reply Quote 0
                • justjim1220J Offline
                  justjim1220 Module Developer @strawberry 3.141
                  last edited by

                  @strawberry-3-141

                  PS C:\WINDOWS\system32> powershell.exe Get-WmiObject MSAcpi_ThermalZoneTemperature -Namespace "root/wmi"
                  
                  
                  __GENUS              : 2
                  __CLASS              : MSAcpi_ThermalZoneTemperature
                  __SUPERCLASS         : MSAcpi
                  __DYNASTY            : MSAcpi
                  __RELPATH            : MSAcpi_ThermalZoneTemperature.InstanceName="ACPI\\ThermalZone\\THRM_0"
                  __PROPERTY_COUNT     : 12
                  __DERIVATION         : {MSAcpi}
                  __SERVER             : DESKTOP-BEUARKC
                  __NAMESPACE          : root\wmi
                  __PATH               : \\DESKTOP-BEUARKC\root\wmi:MSAcpi_ThermalZoneTemperature.InstanceName="ACPI\\ThermalZone\\THRM_0
                                         "
                  Active               : True
                  ActiveTripPoint      : {0, 0, 0, 0...}
                  ActiveTripPointCount : 0
                  CriticalTripPoint    : 3762
                  CurrentTemperature   : 3172
                  InstanceName         : ACPI\ThermalZone\THRM_0
                  PassiveTripPoint     : 3882
                  Reserved             : 0
                  SamplingPeriod       : 100
                  ThermalConstant1     : 2
                  ThermalConstant2     : 10
                  ThermalStamp         : 25
                  PSComputerName       : DESKTOP-BEUARKC
                  

                  "Life's Too Short To Dance With Ugly People"
                  Jim Hallock - 1995

                  1 Reply Last reply Reply Quote 0
                  • justjim1220J Offline
                    justjim1220 Module Developer @strawberry 3.141
                    last edited by

                    @strawberry-3-141

                    this script ran in powershell …

                    function Get-Temperature {
                        $t = Get-WmiObject MSAcpi_ThermalZoneTemperature -Namespace "root/wmi"
                        $returntemp = @()
                    
                        foreach ($temp in $t.CurrentTemperature)
                        {
                            $currentTempKelvin = $temp / 10
                            $currentTempCelsius = $currentTempKelvin - 273.15
                            $currentTempFahrenheit = (9/5) * $currentTempCelsius + 32
                            $returntemp += $currentTempCelsius.ToString() + " C : " + $currentTempFahrenheit.ToString() + " F : " + $currentTempKelvin + "K"  
                        }
                        return $returntemp
                    }
                    

                    gives the following output for a single core …

                    PS C:\WINDOWS\system32> get-temperature
                    44.05 C : 111.29 F : 317.2K
                    

                    I’m really only interested in a C and F result, no need for K that I can think of.

                    "Life's Too Short To Dance With Ugly People"
                    Jim Hallock - 1995

                    strawberry 3.141S 1 Reply Last reply Reply Quote 0
                    • strawberry 3.141S Offline
                      strawberry 3.141 Project Sponsor Module Developer @justjim1220
                      last edited by

                      @justjim1220 I can’t work with your powershell logs. You’re trying to access the variable Temps in js like your first line. var checkSensorTemps = Temps["\root\wmi:MSAcpi_ThermalZoneTemperature"]["ACPI\ThermalZone"]["THRM_0"];
                      can you do console.log(Temps) so I can see the structure?

                      Please create a github issue if you need help, so I can keep track

                      justjim1220J 3 Replies Last reply Reply Quote 0
                      • justjim1220J Offline
                        justjim1220 Module Developer @strawberry 3.141
                        last edited by

                        @strawberry-3-141

                        it throws this error…

                        Uncaught (in promise) ReferenceError: Temps is not defined
                            at Class.getDom (MMM-PC-Stats.js:103)
                            at main.js:110
                            at new Promise (<anonymous>)
                            at updateDom (main.js:109)
                            at Object.updateDom (main.js:514)
                            at Class.updateDom (module.js:358)
                            at Class.socketNotificationReceived (MMM-PC-Stats.js:218)
                            at module.js:246
                            at r.<anonymous> (socketclient.js:25)
                            at r.emit (index.js:133)
                        

                        "Life's Too Short To Dance With Ugly People"
                        Jim Hallock - 1995

                        strawberry 3.141S 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 1 / 3
                        • 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