Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Script Überwachung Temperatur und Meldung an Telegram

    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

    [gelöst] Script Überwachung Temperatur und Meldung an Telegram

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

      Hi Dutch,

      deine Vermutung Aber wie gesagt, dein problem is nicht sosehr die 15 min wen ich dich richtige verstehen sind die total egal. Du moechtest naemlich eine meldung wen < 18 und danach erst wieder wen > 18 richtig ? ist absolut korrekt.

      Kannst du mir einen Hinweis geben/einen Link zu einem Beitrag, anhand dessen ich das nun jetzt selbst verstehen und nachbauen kann? Da fehlt mir aktuell ein Ansatz 😕

      PS: Super, danke dir. Wollte es nur mal gesagt haben 😉

      VG Thorsten

      1 Reply Last reply Reply Quote 0
      • Dutchman
        Dutchman Developer Most Active Administrators last edited by

        :mrgreen: dachte ich mir doch 🙂

        als ansatzt: der trigger kan so bleiben, also wir lassen es auf pruefe jedesmal wen sich die temperatur aendert.

        jet musst du mit variabelen arbeiten, in dem erste block sagst du dan auch die variable auf true und bei dem sonst falls die variable auf falsch.

        Jetzt must du noch deine IF erweitern das er sowohl den wert als die variable uerberprueft. Etwas aehnliches haben wir hier oefter gemacht aber die threads stehen noch viel mehr sachen drinne wie timeouts usw und ich moechte dich mit dessen beispielen jetzt nicht unnoetig belasten !.

        Schau mal in blockly unter variabelen, setzen/erstellen abfragen usw schaffst du schon 🙂

        (Es schnell fuer dich nach zu bauen waehre jetzt leichter, mal sehn ob du an dieser info genug hast :).

        ~Dutch

        1 Reply Last reply Reply Quote 0
        • K
          Kueppert last edited by

          @Dutchman:

          :mrgreen: dachte ich mir doch 🙂

          als ansatzt: der trigger kan so bleiben, also wir lassen es auf pruefe jedesmal wen sich die temperatur aendert.

          jet musst du mit variabelen arbeiten, in dem erste block sagst du dan auch die variable auf true und bei dem sonst falls die variable auf falsch.

          Jetzt must du noch deine IF erweitern das er sowohl den wert als die variable uerberprueft. Etwas aehnliches haben wir hier oefter gemacht aber die threads stehen noch viel mehr sachen drinne wie timeouts usw und ich moechte dich mit dessen beispielen jetzt nicht unnoetig belasten !.

          Schau mal in blockly unter variabelen, setzen/erstellen abfragen usw schaffst du schon 🙂

          (Es schnell fuer dich nach zu bauen waehre jetzt leichter, mal sehn ob du an dieser info genug hast :).

          ~Dutch `

          ich glaube so müsste es funktionieren (Math soll nicht das Problem sein, also Logik, aber das muss man erst mal in diese für mich neue Form bringen 🙂 😞

          2700_iobroker-skript.png

          Was sagst dazu? :mrgreen: Hab mal versuch die Hinweise zu verstehen und umzusetzen. Sieht für mich logisch aus…

          Danke und Grüße, Thorsten

          PS: Die Variable - müsste ich die nicht jetzt unter Objekte finden unter dem Javascript-Ordner?? :?: Ist nix...hab das Skript schon neu gestartet und die Objekt-Seite auch.

          1 Reply Last reply Reply Quote 0
          • Dutchman
            Dutchman Developer Most Active Administrators last edited by

            @Kueppert:

            Was sagst dazu? :mrgreen: Hab mal versuch die Hinweise zu verstehen und umzusetzen. Sieht für mich logisch aus… `

            richtig so hab ich das gemeint 🙂

            @Kueppert:

            PS: Die Variable - müsste ich die nicht jetzt unter Objekte finden unter dem Javascript-Ordner?? :?: Ist nix…hab das Skript schon neu gestartet und die Objekt-Seite auch. `

            Nein, eine variable so wie du jetzt benutzt gibt es nur im script selber und nicht als object. Man kan mit in scripten/iobroker 2 sachen machen:

            • Man erstellt sich eine variable : nachteil, diese ist nicht ausserhalb des scriptes verfuegbar

            • Man erstellt sich ein object in javascript.0.xxx : vorteil, man kan diese auch in andere scripten benutzen

            Dan wir den status jetzt aber nur in diesem script brauchen um zu ueberpruefen ob bereits eine narchricht geschickt wurde ist eine variable ausreichend.

            Wen du da spaeter was in VIS visualiesieren moechtest (meldung wurde gesendet z.b.) muessen wir ein object benutzen.

            Noch letzter tip, du benutst jetzt 0/1 (ist OK !) kannst aber auch wahr/unwahr nehmen das ist verstaendlicher auch wen man spaeter mal wieder nach dem script schaut.

            Aber im grundegenommen sollte es jetzt so gehen wie du wolltest

            1 Reply Last reply Reply Quote 0
            • K
              Kueppert last edited by

              Cool 😄

              Dann probiere ich die Temperatur morgen Mal auf unter 18 Grad zu bekommen (Lüften) und schreibe hier dann nochmal das Ergebnis - inkl ggf gelöst in der Überschrift 😉

              Vielen Dank Dutch

              Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

              1 Reply Last reply Reply Quote 0
              • Dutchman
                Dutchman Developer Most Active Administrators last edited by

                @Kueppert:

                Cool 😄

                Dann probiere ich die Temperatur morgen Mal auf unter 18 Grad zu bekommen (Lüften) und schreibe hier dann nochmal das Ergebnis - inkl ggf gelöst in der Überschrift 😉

                Vielen Dank Dutch

                Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk `

                😄

                Oder due aenderst mal die temperatur in deinem script von 18 auf 20 oder so 😛

                Da kan man auch noch mehr machen, z.b. den wert 18 per vis einstelbar machen fuer deine nachrichten usw aber die basis steht erstmal !

                1 Reply Last reply Reply Quote 0
                • K
                  Kueppert last edited by

                  Hi Dutch,

                  hat leider nicht funktioniert. Denke es lag an der Variablen die nicht befüllt war…

                  habe es jetzt so gemacht, dass ich eine neue Variable angelegt habe wie folgt:

                  2700_iobroker-trigger.png
                  2700_iobroker-trigger2.png

                  mein Blockly habe ich wie folg angepasst:
                  2700_iobroker-blockly.png

                  führt nun zu folgendem Fehler im Log 😞
                  2700_iobroker-fehlerlog.png

                  Ich denke, das Anlegen von so einer Variablen ist nicht so easy wie ich dachte ^^

                  1 Reply Last reply Reply Quote 0
                  • R
                    RappiRN Most Active last edited by

                    Unter javascript.0.scriptEnabled sollen keine Objekte angelegt werden.

                    javascript.0 ist schon richtig danach solltest du dir über eine klare Struktur Gedanken machen, damit das noch übersichtlich bleibt!

                    Was soll denn diese Variable bewirken?

                    Edit: Hast du denn bei dem oberen Versuch noch die Abfrage auf "Wert von" Variable geändert? Das hat da noch gefehlt, vielleicht war das der Grund für das Nichtfunktionieren!

                    Enrico

                    1 Reply Last reply Reply Quote 0
                    • K
                      Kueppert last edited by

                      Ach das gibt es doch nicht…hab es jetzt wieder zurück gebaut und die Variable unter javascript wieder gelöscht.

                      Sieht jetzt wieder wie folgt aus:

                      2700_iobroker-blockly.png

                      Ich kann bei meiner Variablen "KinderzimmerTEMP_var" nicht "Wert vom Objekt ID" benutzen. Ich nutze diese Variable ja nur ausschließlich hier im blockly. Unter Objekte ist die Variable ja nicht zu finden…

                      PS: Ich glaube ich mache lieber erst morgen weiter ^^

                      1 Reply Last reply Reply Quote 0
                      • R
                        RappiRN Most Active last edited by

                        Alles richtig soweit, nur bei beiden und-Blöcken muss bei der Variablen noch der Block "Wert von" dazu! In diesen Block kommt dann die Variable!

                        Es muss dann heißen "Wert von Variable…" ist gleich Wahr/Unwahr!

                        Enrico

                        Edit: Hab gerade nochmal probiert, jetzt weiß ich erstmal, was du meinst! :?

                        1 Reply Last reply Reply Quote 0
                        • R
                          RappiRN Most Active last edited by

                          Vielleicht musst du der Variablen über dem Trigger noch einen Zustand mitgeben, also über dem Trigger "setze Variable auf…", dann bekommt die Variable einen Zustand beim Scriptstart!

                          Enrico

                          1 Reply Last reply Reply Quote 0
                          • Dutchman
                            Dutchman Developer Most Active Administrators last edited by

                            Die Variable ist NULL daher der Fehler, einfach die Variable mit unwahr füllen bei Script start (also außerhalb deines Trigger Block) dann sollte es gut sein

                            –-----------------------

                            Send from mobile device

                            Das schöne ios hat Auto Korrektur zum k****

                            Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

                            1 Reply Last reply Reply Quote 0
                            • K
                              Kueppert last edited by

                              @Dutchman:

                              Die Variable ist NULL daher der Fehler, einfach die Variable mit unwahr füllen bei Script start (also außerhalb deines Trigger Block) dann sollte es gut sein

                              –-----------------------

                              Send from mobile device

                              Das schöne ios hat Auto Korrektur zum k****

                              Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community `

                              So, ich habe das Blockly um das Setzen der Variable ergänzt - und Debug-Blöcke versucht einzubauen (bringen keinen Mehrwert so wie ich sie verwende :?: da nirgends mehr steht als vorher. Hab ich vermutlich falsch benutzt).

                              Wenn ich das Script nun stoppe und neu starte - erhalte ich trotzdem keine Meldung via Telegramm 😞

                              2700_iobroker-blockly.png

                              An Telegramm sollte es nicht liegen - hat ja vorher mal funktioniert. Langsam fange ich an, etwas an mir zu zweifeln. Das sieht doch alles ganz logisch aus?!

                              Kann ich mit diesen Debug-Blöcken es erreichen, dass ich detailliert mitbekomme, was passiert wenn ich das Skript neu starte?

                              Temperatur im Kinderzimmer aktuell: 18,8 Grad

                              Danke euch und Grüße, Thorsten

                              1 Reply Last reply Reply Quote 0
                              • Dutchman
                                Dutchman Developer Most Active Administrators last edited by

                                Dein Script wird nur eine Meldung generieren wenn sich die Temperatur ändert nicht bei Script start!

                                –-----------------------

                                Send from mobile device

                                Das schöne ios hat Auto Korrektur zum k****

                                Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

                                1 Reply Last reply Reply Quote 0
                                • K
                                  Kueppert last edited by

                                  @Dutchman:

                                  Dein Script wird nur eine Meldung generieren wenn sich die Temperatur ändert nicht bei Script start!

                                  –-----------------------

                                  Send from mobile device

                                  Das schöne ios hat Auto Korrektur zum k****

                                  Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community `

                                  HAHAHAAAAAAAAA,

                                  du hast Recht. Habe gerade eine Meldung via Telegram erhalten. Juhuuuuuuuu :mrgreen: :mrgreen: :mrgreen:

                                  Danke euch für die Hilfe - und besonders Dutch für deine Geduld. Dann setze ich dieses Thema mal auf "gelöst" und bastel fleissig weiter.

                                  Danke danke und viele Grüße, Thorsten

                                  1 Reply Last reply Reply Quote 0
                                  • Dutchman
                                    Dutchman Developer Most Active Administrators last edited by

                                    🙂 sehr schön und viel Spaß damit

                                    –-----------------------

                                    Send from mobile device

                                    Das schöne ios hat Auto Korrektur zum k****

                                    Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

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

                                      Hallo Kueppert

                                      Alles was sich INNERHALB eines Triggers befindet, wird ausgeführt wenn der getriggerte Wert sich ändert.

                                      Alles was sich AUSSERHALB eines Triggers befindet, wird EINMALIG ausgeführt wenn das Script gestartet wird.

                                      Dein Trigger reagiert wenn sich der Wert von "Temperatur" ändert.

                                      Danach wird "KinderzimmerTEMP_var" IMMER SOFORT auf "unwahr" gesetzt.

                                      Deine "sonst falls" Bedingung wird also NIE erfüllt.

                                      Der Block "setze KinderzimmerTEMP_var auf unwahr" gehört also AUSSERHALB des Triggers.

                                      Dein "Debug output Ende Trigger" müsste "Debug output Start Script" lauten.

                                      Ein Trigger wird NIE beendet! Außer man stoppt das Script.

                                      Grüße

                                      1 Reply Last reply Reply Quote 0
                                      • K
                                        Kueppert last edited by

                                        @rantanplan:

                                        Hallo Kueppert

                                        Alles was sich INNERHALB eines Triggers befindet, wird ausgeführt wenn der getriggerte Wert sich ändert.

                                        Alles was sich AUSSERHALB eines Triggers befindet, wird EINMALIG ausgeführt wenn das Script gestartet wird.

                                        Dein Trigger reagiert wenn sich der Wert von "Temperatur" ändert.

                                        Danach wird "KinderzimmerTEMP_var" IMMER SOFORT auf "unwahr" gesetzt.

                                        Deine "sonst falls" Bedingung wird also NIE erfüllt.

                                        Der Block "setze KinderzimmerTEMP_var auf unwahr" gehört also AUSSERHALB des Triggers.

                                        Dein "Debug output Ende Trigger" müsste "Debug output Start Script" lauten.

                                        Ein Trigger wird NIE beendet! Außer man stoppt das Script.

                                        Grüße ` Hi rantanplan,

                                        soll ich den Block dann einfach frei schwebend über meinen Trigger Block setzen??? Dann wird die Variable nur beim erstmaligen Start auf unwahr gesetzt, korrekt?

                                        Deine Argumente klingen für mich nach mehrmaligen überlegen (muss das mit dem Trigger erst Mal verinnerlichen) sehr logisch…

                                        VG Thorsten

                                        Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

                                        1 Reply Last reply Reply Quote 0
                                        • Dutchman
                                          Dutchman Developer Most Active Administrators last edited by

                                          @Kueppert:

                                          soll ich den Block dann einfach frei schwebend über meinen Trigger Block setzen??? Dann wird die Variable nur beim erstmaligen Start auf unwahr gesetzt, korrekt? `

                                          korrekt, wie ich auch hier geschrieben habe 🙂

                                          @Dutchman:

                                          Die Variable ist NULL daher der Fehler, einfach die Variable mit unwahr füllen bei Script start (also außerhalb deines Trigger Block) dann sollte es gut sein `

                                          1 Reply Last reply Reply Quote 0
                                          • K
                                            Kueppert last edited by

                                            @Dutchman:

                                            @Kueppert:

                                            soll ich den Block dann einfach frei schwebend über meinen Trigger Block setzen??? Dann wird die Variable nur beim erstmaligen Start auf unwahr gesetzt, korrekt? `

                                            korrekt, wie ich auch hier geschrieben habe 🙂

                                            @Dutchman:

                                            Die Variable ist NULL daher der Fehler, einfach die Variable mit unwahr füllen bei Script start (also außerhalb deines Trigger Block) dann sollte es gut sein Hahahaaa,

                                            wer lesen kann… :-S

                                            Erledigt und nochmal vielen Dank an euch 🙂

                                            VG Thorsten

                                            Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            632
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            9
                                            35
                                            6183
                                            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