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 Frage - 2tes Gerät 10 Minuten später

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Skript Frage - 2tes Gerät 10 Minuten später

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

      fhem.0   2017-07-21 20:35:32.153   debug   Event: "ESPEasy ESP03_Heizung off"
      fhem.0   2017-07-21 20:36:07.756   debug   Event: "ESPEasy ESP03_Heizung off"
      fhem.0   2017-07-21 20:36:32.218   debug   Event: "ESPEasy ESP03_Heizung off"
      fhem.0   2017-07-21 20:37:32.280   debug   Event: "ESPEasy ESP03_Heizung off"
      
      

      Habe mal die Events "ESPEasy ESP03_Heizung off" gefiltert: Werden ca. jede Minute erzeugt und deshalb verändert sich auch der Zeitstempel des Datenpunkts in ioBroker jedesmal, was zum Triggern bei ack: true führt. Ist das bei FHEM generell so, dass zyklisch aktualisiert wird, oder ist das eine Konfigurations-Option ?

      EDIT: Was mich allerdings wundert, sind solche aufeinanderfolge Log-Einträge:

      fhem.0   2017-07-21 20:37:32.302   debug   inMem message fhem.0.* fhem.0.ESP03_Heizung.state val=false, ack=true, ts=1500662252290, q=0, from=system.adapter.fhem.0, lc=1500405519651
      fhem.0   2017-07-21 20:37:32.294   debug   inMem message fhem.0.* fhem.0.ESP03_Heizung.Switch val=true, ack=true, ts=1500662252280, q=0, from=system.adapter.fhem.0, lc=1500662132153
      
      

      .Switch mit val = true und .state mit val = false ??

      1 Reply Last reply Reply Quote 0
      • N
        noxx last edited by

        keine Ahnung, aber jetzt wo du das schreibst. Musste ESP/FHEM doppelt

        invertieren. Am ESP hängt ein Relais, in ESPeasy muss ich auf invert setzen,

        sonst zeigt der nen falschen Status.

        In FHEM musste ich das wieder umbiegen und nochmal invertieren, da FHEM

        sonst den falschen Status zeigt.

        Nur wenn ich beide invertiere, ist der Status in ESPeasy und FHEM korrekt.

        Mag das das Problem sein? Hatte ich nicht auf dem Schirm, das das ein Problem

        sein könnte, da das manuelle schalten im iobroker auch ohne Probleme geht.

        In FHEM sieht das entprechende Attribut so aus:

        eventMap /gpio 0 on:off/gpio 0 off:on/status gpio 0:check/
        

        Das Innenlicht ist schonmal angesprungen:

        21:46:00.612	[info]	javascript.0 script.js.common.Hühnerstall: Innenlicht: true
        22:00:00.618	[info]	javascript.0 script.js.common.Hühnerstall: Innenlicht: false
        22:00:00.639	[info]	javascript.0 script.js.common.Hühnerstall: Notlicht: true
        

        Gruß
        2880_1.png

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

          @noxx:

          In FHEM sieht das entprechende Attribut so aus: `
          Damit kann ich nichts anfangen, denn ich kenne FHEM nicht.

          Wichtiger wäre herauszufinden, ob es Konfigurationsparameter gibt, die das zyklische Aktualisieren veranlassen.

          1 Reply Last reply Reply Quote 0
          • N
            noxx last edited by

            @paul53:

            @noxx:

            In FHEM sieht das entprechende Attribut so aus: `
            Damit kann ich nichts anfangen, denn ich kenne FHEM nicht.

            Wichtiger wäre herauszufinden, ob es Konfigurationsparameter gibt, die das zyklische Aktualisieren veranlassen. `

            FHEM und iobroker weiß ich nicht. Evtl ESPeasy, der sollte eigentlich alle

            60 Sekunden den Status an FHEM schicken.
            2880_1.png

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

              @noxx:

              Evtl ESPeasy, der sollte eigentlich alle 60 Sekunden den Status an FHEM schicken. `
              Das kann schon sein, aber dass FHEM dann auch alle 60 s die Daten an Telnet weiter reicht, kann doch sicherlich verhindert werden (nur bei Änderung senden) ?
              @noxx:

              Das Innenlicht ist schonmal angesprungen: `
              Um 22:10 hat sicherlich auch das Notlicht ausgeschaltet ?

              1 Reply Last reply Reply Quote 0
              • N
                noxx last edited by

                Ja, ging pünktlich aus

                Gesendet von meinem GT-I9195 mit Tapatalk

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

                  Du kannst es natürlich so lassen (change: 'ne'), wobei das die Reaktion auf das setState(id, val) im gleichen Skript ist, während mit ack:true auf die Bestätigung des Aktors (hat tatsächlich reagiert) getriggert wird, was aufgrund der zyklischen Aktualisierung leider nicht funktioniert. Was Du noch versuchen kannst (anstelle change: 'ne'😞 ack: true, oldAck: false

                  1 Reply Last reply Reply Quote 0
                  • N
                    noxx last edited by

                    danke, probiere ich aus.

                    ! ````
                    var debug = true; // nach Test auf false setzen !
                    ! var idTemp = "fhem.0.ESP03_Temperatur.Temperature"/ESP03_Temperatur Temperature/;
                    var idAktor_Innenlicht = "fhem.0.ESP03_Innenlicht.state"/ESP03_Innenlicht state/;
                    var idAktor_Notlicht = "fhem.0.ESP03_Notlicht.state"/ESP03_Notlicht state/;
                    var idAktor_Heizung = "fhem.0.ESP03_Heizung.state"/ESP03_Heizung state/;
                    ! var temp = getState(idTemp).val;
                    var aktor_Innenlicht = getState(idAktor_Innenlicht).val;
                    var aktor_Notlicht = getState(idAktor_Notlicht).val;
                    var aktor_Heizung = getState(idAktor_Heizung).val;
                    var timer = null;
                    ! function Zeitschaltung() {
                    var tag = compareTime('06:00', '22:00', 'between');
                    if(tag && !isAstroDay()) {
                    if(!aktor_Innenlicht) setState(idAktor_Innenlicht, true);
                    }
                    else if(aktor_Innenlicht) setState(idAktor_Innenlicht, false);
                    }
                    ! function heizung() {
                    if (temp < 0 && !aktor_Heizung) setState(idAktor_Heizung, true);
                    else if (temp > 1 && aktor_Heizung) setState(idAktor_Heizung, false);
                    }
                    ! schedule('* * * * *', Zeitschaltung);
                    ! on(idTemp, function(dp) {
                    temp = dp.state.val;
                    heizung();
                    });
                    ! on({id: idAktor_Innenlicht, ack: true, oldAck: false}, function(dp) {
                    aktor_Innenlicht = dp.state.val;
                    if(debug) log('Innenlicht: ' + aktor_Innenlicht);
                    if(!aktor_Innenlicht) setState(idAktor_Notlicht, true); // Notlicht ein
                    });
                    ! on({id: idAktor_Notlicht, ack: true, oldAck: false}, function(dp) {
                    aktor_Notlicht = dp.state.val;
                    if(debug) log('Notlicht: ' + aktor_Notlicht);
                    if(aktor_Notlicht) { // hat eingeschaltet
                    if(timer) clearTimeout(timer);
                    timer = setTimeout(function() {
                    setState(idAktor_Notlicht, false);
                    }, 600000); // nach 10 Minuten aus
                    }
                    });
                    ! on({id: idAktor_Heizung, ack: true, oldAck: false}, function(dp) {
                    aktor_Heizung = dp.state.val;
                    if(debug) log('Heizung: ' + aktor_Heizung);
                    });

                    
                    Notlicht geht nicht an, gucke mal, ob alles sauber durchläuft.
                    
                      ` > Das kann schon sein, aber dass FHEM dann auch alle 60 s die Daten an das Terminal weiter reicht, kann doch sicherlich verhindert werden (nur bei Änderung senden) ? `  
                    
                    In Fhem ist ja nichts dergleichen eingestellt. Der FHEM Adapter macht ja alles per Telnet. Bin erstmal froh, das es läuft. danke nochmal
                    1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 last edited by

                      @noxx:

                      probiere ich aus. `
                      Funktioniert es mit ack: true, oldAck: false ?

                      1 Reply Last reply Reply Quote 0
                      • N
                        noxx last edited by

                        Ja, sieht so aus. Danke

                        Gesendet von meinem GT-I9195 mit Tapatalk

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

                          @paul53:

                          Funktioniert es mit ack: true, oldAck: false ? ` @noxx:

                          Ja, sieht so aus. `
                          Dann markiere bitte das Thema als gelöst (im ersten Beitrag).

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          703
                          Online

                          31.7k
                          Users

                          79.8k
                          Topics

                          1.3m
                          Posts

                          2
                          54
                          4696
                          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