Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Wert von Somfy IO Temperatursensor in K lesen und in neues Objekt in °C schreiben

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    533

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

Wert von Somfy IO Temperatursensor in K lesen und in neues Objekt in °C schreiben

Scheduled Pinned Locked Moved Skripten / Logik
4 Posts 2 Posters 840 Views
  • 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.
  • R Offline
    R Offline
    ronny82
    wrote on last edited by
    #1

    Hallo zusammen,

    ich bin Neuling bei ioBroker und auch mit Javascript.

    Folgende Problemstellung:

    Mein Somy IO Temperatursensor, den ich über FHEM in ioBroker eingebunden habe liefert den Temperaturwert nur in °K. Ich möchte diesen nun also per Javascript in °C umrechnen und in ein neues Objekt zurückschreiben um diesen dann per Alexa abfragen zu können.

    Auslesen mit JS funktioniert:

    var tempK = getState("fhem.0.tahoma_11319490.TemperatureState");

    Mit createState kann ich auch einen neuen State anlegen:

    createState('tempC', 1, {name: 'WohnzimmerTemp', unit: '°C'});

    Würde nun gerne bei Änderung des Temperaturwertes das Script starten und den °C Wert in den neue State schreiben und verwende hierzu "on"

    __// On change

    //on('fhem.0.tahoma_11319490.TemperatureState', function (obj) {__

    Die Funktion setState funktioniert leider auch noch nicht:

    setState('tempC', getState("fhem.0.tahoma_11319490.TemperatureState")-273, true/ack/);

    Kann mir hier jemand dazu helfen?

    Vielen Dank!

    1 Reply Last reply
    0
    • paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #2
      const idTempK = 'fhem.0.tahoma_11319490.TemperatureState';
      const idTempC = 'javascript.' + instance + '.tempC';
      
      // Skriptstart
      setState(idTempC, getState(idTempK).val - 273.1, true);
      
      // Triggern bei Wertänderung
      on(idTempK, function(dp) {
         setState(idTempC, dp.state.val - 273.1, true);
      });
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Reply Last reply
      0
      • R Offline
        R Offline
        ronny82
        wrote on last edited by
        #3

        Hallo

        danke für die schnelle Antwort. Das Script funktioniert soweit und gibt die Temperatur in °C das Objekt "tempC" zurück.

        Besteht die Möglichkeit den Temperaturwert auf 1 Nachkommastelle zu runden, z.B. 20.1°C?

        Im Cloud Adapter wird das Objekt "tempC" unterschiedlich zu dem Objekt aus FHEM (ursprünglicher Wert in Kelvin) erkannt, dadurch kann der Wert mit Alexa nicht abgefragt werden. Wie kann hier die Geräteart geändert werden, vgl. Bild im Anhang.

        Danke im Voraus!

        MfG Ronny
        4404_cloud_adapter_temperatur.png

        1 Reply Last reply
        0
        • paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #4

          @ronny82:

          Besteht die Möglichkeit den Temperaturwert auf 1 Nachkommastelle zu runden, z.B. 20.1°C? `

             setState(idTempC,  Math.round(10 * (dp.state.val - 273.1)) / 10, true);
          
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          Support us

          ioBroker
          Community Adapters
          Donate

          664

          Online

          32.7k

          Users

          82.5k

          Topics

          1.3m

          Posts
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Home
          • Recent
          • Tags
          • Unread 0
          • Categories
          • Unreplied
          • Popular
          • GitHub
          • Docu
          • Hilfe