Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Anfänger: Javascript Operator <= Problem [solved]

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Anfänger: Javascript Operator <= Problem [solved]

    This topic has been deleted. Only users with topic management privileges can see it.
    • Johannes Bauerstatter
      Johannes Bauerstatter last edited by Johannes Bauerstatter

      Hallo,

      habe folgenden Datenpunkt:

      {
        "from": "system.adapter.javascript.0",
        "user": "system.user.admin",
        "ts": 1602006860081,
        "common": {
          "name": "EGStrom DS18B20  Temperature",
          "type": "number",
          "role": "variable",
          "unit": "°C",
          "read": true,
          "write": false,
          "alias": {
            "id": "sonoff.0.EGStrom.DS18B20_Temperature"
          },
          "custom": {
            "sourceanalytix.0": {
              "enabled": true,
              "alias": "",
              "selectedUnit": "automatisch",
              "costs": true,
              "consumption": true,
              "meter_values": true,
              "start_day": "",
              "start_week": "",
              "start_month": "",
              "start_quarter": "",
              "start_year": 0,
              "selectedPrice": "Wählen"
            },
            "influxdb.0": {
              "enabled": true,
              "changesOnly": false,
              "debounce": "1000",
              "retention": 0,
              "changesRelogInterval": 0,
              "changesMinDelta": 0,
              "storageType": "",
              "aliasId": ""
            }
          }
        },
        "native": {},
        "acl": {
          "object": 1638,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator",
          "state": 1638
        },
        "_id": "alias.0.Temperaturen.Wohnzimmer",
        "type": "state"
      }
      
      

      Der Datenpunkt zeigt folgendes unter Objekte an:
      0d7646a7-86ad-4d82-8460-6cb298d1281c-image.png

      und würde gerne dieses Simple Script ausführen lassen:

      const differenz = [
          'alias.0.Temperaturen.Wohnzimmer'/*EGStrom DS18B20  Temperature*/];
      
      on (differenz, function (obj) 
      {
          if ('alias.0.Temperaturen.Wohnzimmer' <= 23.5 ) 
          {sendTo("telegram.0", "send", {text: 'Heizung ausgefallen?'});} 
      });
      

      Hab schon alles versucht:

      • 23,5

      • 23.5

      • '23,5'

      • '23.5'

      Was mach ich falsch?

      Wenn es funktioniert möchte ich es noch um weitere Temp. erweitern. Das ist der Start, daher schon etwas umständlich für eine Abfrage.

      Asgothian 1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @Johannes Bauerstatter last edited by Asgothian

        @Johannes-Bauerstatter ersetz mal den Text in der if abfrage durch

        obj.State.Val
        

        So wie du es machst vergleichst du den datenpunktnamen mit einer Zahl. Das bringt selten das gewünschte Ergebnis.
        A.

        UncleSam 1 Reply Last reply Reply Quote 0
        • UncleSam
          UncleSam Developer @Asgothian last edited by

          @Asgothian sagte in Anfänger: Javascript Operator <= Problem:

          @Johannes-Bauerstatter ersetz mal den Text in der if abfrage durch

          obj.State.Val
          

          So wie du es machst vergleichst du den datenpunktnamen mit einer Zahl. Das bringt selten das gewünschte Ergebnis.
          A.

          Gross/Kleinschreibung ist bei dir durcheinander geraten: es heisst obj.stat.val

          Asgothian 1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @UncleSam last edited by

            @UncleSam

            Danke für die Korrektur. Und mist Autokorrektur 😉
            A.

            Johannes Bauerstatter 1 Reply Last reply Reply Quote 0
            • Johannes Bauerstatter
              Johannes Bauerstatter @Asgothian last edited by

              Vielen Dank.

              Würde erweitert so funktionieren?

              //notwendige Veränderungen um das Script zu durchlaufen
              const differenz = [
                  'alias.0.Temperaturen.Wohnzimmer'/*EGStrom DS18B20  Temperature*/,
                  'alias.0.Temperaturen.Vorhaus_EG'/*Wemos Kueche Vorhaus/DS18B/Temperature*/];
              
              //Script
              on (differenz, function (obj) 
              {
                  var Wohnz = getState('alias.0.Temperaturen.Wohnzimmer').val;       //Temp. von Wohnzimmer einlesen
                  var Vorha = getState('alias.0.Temperaturen.Vorhaus_EG').val;       //Temp. von Vorhau einlesen
              
                  if ((Wohnz <= 22.5) && (Vorha <= 20))                              //Bedingung
                  {sendTo("telegram.0", "send", {text: 'Heizung ausgefallen?'});}    //Aktion
              });
              

              Sind meine Kommentare auch richtig? Ich versuche Java zu lernen für Iobroker daher noch so überborden. 🙂

              Asgothian 1 Reply Last reply Reply Quote 0
              • Asgothian
                Asgothian Developer @Johannes Bauerstatter last edited by Asgothian

                @Johannes-Bauerstatter sagte in Anfänger: Javascript Operator <= Problem:

                Sind meine Kommentare auch richtig? Ich versuche Java zu lernen für Iobroker daher noch so überborden.

                Das passt so. Aber: du lernst JavaScript. Java ist eine ganz andere Sprache.

                A.

                Johannes Bauerstatter 1 Reply Last reply Reply Quote 0
                • Johannes Bauerstatter
                  Johannes Bauerstatter @Asgothian last edited by

                  @Asgothian Danke. Sorry, meinte Javascript.

                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post

                  Support us

                  ioBroker
                  Community Adapters
                  Donate
                  FAQ Cloud / IOT
                  HowTo: Node.js-Update
                  HowTo: Backup/Restore
                  Downloads
                  BLOG

                  558
                  Online

                  31.9k
                  Users

                  80.3k
                  Topics

                  1.3m
                  Posts

                  anfägerfrage javascript operator temperatur auslesen
                  3
                  7
                  281
                  Loading More Posts
                  • Oldest to Newest
                  • Newest to Oldest
                  • Most Votes
                  Reply
                  • Reply as topic
                  Log in to reply
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                  The ioBroker Community 2014-2023
                  logo