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.
    • 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
                                          • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            777
                                            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