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.
    • 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

                        760
                        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