Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Skript Ausführung ohne Trigger?

    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] Skript Ausführung ohne Trigger?

    This topic has been deleted. Only users with topic management privileges can see it.
    • treff and NIX
      treff and NIX last edited by treff and NIX

      Hallo zusammen,

      ich habe ein eigenartiges Phänomen das ich aktuell nicht verstehe.
      Folgender Zustand:
      aktuell läuft folgender Script.
      c6ae4aa8-952a-426f-a458-c55a70650eda-image.png

      Es soll beim öffnen eines Fenster, die Heizungsthermostate auf 5 Grad eingestellt werden. Beim schließen der Fenster und falls Außentemperatur >20°C ist dann soll weiterhin 5 Grad eingestellt werden. Sonnst die Temperatur auf 21Grad eingestellt werden.

      Nun soweit so gut, es funktioniert.

      Leider wird immer wieder die Temperatur auf 21 Grad gesetzt obwohl der Trigger Status nicht geändert wurde.

      Anbei Log Auszug

      2021-04-04 20:19:15.729 - info: javascript.0 (8313) script.js.common.Wohnzimmer_Heizung_Fensterkontakt1: getState(id=modbus.0.inputRegisters.1.32409_Außentemperatur, timerId=undefined) => {"val":7.9,"ack":true,"ts":906,"q":0,"from":"system.adapter.modbus.0","user":"system.user.admin","lc":906}
      2021-04-04 20:19:15.730 - info: javascript.0 (8313) script.js.common.Wohnzimmer_Heizung_Fensterkontakt1: setForeignState(id=hmip.0.devices.5C11.channels.1.setPointTemperature, state={"val":21,"ack":false,"c":"script.js.common.Wohnzimmer_Heizung_Fensterkontakt1"})
      2021-04-04 20:19:15.731 - info: javascript.0 (8313) script.js.common.Wohnzimmer_Heizung_Fensterkontakt1: setForeignState(id=hmip.0.devices.5C17.channels.1.setPointTemperature, state={"val":21,"ack":false,"c":"script.js.common.Wohnzimmer_Heizung_Fensterkontakt1"})
      2021-04-04 20:19:15.746 - debug: javascript.0 (8313) sendTo "send" to system.adapter.pushover from system.adapter.javascript.0
      2021-04-04 20:19:15.749 - info: hmip.0 (8220) state change - setPointTemperature - id 2b - value 21
      2021-04-04 20:19:15.751 - debug: javascript.0 (8313) sendTo "send" to system.adapter.pushover from system.adapter.javascript.0
      2021-04-04 20:19:15.769 - info: hmip.0 (8220) state change - setPointTemperature - id 2c - value 21
      2021-04-04 19:19:15.794 - info: pushover.0 (6258) Send pushover notification: {"message":"21°C\n20.5°C","sound":"incoming","title":"Heizkörperthermostat und Heizkörperthermostat","priority":"0"}
      2021-04-04 19:19:15.827 - info: pushover.0 (6258) Send pushover notification: {"message":"21°C\n21°C","sound":"incoming","title":"Heizkörperthermostat und Heizkörperthermostat","priority":"0"}
      

      Kann mir bitte jemand eventuell erklären warum das Script ausgeführt wird obwohl der Trigger nicht aktiviert wird ?

      Vielen Dank

      padrino 1 Reply Last reply Reply Quote 0
      • padrino
        padrino Most Active @treff and NIX last edited by

        @treff-and-nix
        Biste sicher, dass Du nicht evtl. einen "steuere" Block "rumliegen" hast, also z.B. hinten dran oder weiter weg (mal mit dem Zoom rausgehen)?
        Das passiert mir ab und an. 😇

        padrino treff and NIX 2 Replies Last reply Reply Quote 0
        • padrino
          padrino Most Active @padrino last edited by padrino

          Übrigens, mach mal aus der Kombi nach_Zahl+"text" besser einen blauen "Mathematik" Block. 🤓

          1 Reply Last reply Reply Quote 1
          • treff and NIX
            treff and NIX @padrino last edited by

            @padrino habe gerade noch geschaut und zusätzlich die js Variante angeschaut, da ist kein weiterer Baustein vorhanden. Wenn ich dieses Script deaktiviere dann wird die Änderung nicht durchgeführt.

            padrino 1 Reply Last reply Reply Quote 0
            • padrino
              padrino Most Active @treff and NIX last edited by

              @treff-and-nix
              Könnte auch sein, dass sich der Status wiederholt?
              Versuch mal statt wahr, größer als... und statt false, kleiner als...

              treff and NIX 2 Replies Last reply Reply Quote 0
              • treff and NIX
                treff and NIX @padrino last edited by

                @padrino gute Idee, ich p probiere es aus

                1 Reply Last reply Reply Quote 0
                • treff and NIX
                  treff and NIX @padrino last edited by treff and NIX

                  @padrino ich habe nun zusätzlich debug output eingebaut um zu prüfen welcher Bereich vom Skript abgelaufen wird.
                  571938cd-dcda-44a2-8bfd-318bd39856f0-image.png
                  alle debug output Felder werden abgearbeitet.
                  Nun habe ich im Sensor last update Feld geprüft, es scheint so als ob hier ein Update stattfindet obwohl der Sensor status nicht geändert wurde...
                  2bde137f-5c09-4be3-8743-27e89477a672-image.png (Adapter: Deconz, Sensor: Aqara Konstaktsensor)
                  Ist jemandem dieses Verhalten auch bekannt?
                  Wie könnte ich dieses Verhalten durch ein Script umgehen ?

                  Edit: habe noch übergeordnet denn Block falls objekt würde geändert ergänzt
                  afacafe5-66c5-4ac1-8f58-94f548185bca-image.png

                  padrino 1 Reply Last reply Reply Quote 0
                  • padrino
                    padrino Most Active @treff and NIX last edited by padrino

                    @treff-and-nix
                    Also, Trigger in Trigger geht nicht.
                    Schmeiß das wieder raus und vergiss die Idee ganz schnell wieder. 😉

                    Meine Aussage von oben bleibt, ändere mal die Trigger von "ist wahr" auf "ist größer"... 🙂

                    treff and NIX 1 Reply Last reply Reply Quote 0
                    • treff and NIX
                      treff and NIX @padrino last edited by

                      @padrino meinst du es so ?
                      bea236cb-bf24-422f-8158-43d5edc3add5-image.png

                      Ich teste es mal, weis nicht wie es reagiert wenn der Timeevent sich aktualisiert, deswegen ist es immer in die Sonst schleife gelaufen.

                      Wie meinst du das Trigger in Trigger funktioniert nicht? Systemseitig funktioniert es nämlich. Das Script läuft ja von oben nach unten durch und durchläuft somit ach die anderen trigger.

                      ee63bd91-15a0-4519-9fd2-f2e29005b7e9-image.png

                      padrino paul53 Asgothian 3 Replies Last reply Reply Quote 0
                      • padrino
                        padrino Most Active @treff and NIX last edited by padrino

                        @treff-and-nix sagte in Skript Ausführung ohne Trigger?:

                        Wie meinst du das Trigger in Trigger funktioniert nicht? Systemseitig funktioniert es nämlich. Das Script läuft ja von oben nach unten durch und durchläuft somit ach die anderen trigger.

                        Ne, ein Trigger greift immer, egal wie tief der verschachtelt/begraben ist.
                        Da muss nix anderes/höheres erfüllt sein.

                        Übrigens, was sind denn diese grünen "steuere"? Oder sind die inaktiv/ausgegraut?

                        treff and NIX 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @treff and NIX last edited by paul53

                          @treff-and-nix sagte: Systemseitig funktioniert es nämlich.

                          Bei jedem Trigger-Ereignis des äußeren Triggers wird ein neuer innerer Trigger erzeugt bis das System irgendwann überlastet ist. Für einen Datenpunkt verwendet man nur einen Trigger (Ressourcenverbrauch). Vorschlag:

                          Bild_2021-04-05_144448.png

                          Wert findet man unter "Trigger".

                          treff and NIX 1 Reply Last reply Reply Quote 0
                          • Asgothian
                            Asgothian Developer @treff and NIX last edited by

                            @treff-and-nix sagte in Skript Ausführung ohne Trigger?:

                            Wie meinst du das Trigger in Trigger funktioniert nicht? Systemseitig funktioniert es nämlich. Das Script läuft ja von oben nach unten durch und durchläuft somit ach die anderen trigger.

                            Du darfst dir das so vorstellen:

                            der JS Adapter beinhaltet eine lange Liste von "events" deren Bedingungen er prüft, um wenn sie erfüllt sind die daran angehängten Routinen auszuführen.
                            Wenn ein Skript gestartet wird dann läuft das Skript durch. Trifft es auf einen "trigger" block, so wird der Inhalt nicht ausgeführt, sondern mit der Bedingung in diese Liste Eingetragen. Dabei wird das Skript auch als "Quelle" des Events mit eingetragen. Wird das Skript beendet werden alle Events aus der Liste ausgetragen bei denen dieses eine Skript als "Quelle" eingetragen ist.

                            Wenn jetzt dein "äusserer" trigger aktiviert wird trägt dieser den Inneren Trigger als neue Bedingung in die Liste ein - Jedes mal wenn der Trigger aktiv wird.

                            Wird dadurch verständlich warum Trigger im Trigger nicht gut si`nd ?

                            treff and NIX 1 Reply Last reply Reply Quote 1
                            • treff and NIX
                              treff and NIX @Asgothian last edited by

                              @asgothian super vielen dank für die Erklärung jeder trigger egal wo er sitzt ist im Prinzip im kopf des Skripts und wird immer angefragt. Danke

                              1 Reply Last reply Reply Quote 0
                              • treff and NIX
                                treff and NIX @paul53 last edited by

                                @paul53 ich versuche gerade nachzubauen aber ich finde folgendes nicht, setze soll Wert. Wo finde ich diesen Block?

                                Asgothian paul53 2 Replies Last reply Reply Quote 0
                                • Asgothian
                                  Asgothian Developer @treff and NIX last edited by

                                  @treff-and-nix Schau mal im "trigger" Bereich. Da gibt es einen Baustein wo "Object ID" drin steht.

                                  Der ist das - den kann man auf "wert" umstellen.

                                  A.

                                  1 Reply Last reply Reply Quote 1
                                  • treff and NIX
                                    treff and NIX @padrino last edited by

                                    @padrino genau die sind auskommentiert. Also mit großer als funktioniert es wunderbar, kannst du mir bitte erklären wie dieses großer als zu verstehen ist. Was ist größer als true oder false?

                                    paul53 padrino 2 Replies Last reply Reply Quote 0
                                    • paul53
                                      paul53 @treff and NIX last edited by paul53

                                      @treff-and-nix sagte: Wo finde ich diesen Block?

                                      Man muss erst die Variable sollwert erstellen, damit man sie verwenden kann.

                                      Bild_2021-04-05_152557.png

                                      1 Reply Last reply Reply Quote 1
                                      • paul53
                                        paul53 @treff and NIX last edited by paul53

                                        @treff-and-nix sagte: wie dieses großer als zu verstehen ist.

                                        true ist größer als false

                                        1 Reply Last reply Reply Quote 1
                                        • padrino
                                          padrino Most Active @treff and NIX last edited by

                                          @treff-and-nix sagte in Skript Ausführung ohne Trigger?:

                                          Was ist größer als true oder false?

                                          Wie @paul53 bereits sagte, true ist größer als false.
                                          Du kannst es im Prinzip so sehen, true=1 und false=0.

                                          1 Reply Last reply Reply Quote 1
                                          • treff and NIX
                                            treff and NIX last edited by

                                            Scheint nun alles zu funktionieren wie gewünscht,
                                            Vielen dank euch allen

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            870
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            20
                                            983
                                            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