Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Alarmmeldung wenn Raumtemperatur unter einen bestimmten Wert fällt

    NEWS

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    Alarmmeldung wenn Raumtemperatur unter einen bestimmten Wert fällt

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

      @blackangel15741:

      Gehts auch ohne blockly? `

      Mit Javascript?

      on({
          id: /hm-rpc.*.TEMPERATURE/,
          ack :  true,
          change: "lt",
          valLt: 18,
          oldValGe: 18
          }, function(obj)
          {
              sendTo('telegram.0', {
                                      text:                   "Temperatur ist zur niedrig.",
                                      disable_notification:   true
                                   }
                      )
          }
      );
      
      

      Ist jetzt nur mal ein Beispiel, ich habe oben eine RegEx verwendet die evtl. zu viel mit einschließt.

      Grüße, Jens

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

        @blackangel15741:

        … eine Nachricht zu erhalten, wenn die Temperatur z.B. unter 18 Grad fällt. `
        Der Adapter iobroker.telegram muss installiert sein:

        on({id: 'idBadTemperatur', valLt: 18, oldValGe: 18}, function() {
            sendTo('telegram.0', 'Temperatur im Bad ist unter 18°C !');
        });
        

        EDIT: Jens war schneller 😮

        1 Reply Last reply Reply Quote 0
        • B
          blackangel15741 last edited by

          Super…..vielen Dank für die schnellen Antworten.

          Dann schaue ich mal ob ich das schaffe.

          Gibt es zu "Telegram" etwas zu beachten, oder ist alles selbsterklärend?

          Ich habe auch noch nie ein Script angelegt....kann mir das einer kurz erklären.

          Einfach Code kopieren und einsetzen mit ID vom Thermostat der aktuell gemessenen Temperatur ?

          1 Reply Last reply Reply Quote 0
          • lobomau
            lobomau last edited by

            @blackangel15741:

            Super…..vielen Dank für die schnellen Antworten.

            Dann schaue ich mal ob ich das schaffe.

            Gibt es zu "Telegram" etwas zu beachten, oder ist alles selbsterklärend?

            Ich habe auch noch nie ein Script angelegt....kann mir das einer kurz erklären.

            Einfach Code kopieren und einsetzen mit ID vom Thermostat der aktuell gemessenen Temperatur ? `
            Du wählst den Tab "Skripte" aus, "Neues Skript" (neben dem Pluszeichen), "Einginetyp" auf "Javascript/js" stellen und Text einfügen. Hinterher Skript starten (auf rotes Play drücken -> wird grün und Pausezeichen wird dargestellt.)

            Wenn du "Skripte" öffnest, ist standartmäßig "Blockly" vorgewählt. Lohnt sich das mal anzuschauen, wenn man (wie ich) nichts von javascript versteht.

            1 Reply Last reply Reply Quote 0
            • B
              blackangel15741 last edited by

              Und das dann nahtlos fortschreiben für jedes Thermostat?

              1 Reply Last reply Reply Quote 0
              • B
                blackangel15741 last edited by

                Also ich scheitere am Script.

                Ich dachte ich kann den code hier kopieren und bei Scripte einfügen.

                Aber das Einfügen geht nicht weiß auch nicht wo.

                Einginetyp" auf "Javascript/js" stellen …...diese Einstellung finde ich nicht.

                Kann mir jemand eine Step by Step Anleitung geben? Was muss ich wo eingeben.

                Telegram habe ich eingerichtet. Leuchtet grün.

                Ich habe 5 Thermostate welche ich einrichten möchte also bei individuellen Temperaturabfall

                z.B. Raum 1 Warnung bei 19 Grad

                Raum 2 Warnung bei 18 Gran usw. entsprechende Warnung.

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 last edited by

                  @blackangel15741:

                  Einginetyp" auf "Javascript/js" stellen …...diese Einstellung finde ich nicht. `
                  Den Javascript-Adapter hast Du installiert ?

                  Kennst Du http://www.iobroker.net/?page_id=156&lang=de ?

                  1 Reply Last reply Reply Quote 0
                  • B
                    blackangel15741 last edited by

                    Ok, danke.

                    Werde mich mal daran versuchen.

                    1 Reply Last reply Reply Quote 0
                    • B
                      blackangel15741 last edited by

                      Wie verbindet man nun das Script für 5 Thermostate?

                      Ich weiß nicht, wenn ich mich mit java nicht auskenne ob die Anleitung wirklich hilft.

                      Falls jemand eine einfache Kurzfassung hat oder eine Script

                      und mir verrät wie das genau geht, wäre es eventuell verständlicher.

                      Java hatte ich installiert und auch blockly entdeckt aber wie ich jetzt das Script dort einfügen kann

                      ist mir nicht klar.

                      1 Reply Last reply Reply Quote 0
                      • M
                        MistyReblaus last edited by

                        @blackangel15741:

                        Also ich scheitere am Script. `

                        Also mit einem müsstest Du Dich schon mal per Anleitung beschäftigen. Die Anleitungen sind eigentlich sehr gut und helfen einem schnell auf die Sprünge. Wenn Du nicht programmieren willst, versuch es doch einfach mal mit Blockly.

                        Grüße, Jens

                        1 Reply Last reply Reply Quote 0
                        • lobomau
                          lobomau last edited by

                          @blackangel15741:

                          Telegram habe ich eingerichtet. Leuchtet grün. `
                          Komplett installiert? Mit Bot usw… ? Gibt gutes youtube video dazu, ansonsten: https://github.com/ioBroker/ioBroker.te ... /README.md

                          1 Reply Last reply Reply Quote 0
                          • M
                            moebius last edited by

                            hier mit node-red. Schickt jetzt ein email - kannst aber natürlich auch andere Sachen machen (telegram zB).

                            Vorteil: ohne javascript, sensoren leicht hinzuzufügen````
                            [{"id":"27ba5893.2c68a8","type":"tab","label":"Alarm Message"},{"id":"6c52f0ab.fa037","type":"template","z":"27ba5893.2c68a8","name":"prepare message","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"Achtung! Sensor '{{topic}}' mißt {{payload}}°C!","x":1031,"y":299,"wires":[["cbd6609a.60fc1"]]},{"id":"8f3e6a0.1339b98","type":"ioBroker in","z":"27ba5893.2c68a8","name":"","topic":"admin.0.ws333.Temp3","payloadType":"value","onlyack":"","func":"all","gap":"","x":134,"y":94,"wires":[["e5b37419.c12288"]]},{"id":"117f222c.98f5ee","type":"change","z":"27ba5893.2c68a8","name":"prepare data","rules":[{"t":"change","p":"topic","pt":"msg","from":"/","fromt":"str","to":".","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"payload[1].payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":833,"y":255,"wires":[["6c52f0ab.fa037"]]},{"id":"e5b37419.c12288","type":"function","z":"27ba5893.2c68a8","name":"Queue","func":"//how many items in queue?\nvar countmsg = 2;\n\nvar inmsg = msg;\nvar outmsg = { topic: inmsg.topic , payload: ""};\nvar ctx = this.context;\nvar msgs = ctx.get("aggmsgs")||[];\nvar topics = msgs[inmsg.topic]||[];\n\n\nif (topics.length > 0) {\n if (topics[topics.length-1].payload == inmsg.payload)\n return null;\n} \nif (topics.length == countmsg){\n topics.shift()\n}\n\ntopics.push(inmsg);\noutmsg.payload = topics;\n\nmsgs[inmsg.topic] = topics;\nctx.set("aggmsgs",msgs);\n\nif (topics.length == countmsg)\n return outmsg;\nelse\n return null;","outputs":1,"noerr":0,"x":329,"y":134,"wires":[["39bc3b4b.cfa814"]]},{"id":"39bc3b4b.cfa814","type":"switch","z":"27ba5893.2c68a8","name":"check left limit","property":"payload[1].payload","propertyType":"msg","rules":[{"t":"lte","v":"-3","vt":"num"}],"checkall":"true","outputs":1,"x":506,"y":144,"wires":[["55ca16d1.7d2098"]]},{"id":"55ca16d1.7d2098","type":"switch","z":"27ba5893.2c68a8","name":"check right limit","property":"payload[0].payload","propertyType":"msg","rules":[{"t":"gt","v":"-3","vt":"num"}],"checkall":"true","outputs":1,"x":666,"y":197,"wires":[["117f222c.98f5ee"]]},{"id":"ceb09b12.933508","type":"ioBroker in","z":"27ba5893.2c68a8","name":"","topic":"admin.0.ws333.Temp2","payloadType":"value","onlyack":"","func":"all","gap":"","x":136,"y":191,"wires":[["e5b37419.c12288"]]},{"id":"cbd6609a.60fc1","type":"e-mail","z":"27ba5893.2c68a8","server":"smtp.gmail.com","port":"465","name":"","dname":"","x":1219,"y":349,"wires":[]}]

                            Edit sagt: Alarm jetzt nur einmalig bei Über- Unterschreiten des Limits (20 Zeilen für queue :o )
                            1 Reply Last reply Reply Quote 0
                            • B
                              blackangel15741 last edited by

                              Moebius: danke…...mit der langen Zeile kann ich nichts anfangen.

                              Ich wüsste nicht wo ich was ändern muss um es an meine Thermostate anzupassen.

                              1 Reply Last reply Reply Quote 0
                              • B
                                blackangel15741 last edited by

                                lobomau: ja, komplett installiert denke ich, da.ich sonst den Schlüssel nicht erhalten hätte und telegram sonst auch nicht grün leuchten würde…...gehe ich jedenfalls davon aus.

                                1 Reply Last reply Reply Quote 0
                                • P
                                  pix last edited by

                                  @blackangel15741:

                                  Moebius: danke…...mit der langen Zeile kann ich nichts anfangen.

                                  Ich wüsste nicht wo ich was ändern muss um es an meine Thermostate anzupassen. `
                                  Das ist ein node-red Flow.

                                  Den Code komplett in die Zwischenablage kopieren, node-red Reiter öffnen, wenn der Adapter node-Red installiert ist und hier den Code einfügen!

                                  Doku lesen –> http://www.iobroker.net/docu/?page_id=4 ... _von_Flows

                                  SO sieht der Code expandiert aus:

                                  ! ````
                                  [
                                  {
                                  "id": "27ba5893.2c68a8",
                                  "type": "tab",
                                  "label": "Flow 4"
                                  },
                                  {
                                  "id": "cadb8796.b7e2d8",
                                  "type": "switch",
                                  "z": "27ba5893.2c68a8",
                                  "name": "",
                                  "property": "payload",
                                  "propertyType": "msg",
                                  "rules": [
                                  {
                                  "t": "lt",
                                  "v": "-3",
                                  "vt": "num"
                                  }
                                  ],
                                  "checkall": "true",
                                  "outputs": 1,
                                  "x": 558,
                                  "y": 87,
                                  "wires": [
                                  [
                                  "24087720.583658"
                                  ]
                                  ]
                                  },
                                  {
                                  "id": "509b48b0.9d7ed8",
                                  "type": "ioBroker get",
                                  "z": "27ba5893.2c68a8",
                                  "name": "",
                                  "topic": "",
                                  "attrname": "payload",
                                  "payloadType": "value",
                                  "x": 350,
                                  "y": 89,
                                  "wires": [
                                  [
                                  "cadb8796.b7e2d8"
                                  ]
                                  ]
                                  },
                                  {
                                  "id": "5fe9f5aa.ad95ac",
                                  "type": "e-mail",
                                  "z": "27ba5893.2c68a8",
                                  "server": "smtp.gmail.com",
                                  "port": "465",
                                  "name": "",
                                  "dname": "",
                                  "x": 1221,
                                  "y": 89,
                                  "wires": []
                                  },
                                  {
                                  "id": "99d18002.47aff",
                                  "type": "template",
                                  "z": "27ba5893.2c68a8",
                                  "name": "prepare message",
                                  "field": "payload",
                                  "fieldType": "msg",
                                  "format": "handlebars",
                                  "syntax": "mustache",
                                  "template": "Achtung! Sensor '{{topic}}' mißt {{payload}}°C!",
                                  "x": 1017,
                                  "y": 89,
                                  "wires": [
                                  [
                                  "5fe9f5aa.ad95ac"
                                  ]
                                  ]
                                  },
                                  {
                                  "id": "605b30d.8b436d",
                                  "type": "ioBroker in",
                                  "z": "27ba5893.2c68a8",
                                  "name": "",
                                  "topic": "admin.0.ws333.Temp3",
                                  "payloadType": "value",
                                  "onlyack": "",
                                  "func": "all",
                                  "gap": "",
                                  "x": 121,
                                  "y": 54,
                                  "wires": [
                                  [
                                  "509b48b0.9d7ed8"
                                  ]
                                  ]
                                  },
                                  {
                                  "id": "bb5319dd.ef2e48",
                                  "type": "ioBroker in",
                                  "z": "27ba5893.2c68a8",
                                  "name": "",
                                  "topic": "admin.0.ws333.Temp2",
                                  "payloadType": "value",
                                  "onlyack": "",
                                  "func": "all",
                                  "gap": "",
                                  "x": 119,
                                  "y": 135,
                                  "wires": [
                                  [
                                  "509b48b0.9d7ed8"
                                  ]
                                  ]
                                  },
                                  {
                                  "id": "24087720.583658",
                                  "type": "change",
                                  "z": "27ba5893.2c68a8",
                                  "name": "",
                                  "rules": [
                                  {
                                  "t": "change",
                                  "p": "topic",
                                  "pt": "msg",
                                  "from": "/",
                                  "fromt": "str",
                                  "to": "-",
                                  "tot": "str"
                                  }
                                  ],
                                  "action": "",
                                  "property": "",
                                  "from": "",
                                  "to": "",
                                  "reg": false,
                                  "x": 774,
                                  "y": 88,
                                  "wires": [
                                  [
                                  "99d18002.47aff"
                                  ]
                                  ]
                                  }
                                  ]

                                  
                                  Wenn der Flow importiert ist, dann kann man die nodes (die "Steine" oder "Knoten") ändern.
                                  
                                  Gruß
                                  
                                  Pix
                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    blackangel15741 last edited by

                                    Ich habe das Script von MistyReblaus genommen

                                    on({

                                    id: /hm-rpc.*.TEMPERATURE/,

                                    ack : true,

                                    change: "lt",

                                    valLt: 18,

                                    oldValGe: 18

                                    }, function(obj)

                                    {

                                    sendTo('telegram.0', {

                                    text: "Temperatur ist zu niedrig.",

                                    disable_notification: true

                                    }

                                    )

                                    }

                                    );

                                    Ist es korrekt, dass ich für das Sternchen "*" die Id für die aktuelle ist Temperatur einfüge?

                                    Muss ich für jedes Thermostat ein extra Script nehmen?

                                    Oder einfach für das weitere Thermostat ergänzen?

                                    Was.würde dann über telegram bei 18 Grad gemedet werden….also

                                    außer " Temperatur ist zu niedrig " ?

                                    Wird auch angezeigt welches Zimmer?

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      blackangel15741 last edited by

                                      Also das Script läuft nicht.

                                      In der 2, 3 und 4 Zeile scheint was falsch zu sein.

                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        blackangel15741 last edited by

                                        Ich habe nun das Script von

                                        Paul53

                                        probiert. Hier wird kein Fehler angezeigt aber wenn die Temperatur abgefallen ist

                                        auf den.bzw. unter den vorgegebenen Grenzwert, erhalte ich keine Mail per "Telegram"

                                        was mache ich falsch?

                                        1 Reply Last reply Reply Quote 0
                                        • ldittmar
                                          ldittmar Developer last edited by

                                          Hi Blackangel,

                                          probiere doch mal das Ganze mit Blocky zu realisieren. Da musst du keine Javascript-Kenntnisse haben. Einfach Drag-and-Drop und schon hast du ein Script zusammengeklickt. Um Blocky zu nutzen, musst du einfach den Enginetyp auf Blocky lassen. (siehe Bild)

                                          386_image_3.png

                                          Grüße,

                                          ldittmar

                                          1 Reply Last reply Reply Quote 0
                                          • wendy2702
                                            wendy2702 last edited by

                                            Hi,

                                            bin auch Anfänger was Javascript und Blockly betrifft und habe das mal zusammen geklickt und exportiert.

                                            Du nimmst das alles und kopierst es.

                                             <block xmlns="http://www.w3.org/1999/xhtml" type="on_ext" id="~r*U+2!|t6x/`nu/{:r1" x="-462" y="-287"><mutation items="1"></mutation>
                                              <field name="CONDITION">ne</field>
                                            
                                              <value name="OID0"><shadow type="field_oid" id="4N:=AI~{G+rNDI]w95{4"><field name="oid">hm-rpc.0.LEQ0003791.1.TEMPERATURE</field></shadow></value> 
                                              <statement name="STATEMENT"><block type="controls_if" id="NVE^VjGif,Ox5OqBuR?*"><value name="IF0"><block type="logic_compare" id="IT(q{Xg/IIRuMYKJbhCG"><field name="OP">LT</field>
                                                      <value name="A"><block type="get_value" id="|scHE*ak9k(o*AgretdA"><field name="ATTR">val</field>
                                                          <field name="OID">hm-rpc.0.LEQ0003791.1.TEMPERATURE</field></block></value> 
                                                      <value name="B"><block type="math_number" id="p/S69eq]C{D2^9WkVI#`"><field name="NUM">18</field></block></value></block></value> 
                                                  <statement name="DO0"><block type="telegram" id="HlVUG3@nFAR5P%}Gu5_V"><field name="INSTANCE">.0</field>
                                                      <field name="LOG">log</field>
                                                      <value name="MESSAGE"><shadow type="text" id="6n=_OEeWW6DbD(Vrq/;A"><field name="TEXT">Temperatur Wohnzimmer unter 18 Grad</field></shadow></value></block></statement></block></statement></block> 
                                            

                                            Dann im Javascript Adapter ein neues Script öffnen siehe Bild und dann auf den markierten Button drücken und das hier kopierte einfügen.

                                            999_blockly.jpg

                                            Danach sollte das dann so aussehen:

                                            999_blockly_1.jpg

                                            Jetzt musst du eigentlich nur noch bei den beiden "Object ID" deinen Temperatur Sensor auswählen und die Meldung die gesendet werden soll anpassen.

                                            So sieht das dann als Javascript aus wenn man sich den Code anzeigen lässt:

                                            on({id: 'hm-rpc.0.LEQ0003791.1.TEMPERATURE', change: "ne"}, function (obj) {
                                              var value = obj.state.val;
                                              var oldValue = obj.oldState.val;
                                              if (getState("hm-rpc.0.LEQ0003791.1.TEMPERATURE").val < 18) {
                                                sendTo("telegram.0", "send", {
                                                    text: 'Temperatur Wohnzimmer unter 18 Grad'
                                                });
                                                console.log("telegram: " + 'Temperatur Wohnzimmer unter 18 Grad');
                                              }
                                            });
                                            

                                            Viel Erfolg

                                            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

                                            997
                                            Online

                                            32.2k
                                            Users

                                            80.8k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            41
                                            6195
                                            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