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
      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
                      • paul53
                        paul53 last edited by

                        @wendy2702:

                        So sieht das dann als Javascript aus wenn man sich den Code anzeigen lässt: `
                        Die Bedingung sollte dann noch optimiert werden, wenn nicht bei jeder Temperaturänderung unterhalb 18°C immer wieder gesendet werden soll:

                          if (value < 18 && oldValue >= 18) {
                        

                        EDIT: Das geht natürlich auch mit Blockly:

                        493_blockly_grenzwertunterschreitung.jpg

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

                          Danke für den Hinweis.

                          Gesendet von iPhone mit Tapatalk Pro

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

                            Super, werde mich mal dran versuchen.

                            Vielen Dank für die Hilfe.

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

                              Ich habe den Code von

                              Wenedy 2702

                              eingefügt, hat funktioniert…...ausprobiert ob tatsächlich eine Mail über telegram

                              ausgelöst wird, habe ich noch nicht probiert.

                              Wie kann ich den Code von Paul53 jetzt dort hinzufügen ?

                              Lässt sich nicht zusätzlich importieren.

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

                                Habe es ausprobiert….leider kommt keine Mitteilung über telegram.

                                Als ID hatte ich die actual_temperature.....value temperature genommen.

                                Der token it bei telegram eingetragen und der Adapter leuchtet grün.

                                Scribt leuchtet auch grün aber eine mail ist nicht gekommen. Wlan ist natürlich an.

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

                                  Ist die ID falsch?

                                  Habe sie automatisch einfügen lassen

                                  Muss ich was bei der ID weglassen?

                                  Im Beispiel steht nur …..Temperature

                                  Wenn ich die ID einfüge steht bei mir aber Actual_Temperature

                                  Habe die ID genommen wo daneben die aktuelle "ist" Temperatur angezeigt wird.

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

                                    @blackangel15741:

                                    Ist die ID falsch?

                                    Habe sie automatisch einfügen lassen

                                    Muss ich was bei der ID weglassen?

                                    Im Beispiel steht nur …..Temperature

                                    Wenn ich die ID einfüge steht bei mir aber Actual_Temperature

                                    Habe die ID genommen wo daneben die aktuelle "ist" Temperatur angezeigt wird. `

                                    Habe es mal nach gebastelt:

                                    Blockly:

                                     <xml xmlns="http://www.w3.org/1999/xhtml"><block 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_operation" id="VCF};1)~{*PRl0d|BD6d"><field name="OP">AND</field>
                                                <value name="A"><block type="logic_compare" id="IT(q{Xg/IIRuMYKJbhCG"><field name="OP">LT</field>
                                                    <value name="A"><block type="on_source" id="v*=yjm=7wz-4;IT[rwux"><field name="ATTR">state.val</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> 
                                                <value name="B"><block type="logic_compare" id=",XU`6Ml5#Vss}map0k({"><field name="OP">GTE</field>
                                                    <value name="A"><block type="on_source" id="^d;ofku-X`|u2mo5Wl!."><field name="ATTR">oldState.val</field></block></value> 
                                                    <value name="B"><block type="math_number" id=")X5nzfJ)]x#(%7jbo{Lt"><field name="NUM">18</field></block></value></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 Badezimmer unter 18 Grad</field></shadow></value></block></statement></block></statement></block></xml> 
                                    

                                    Javascript:

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

                                    Dann nach dem Import nur bei dem Rot umrandeten klicken und den Temperatursensor auswählen den du verwenden willst:

                                    999_blockly_auswahl_temperatur.jpg

                                    Zu Telegram, kannst du mal hier einen Text eingeben und einfach danach enter/return drücken und schauen ob etwas auf deinem Handy ankommt:

                                    999_telegramm.jpg

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

                                      Also ich habe alles so gemacht wie im Video aber es scheint sich über telegram nichts zu verbinden.

                                      Testnachricht siehe Foto kommt nicht an.

                                      auch aus der APP heraus schreiben, kommt bei iobroker nicht an.
                                      1570_unbenannt.png

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

                                        Wegen dem Temperatursensor…..

                                        Ich verweise bei der ID auf die des Heizungsthermostates mit der gerade aktuellen

                                        gemessenen Temperatur oder?

                                        Also ich meine damit, es muss kein Wand-Thermostat sein oder?

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

                                          Ne, muss kein Wandthermostat sein.

                                          Ist dein Connection Status bei Telegram in den Objekten den "true" ? Wie in meinem Bild ?

                                          Gesendet von iPhone mit Tapatalk Pro

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

                                            Ja, da steht true. Ich denke es muss nichts extra in der Fritzbox freigegeben werden oder ?

                                            Der Test erfolgte ja aus dem Wlan.

                                            Gibt es keine Möglichkeit die gemessene Temperatur vom Thermostat zu verwenden?

                                            Wäre ja echt blöd für 5 Räume extra Wand-Thermostate aufzuhängen oder Fenster-Offen-Sensoren

                                            zu montieren. Mal vom Kostenfaktor abgesehen.

                                            Geht es über Umwege mit dem Scenen-Adapter? Wenn ja wie?

                                            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

                                            770
                                            Online

                                            32.2k
                                            Users

                                            80.8k
                                            Topics

                                            1.3m
                                            Posts

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