Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Vorlage] Variable Zeitsteuerung mit VIS Editor

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

[Vorlage] Variable Zeitsteuerung mit VIS Editor

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vistemplate
919 Beiträge 47 Kommentatoren 279.6k Aufrufe 75 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • GlasfaserG Glasfaser

    @sigi234

    Nochmal :

    in den Timerconditions gehören nur Bedingungen rein nichts zum schalten bzw. was du schalten willst .

    Die Aktoren die du schalten willst gehören in :

    1.JPG

    sigi234S Online
    sigi234S Online
    sigi234
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #242

    @Glasfaser

    Ich gebe auf.

    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
    Immer Daten sichern!

    GlasfaserG 1 Antwort Letzte Antwort
    0
    • sigi234S sigi234

      @Glasfaser

      Ich gebe auf.

      GlasfaserG Offline
      GlasfaserG Offline
      Glasfaser
      schrieb am zuletzt editiert von
      #243

      @sigi234

      OK … ich weiß jetzt nicht warum … aber kein Problem :relaxed:

      Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

      G 1 Antwort Letzte Antwort
      0
      • GlasfaserG Glasfaser

        @sigi234

        OK … ich weiß jetzt nicht warum … aber kein Problem :relaxed:

        G Offline
        G Offline
        GiuseppeS
        schrieb am zuletzt editiert von
        #244

        @sigi234
        Er gab auf weil die Grundlagen des ersten Post nicht beachtet wurden.
        Ich übrigens schon früher da mein Wecker bereits um 5 Uhr klingelt.

        Bei den Inhalten der zwei Datenpunkte, die du weiter oben als Code angefügt hattest, ist mir aufgefallen, dass in deinen ConditionJson Unterobjekte von deinen TimerJSON existieren. Aber unterhalb der in TimerJSON und somit in deiner Aufzählung Licht eingesetzten Objekte dürfte nichts stehen...

        Daher nochmal die Bitte:
        Prüfe und korrigiere die Inhalte, die in deiner Aufzählung "Licht" stehen. Es dürfen nur die States eines Objekts drin stehen (letzte Stufe bei den Objekten, drunter sollte keine Ebene mehr sein).
        Wenn Du die Aufzählung Licht korrigiert hast, bitte stoppe das Skript, lösche das State "javascript.0.Timer.Devices.TimerJSON" und starte erneut das Skript.

        Bei den Bedingungen besteht auch nur die Pflicht States in der Aufzählung zu verwenden. Was du einsetzt, ist dir überlassen. ABER es dürfen eben nur States sein (also die Objekte der untersten Ebene, die übrigens im IoBroker Objekt-Reiter nicht als Ordner angezeigt werden).

        Wenn ich die Zeit finde werde ich in den kommenden Tagen, oder am Wochenende, zwei Videos einstellen. Einmal die grundsätzliche Erklärung des Timers und dann noch die Einrichtung.

        1 Antwort Letzte Antwort
        0
        • G Offline
          G Offline
          GiuseppeS
          schrieb am zuletzt editiert von
          #245

          @sigi234
          Darauf beziehe ich mich übrigens. In oberer Code Zeile ganz klar Unterobjekt von zweiter Zeile (Ergänzung ".STATE").
          Screenshot_20190910_064313_com.android.chrome.jpg

          1 Antwort Letzte Antwort
          0
          • G Offline
            G Offline
            GiuseppeS
            schrieb am zuletzt editiert von
            #246

            Habe ein kleines Update hochgeladen.

            Mir war gestern aufgefallen, dass die Anzeige des nächsten Timers bei einem bestimmten Fall fehlerhaft war (wenn mehrere Timer anstehen, aber keiner davon am "heutigen" Tag). Habe die Funktion korrigiert, diese könnt ihr einfach in euren Skripten ersetzen:

            // Zeigt alle kommenden Timer in Liste (optimiert für DropDown-Liste)
            function nextTimer(){
                var TimerJSON = JSON.parse(getState("javascript.0.Timer." + path + ".TimerJSON").val);
                var timeStamp, checkTime, firstKey, splitKey, newKey;
                var allTimer = {};
                Object.keys(TimerJSON).forEach(function(key) {
                    for(var i = 1; i <= length(TimerJSON[key]); i++) {
                        // Hier werden alle Timer durchlaufen
                        if (TimerJSON[key][i].Aktiv && TimerJSON[key][i].ConditionsTrue){
                            // Timer ist Aktiv und Bedingungen sind erfüllt
                            var tmp = TimerJSON[key][i].CronTage.split(",");
                            for(var j = 0; j < tmp.length; j++) {
                                tmp[j] = (tmp[j] == 0 ? 7 : tmp[j]);
                                timeStamp = tmp[j] + " " + TimerJSON[key][i].Zeit;
                                if (showValues){
                                    if (allTimer.hasOwnProperty(timeStamp)) {allTimer[timeStamp] += ", " + key + " (" + TimerJSON[key][i].Sollwert + ")"}
                                    else {allTimer[timeStamp] = key + " (" + TimerJSON[key][i].Sollwert + ")";}
                                } else {
                                    if (allTimer.hasOwnProperty(timeStamp)) {allTimer[timeStamp] += ", " + key}
                                    else {allTimer[timeStamp] = key;}
                                }
                            }
                        }
                    }
                });
                var allTimerLength = length(allTimer);
                var d = new Date();
                var actDay = (d.getDay() == 0 ? 7 : d.getDay());
                var actTime = ('0' + d.getHours()).slice(-2) + ":" + ('0' + d.getMinutes()).slice(-2);
                var actTimeStamp = actDay + " " + actTime;
            
                if (allTimerLength == 0){
                    setState("javascript.0.Timer." + path + ".NextDevice", "Keine Timer");
                    setState("javascript.0.Timer." + path + ".NextDevices", "Keine Timer");
                }
                else if (allTimerLength == 1){
                    firstKey = Object.keys(allTimer)[0];
                    splitKey = firstKey.split(" ");
                    newKey = TageJSON[splitKey[0]] + " " + splitKey[1];
                    setState("javascript.0.Timer." + path + ".NextDevice", newKey + " - " + allTimer[firstKey]);
                    setState("javascript.0.Timer." + path + ".NextDevices", newKey + " - " + allTimer[firstKey]);
                }
                else {
                    firstKey = "";
                    var listBefore = "";
                    var listAfter = "";
                    var listComplete = "";
                    Object.keys(allTimer).sort().forEach(function(key) {
                        if (key > actTimeStamp){
                            if (firstKey == "") {firstKey = key};
                            splitKey = key.split(" ");
                            newKey = ( parseInt(splitKey[0]) == actDay ? "" : TageJSON[splitKey[0]]) + " " + splitKey[1];
                            listAfter += newKey + " - " + allTimer[key] + ";" ;
                        }
                        else {
                            splitKey = key.split(" ");
                            newKey = TageJSON[splitKey[0]] + " " + splitKey[1];
                            listBefore += newKey + " - " + allTimer[key] + ";" ;
                    };
                    });
                    listComplete = listAfter + listBefore;
                    setState("javascript.0.Timer." + path + ".NextDevice", listComplete.split(";")[0]);
                    setState("javascript.0.Timer." + path + ".NextDevices", listComplete.slice(0, listComplete.length - 1));
                }
            }
            

            Habe ansonsten noch alle Subscribes in Funktionen gepackt, und deren Ausführung am Ende der Main Funktion verzögert eingefügt. Somit entstehen nun nur noch zwei Fehler nach der ersten Ausführung des Skripts (also wenn noch keine States erstellt wurden). Wollte die Fehler eigentlich komplett eliminieren aber die letzten Beiden sind iwie sehr zäh :man-facepalming:

            1 Antwort Letzte Antwort
            0
            • G Offline
              G Offline
              GiuseppeS
              schrieb am zuletzt editiert von
              #247

              Und noch ein Update hinterher: Keine neue Funktionalität, aber höherer Komfort.

              • Die Sollwerte-Auswahl im PopUp wird entsprechend der hinterlegten Devices angezeigt. Ist es ein Boolean Device (true/false), wird in der Auswahl nur An/Aus zur Auswahl dargestellt.
              • Wenn kein boolean, dann wird der Rest angezeigt (Zahlenwerte + Auf/ab)

              Theoretisch könnte ich diese Auswahl auf für die Bedingungen vorgeben. Besteht hierbei Interesse?
              Bei den Bedingungen hatte ich Vorgaben bisher nicht integriert, damit diese möglichst frei genutzt werden können.

              Für das Update in bestehende Skripte würde ich empfehlen komplett neu zu importieren. Auch das PopUp!
              Einfacher Import:
              Nur Skript-Inhalt unter Zeile 40 kopieren und im eigenen Skript alles unter Zeile 40 damit ersetzen. Es kamen oben keine neuen Variablen dazu, daher bleiben eure Voreinstellungen davon unberührt.

              GlasfaserG 1 Antwort Letzte Antwort
              0
              • G GiuseppeS

                Und noch ein Update hinterher: Keine neue Funktionalität, aber höherer Komfort.

                • Die Sollwerte-Auswahl im PopUp wird entsprechend der hinterlegten Devices angezeigt. Ist es ein Boolean Device (true/false), wird in der Auswahl nur An/Aus zur Auswahl dargestellt.
                • Wenn kein boolean, dann wird der Rest angezeigt (Zahlenwerte + Auf/ab)

                Theoretisch könnte ich diese Auswahl auf für die Bedingungen vorgeben. Besteht hierbei Interesse?
                Bei den Bedingungen hatte ich Vorgaben bisher nicht integriert, damit diese möglichst frei genutzt werden können.

                Für das Update in bestehende Skripte würde ich empfehlen komplett neu zu importieren. Auch das PopUp!
                Einfacher Import:
                Nur Skript-Inhalt unter Zeile 40 kopieren und im eigenen Skript alles unter Zeile 40 damit ersetzen. Es kamen oben keine neuen Variablen dazu, daher bleiben eure Voreinstellungen davon unberührt.

                GlasfaserG Offline
                GlasfaserG Offline
                Glasfaser
                schrieb am zuletzt editiert von Glasfaser
                #248

                @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                Und noch ein Update hinterher: Keine neue Funktionalität, aber höherer Komfort.

                • Die Sollwerte-Auswahl im PopUp wird entsprechend der hinterlegten Devices angezeigt. Ist es ein Boolean Device (true/false), wird in der Auswahl nur An/Aus zur Auswahl dargestellt.
                • Wenn kein boolean, dann wird der Rest angezeigt (Zahlenwerte + Auf/ab)

                Update durchgeführt , Werte der DropDown-Liste werden je nach Aktor erfüllt .
                Wie immer …. :+1:

                Frage ……., bei den Updates muss ich immer händisch die Werte ändern , könntest du es nicht mit reinnehme , dann ist es kompatibel mit @Mic Log Script .

                3.JPG
                .
                1.JPG
                .
                2.JPG

                Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                MicM G 2 Antworten Letzte Antwort
                0
                • GlasfaserG Glasfaser

                  @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                  Und noch ein Update hinterher: Keine neue Funktionalität, aber höherer Komfort.

                  • Die Sollwerte-Auswahl im PopUp wird entsprechend der hinterlegten Devices angezeigt. Ist es ein Boolean Device (true/false), wird in der Auswahl nur An/Aus zur Auswahl dargestellt.
                  • Wenn kein boolean, dann wird der Rest angezeigt (Zahlenwerte + Auf/ab)

                  Update durchgeführt , Werte der DropDown-Liste werden je nach Aktor erfüllt .
                  Wie immer …. :+1:

                  Frage ……., bei den Updates muss ich immer händisch die Werte ändern , könntest du es nicht mit reinnehme , dann ist es kompatibel mit @Mic Log Script .

                  3.JPG
                  .
                  1.JPG
                  .
                  2.JPG

                  MicM Offline
                  MicM Offline
                  Mic
                  Developer
                  schrieb am zuletzt editiert von
                  #249

                  @Glasfaser
                  Wie verwendest du denn die Zusatzangaben "Timer: " und "+++ " zur Filterung im Log-Script?
                  Evtl. geht es auch ohne diese Zusätze, wenn du auf den Script-Namen alleine filterst.
                  Also falls GiuseppeS dies nicht in sein Script einbaut, Zusatz-Strings zur Logausgabe zu ermöglichen.

                  @GiuseppeS - nur nebenbei: vielen Dank für deine tolle Arbeit :+1:, ich setze dein Script zwar noch nicht ein, aber werde ich bald machen :-)

                  GlasfaserG 1 Antwort Letzte Antwort
                  0
                  • MicM Mic

                    @Glasfaser
                    Wie verwendest du denn die Zusatzangaben "Timer: " und "+++ " zur Filterung im Log-Script?
                    Evtl. geht es auch ohne diese Zusätze, wenn du auf den Script-Namen alleine filterst.
                    Also falls GiuseppeS dies nicht in sein Script einbaut, Zusatz-Strings zur Logausgabe zu ermöglichen.

                    @GiuseppeS - nur nebenbei: vielen Dank für deine tolle Arbeit :+1:, ich setze dein Script zwar noch nicht ein, aber werde ich bald machen :-)

                    GlasfaserG Offline
                    GlasfaserG Offline
                    Glasfaser
                    schrieb am zuletzt editiert von
                    #250

                    @Mic sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                    @Glasfaser
                    Wie verwendest du denn die Zusatzangaben "Timer: " und "+++ " zur Filterung im Log-Script?
                    Evtl. geht es auch ohne diese Zusätze, wenn du auf den Script-Namen alleine filterst.
                    Also falls GiuseppeS dies nicht in sein Script einbaut, Zusatz-Strings zur Logausgabe zu ermöglichen.

                    Ich benutze nur die "+++ " anstatt " Timer: " zum Filtern in meiner Liste

                    {
                        id:          'javascript',
                        filter_all:  ['+++'],
                        filter_any:  [''],
                        blacklist:   ['Error'],
                        clean:       ['script.js.Timer.Rollladen.Timer_Rollladen_EG:','script.js.Timer.Aktor.Timer_Aktor:','script.js.Timer.Rollladen.Timer_Rollladen_OG:','.LEVEL','.STATE','script.js.Fritzbox.QRCode:','Timer.Außen.Steckdose_Carport_prüfen_und_aus:','script.js.Synology.Backup1: ','script.js.Synology.Backup2: ','script.js.Homematic_CCU.Gartenbeleuchtung_an_aus:','script.js.Kalender_Zeit.Astrocheck_Dusk:','script.js.Kalender_Zeit.Astrocheck_Sunset:','+++ ',' +++'],
                        columns:     ['date','msg'],
                      },
                    

                    8.JPG

                    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                    1 Antwort Letzte Antwort
                    0
                    • GlasfaserG Glasfaser

                      @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                      Und noch ein Update hinterher: Keine neue Funktionalität, aber höherer Komfort.

                      • Die Sollwerte-Auswahl im PopUp wird entsprechend der hinterlegten Devices angezeigt. Ist es ein Boolean Device (true/false), wird in der Auswahl nur An/Aus zur Auswahl dargestellt.
                      • Wenn kein boolean, dann wird der Rest angezeigt (Zahlenwerte + Auf/ab)

                      Update durchgeführt , Werte der DropDown-Liste werden je nach Aktor erfüllt .
                      Wie immer …. :+1:

                      Frage ……., bei den Updates muss ich immer händisch die Werte ändern , könntest du es nicht mit reinnehme , dann ist es kompatibel mit @Mic Log Script .

                      3.JPG
                      .
                      1.JPG
                      .
                      2.JPG

                      G Offline
                      G Offline
                      GiuseppeS
                      schrieb am zuletzt editiert von GiuseppeS
                      #251

                      @Glasfaser
                      Ich kann die Variable einbauen. Würde sie "logPraefix" taufen und in die Log-Ausgabe einbinden.
                      Da sich die Variable im Bereich der erweiterten Optionen befinden wird, sehe ich keine Probleme für Nutzer der Script-Kategorie "Anfänger".
                      Werde ich nachher schnell einbinden...

                      @Mic
                      Kann die netten Worte nur zurückgeben. Habe selbst des öfteren von deinem Script gehört und werde es auch demnächst einsetzen :+1:

                      GlasfaserG MicM 2 Antworten Letzte Antwort
                      1
                      • G GiuseppeS

                        @Glasfaser
                        Ich kann die Variable einbauen. Würde sie "logPraefix" taufen und in die Log-Ausgabe einbinden.
                        Da sich die Variable im Bereich der erweiterten Optionen befinden wird, sehe ich keine Probleme für Nutzer der Script-Kategorie "Anfänger".
                        Werde ich nachher schnell einbinden...

                        @Mic
                        Kann die netten Worte nur zurückgeben. Habe selbst des öfteren von deinem Script gehört und werde es auch demnächst einsetzen :+1:

                        GlasfaserG Offline
                        GlasfaserG Offline
                        Glasfaser
                        schrieb am zuletzt editiert von Glasfaser
                        #252

                        @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                        @Glasfaser
                        Ich kann die Variable einbauen. Würde sie "logPraefix" taufen und in die Log-Ausgabe einbinden.
                        Da sich die Variable im Bereich der erweiterten Optionen befinden wird, sehe ich keine Probleme für Nutzer der Script-Kategorie "Anfänger".
                        Werde ich nachher schnell einbinden...

                        Ja danke … muß nicht sofort sein , kannst Du demnächst mal in einem Update mit einbinden !

                        @GiuseppeS sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                        @Mic
                        Kann die netten Worte nur zurückgeben. Habe selbst des öfteren von deinem Script gehört und werde es auch demnächst einsetzen :+1:

                        Dito …..., deshalb mache ich hier Werbung :sunglasses:

                        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                        1 Antwort Letzte Antwort
                        1
                        • G GiuseppeS

                          @Glasfaser
                          Ich kann die Variable einbauen. Würde sie "logPraefix" taufen und in die Log-Ausgabe einbinden.
                          Da sich die Variable im Bereich der erweiterten Optionen befinden wird, sehe ich keine Probleme für Nutzer der Script-Kategorie "Anfänger".
                          Werde ich nachher schnell einbinden...

                          @Mic
                          Kann die netten Worte nur zurückgeben. Habe selbst des öfteren von deinem Script gehört und werde es auch demnächst einsetzen :+1:

                          MicM Offline
                          MicM Offline
                          Mic
                          Developer
                          schrieb am zuletzt editiert von Mic
                          #253

                          @GiuseppeS :-)

                          @Glasfaser
                          Danke :-) Ich will diesen Thread nicht übernehmen, falls mehr Austausch notwendig, dann besser im Log-Script-Thread.
                          Aber wie sieht es aus, wenn du unter "filter_all" statt +++ einfach script.js.Timer. eingibst? Oder nimmst du das +++ für alles, was du loggen willst? Dann macht es das natürlich einfacher...
                          Alternativ könntest du alle Anfangs-Bestandteile der zu loggenden Scripte unter "filter_any" hinzufügen, also script.js.Timer., script.js.Synology. etc.

                          GlasfaserG 1 Antwort Letzte Antwort
                          1
                          • MicM Mic

                            @GiuseppeS :-)

                            @Glasfaser
                            Danke :-) Ich will diesen Thread nicht übernehmen, falls mehr Austausch notwendig, dann besser im Log-Script-Thread.
                            Aber wie sieht es aus, wenn du unter "filter_all" statt +++ einfach script.js.Timer. eingibst? Oder nimmst du das +++ für alles, was du loggen willst? Dann macht es das natürlich einfacher...
                            Alternativ könntest du alle Anfangs-Bestandteile der zu loggenden Scripte unter "filter_any" hinzufügen, also script.js.Timer., script.js.Synology. etc.

                            GlasfaserG Offline
                            GlasfaserG Offline
                            Glasfaser
                            schrieb am zuletzt editiert von Glasfaser
                            #254

                            @Mic sagte in [Vorlage] Variable Zeitsteuerung mit VIS Editor:

                            @Glasfaser
                            Aber wie sieht es aus, wenn du unter "filter_all" statt +++ einfach script.js.Timer. eingibst?

                            Nee … lass mal …. Danke :+1: , für mich ist es kein Problem es so zu lassen , es sind nicht nur die Rollladen hinterlegt …. sonst funktionieren die anderen Meldungen nicht .

                            PS: Lese auch deine Änderung …. Trotzdem Danke für die Tips

                            Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                            1 Antwort Letzte Antwort
                            0
                            • MicM Offline
                              MicM Offline
                              Mic
                              Developer
                              schrieb am zuletzt editiert von
                              #255

                              Passt :-) Habe oben meine Nachricht noch korrigiert und ergänzt...

                              GlasfaserG 1 Antwort Letzte Antwort
                              0
                              • MicM Mic

                                Passt :-) Habe oben meine Nachricht noch korrigiert und ergänzt...

                                GlasfaserG Offline
                                GlasfaserG Offline
                                Glasfaser
                                schrieb am zuletzt editiert von Glasfaser
                                #256

                                @Mic

                                Danke für die Tipps , kann man immer gebrauchen :neutral_face:

                                Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                                1 Antwort Letzte Antwort
                                0
                                • G Offline
                                  G Offline
                                  GiuseppeS
                                  schrieb am zuletzt editiert von
                                  #257

                                  Update ist raus: 15.09.2019 v2

                                  • Log-Ausgabe wird über Variable "logPraefix" manipuliert. Default-Wert = "Timer: ", was somit der aktuellen Ausgabe entspricht.
                                  1 Antwort Letzte Antwort
                                  1
                                  • A Offline
                                    A Offline
                                    ak1
                                    schrieb am zuletzt editiert von
                                    #258

                                    Ich möchte nochmal zu dem Thema „Anwesenheitssimulation“ nachhaken.
                                    Ich habe beispielsweise einen Timer, der an Wochentagen um 06:05 +- 3 Min (Zufall) das Licht im Bad einschaltet. Ein zweiter Timer schaltet es dann gegen 06:25 (wieder +- ein paar Minuten) aus.
                                    Das funktioniert soweit problemlos und passt auch für viele Monate im Jahr. Allerdings gibt es eine Zeit im Sommer, da ist der Sonnenaufgang so früh, da würde man gar kein Licht anschalten. Hat jemand einen Ansatz, wie man ggf. Bedingungen gestalten kann, die z.B. Die aktuelle Zeit und Astro-Zeiten berücksichtigen?
                                    Möglicherweise denke ich ja auch viel zu kompliziert.

                                    VG
                                    ak1

                                    G 1 Antwort Letzte Antwort
                                    0
                                    • A ak1

                                      Ich möchte nochmal zu dem Thema „Anwesenheitssimulation“ nachhaken.
                                      Ich habe beispielsweise einen Timer, der an Wochentagen um 06:05 +- 3 Min (Zufall) das Licht im Bad einschaltet. Ein zweiter Timer schaltet es dann gegen 06:25 (wieder +- ein paar Minuten) aus.
                                      Das funktioniert soweit problemlos und passt auch für viele Monate im Jahr. Allerdings gibt es eine Zeit im Sommer, da ist der Sonnenaufgang so früh, da würde man gar kein Licht anschalten. Hat jemand einen Ansatz, wie man ggf. Bedingungen gestalten kann, die z.B. Die aktuelle Zeit und Astro-Zeiten berücksichtigen?
                                      Möglicherweise denke ich ja auch viel zu kompliziert.

                                      VG
                                      ak1

                                      G Offline
                                      G Offline
                                      GiuseppeS
                                      schrieb am zuletzt editiert von
                                      #259

                                      @ak1
                                      Ich würde ein Object namens Daylight erstellen, dass true bzw false in Abhängigkeit der Astro Zeit aufweist.
                                      Wenn Uhrzeit zwischen sunrise und sunset = true
                                      Ansonsten false.
                                      Dieses Object dann als weitere Bedingung in Timer einbinden.

                                      1 Antwort Letzte Antwort
                                      0
                                      • A Offline
                                        A Offline
                                        ak1
                                        schrieb am zuletzt editiert von
                                        #260

                                        @GiuseppeS
                                        Das klingt gut und logisch. Ein Skript würde dann den Wert dieses Objektes setzen. Was wäre ein geeigneter Trigger, um so ein Skript auszulösen? Oder müsste das Skript einfach zyklisch alle paar Minuten laufen lassen?

                                        G GlasfaserG 2 Antworten Letzte Antwort
                                        0
                                        • A ak1

                                          @GiuseppeS
                                          Das klingt gut und logisch. Ein Skript würde dann den Wert dieses Objektes setzen. Was wäre ein geeigneter Trigger, um so ein Skript auszulösen? Oder müsste das Skript einfach zyklisch alle paar Minuten laufen lassen?

                                          G Offline
                                          G Offline
                                          GiuseppeS
                                          schrieb am zuletzt editiert von GiuseppeS
                                          #261

                                          @ak1
                                          Würde selbst alle 5 Minuten triggern. Dadurch hat man zwar eine größere Abweichung zwischen Object und Realität aber mir würde es genügen.

                                          Edit:
                                          Hatte hier alternativ eine weitere Lösung beschrieben. Aber war eher unnötig kompliziert. Falls schon gelesen, bitte ignorieren.

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          165

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe