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

donate donate
  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.5k

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

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

[Vorlage] Variable Zeitsteuerung mit VIS Editor

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vistemplate
919 Beiträge 47 Kommentatoren 280.0k 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.
  • 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
      • 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?

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

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

        ….Hat jemand einen Ansatz, wie man ggf. Bedingungen gestalten kann, die z.B. Die aktuelle Zeit und Astro-Zeiten berücksichtigen?
        ….

        Ganz einfach …. nimm dieses Skript/Datenpunkte , als Bedingung :
        .
        1.JPG

        .
        Skript:

        // Astro im VIS anzeigen und Datenpunkt true/false setzen
        
        schedule('* * * * *', getAstroValues );  // 
        var idSunset =  'javascript.0.Astrovis.sunset';
        var idSunrise =  'javascript.0.Astrovis.sunrise';
        var idSunriseEnd =  'javascript.0.Astrovis.sunriseEnd';
        var idDusk =  'javascript.0.Astrovis.dusk';
        var idgoldenHourEnd =  'javascript.0.Astrovis.goldenHourEnd';
        
        
        var idAstro_Sunset =  'javascript.0.Astrovis.Astro_Sunset';
        var idAstro_SunriseEnd =  'javascript.0.Astrovis.Astro_SunriseEnd';
        var idAstro_Sunrise =  'javascript.0.Astrovis.Astro_Sunrise';
        var idAstro_Dusk =  'javascript.0.Astrovis.Astro_Dusk';
        var idAstro_GoldenHourEnd =  'javascript.0.Astrovis.Astro_GoldenHourEnd';
        
        createState(idSunrise, {type: 'string',name: 'Sonnenaufgang', def: ''});
        createState(idSunriseEnd, {type: 'string',name: 'Sonnenaufgangende', def: ''});
        createState(idSunset , {type: 'string',name: 'Sonnenuntergang', def: ''});
        createState(idDusk , {type: 'string',name: 'Sonnenuntergangspät', def: ''});
        createState(idgoldenHourEnd , {type: 'string',name: 'goldenHourEnd', def: ''});
        
        
        createState(idAstro_Sunset , {type: 'mixed',name: 'Astro_Sunset', def: 'false'});
        createState(idAstro_SunriseEnd , {type: 'mixed',name: 'Astro_SunriseEnd', def: 'false'});
        createState(idAstro_Sunrise , {type: 'mixed',name: 'Astro_Sunrise', def: 'false'});
        createState(idAstro_Dusk , {type: 'mixed',name: 'Astro_Dusk', def: 'false'});
        createState(idAstro_GoldenHourEnd , {type: 'mixed',name: 'Astro_GoldenHourEnd', def: 'false'});
        
        
        function getAstroValues() {
         //setState(idSunrise, getAstroDate("sunrise").toLocaleTimeString() );
         setState(idSunriseEnd, getAstroDate("sunriseEnd").toLocaleTimeString('de-DE', { hour12: false }));
         setState(idSunset, getAstroDate("sunset").toLocaleTimeString('de-DE', { hour12: false }));
         setState(idDusk, getAstroDate("dusk").toLocaleTimeString('de-DE', { hour12: false }));
         setState(idgoldenHourEnd, getAstroDate("goldenHourEnd").toLocaleTimeString('de-DE', { hour12: false }));
         setState(idSunrise, getAstroDate("sunrise").toLocaleTimeString('de-DE', { hour12: false }));
        
        
        }
        
        // jede Nacht um 2:02 aktualisieren
        schedule('2 2 * * *', getAstroValues );
        
        
        // Test - Direktausführung
        getAstroValues();
        

        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
        • A Offline
          A Offline
          ak1
          schrieb am zuletzt editiert von
          #263

          @GiuseppeS
          @Glasfaser

          Vielen Dank! Das war wieder sehr hilfreich.

          VG
          ak1

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

            Hallo zusammen,

            wie bekomme ich das repariert?

            2019-10-02 21:03:00.011 warn at Timer.processTimers (timers.js:223:10) javascript.1
            2019-10-02 21:03:00.011 warn at listOnTimeout (timers.js:263:5) javascript.1
            2019-10-02 21:03:00.011 warn at tryOnTimeout (timers.js:300:5) javascript.1
            2019-10-02 21:03:00.011 warn at ontimeout (timers.js:438:13) javascript.1
            2019-10-02 21:03:00.011 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1856:34) javascript.1
            2019-10-02 21:03:00.011 warn at Object.<anonymous> (script.js.common.Anwesenheitssimulation.AS_Bad:54:11) javascript.1
            2019-10-02 21:03:00.011 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1276:20) javascript.1
            2019-10-02 21:03:00.009 warn State "control.0.presence_abscence.AS_Bad_2" not found
            

            Es gibt den State/das Objekt "AS_Bad_2" nicht mehr. Es gibt auch keinen Timer mehr dazu und auch kein Überbleibsel in der Aufzählung "Timers".
            Allerdings hatte ich den Fehler gemacht, entsprechende Timer zu löschen, dann das Objekt zu entfernen und anschließend das Zeitsteuerungsskript neu zu starten. Erst dann ist mir aufgefallen, dass ich noch eine "AS_Bad_2"-Leiche in der Aufzählung habe.

            Ich dachte ich hätte nun alles korrigiert, aber diese Warnung taucht immer wieder auf.

            Kann ich das irgendwo bereinigen?

            Danke und Gruß
            ak1

            sigi234S 1 Antwort Letzte Antwort
            0
            • A ak1

              Hallo zusammen,

              wie bekomme ich das repariert?

              2019-10-02 21:03:00.011 warn at Timer.processTimers (timers.js:223:10) javascript.1
              2019-10-02 21:03:00.011 warn at listOnTimeout (timers.js:263:5) javascript.1
              2019-10-02 21:03:00.011 warn at tryOnTimeout (timers.js:300:5) javascript.1
              2019-10-02 21:03:00.011 warn at ontimeout (timers.js:438:13) javascript.1
              2019-10-02 21:03:00.011 warn at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1856:34) javascript.1
              2019-10-02 21:03:00.011 warn at Object.<anonymous> (script.js.common.Anwesenheitssimulation.AS_Bad:54:11) javascript.1
              2019-10-02 21:03:00.011 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1276:20) javascript.1
              2019-10-02 21:03:00.009 warn State "control.0.presence_abscence.AS_Bad_2" not found
              

              Es gibt den State/das Objekt "AS_Bad_2" nicht mehr. Es gibt auch keinen Timer mehr dazu und auch kein Überbleibsel in der Aufzählung "Timers".
              Allerdings hatte ich den Fehler gemacht, entsprechende Timer zu löschen, dann das Objekt zu entfernen und anschließend das Zeitsteuerungsskript neu zu starten. Erst dann ist mir aufgefallen, dass ich noch eine "AS_Bad_2"-Leiche in der Aufzählung habe.

              Ich dachte ich hätte nun alles korrigiert, aber diese Warnung taucht immer wieder auf.

              Kann ich das irgendwo bereinigen?

              Danke und Gruß
              ak1

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

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

              javascript.1

              Hast du 2 JS?

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

              A 1 Antwort Letzte Antwort
              0
              • sigi234S sigi234

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

                javascript.1

                Hast du 2 JS?

                A Offline
                A Offline
                ak1
                schrieb am zuletzt editiert von
                #266

                @sigi234
                Ja, habe ich. Auf dem Adapter .0 läuft normalerweise alles, was schon "produktiv" ist. Auf .1 laufen die Skripte, an denen ich noch am Basteln bin.

                sigi234S 1 Antwort Letzte Antwort
                0
                • A ak1

                  @sigi234
                  Ja, habe ich. Auf dem Adapter .0 läuft normalerweise alles, was schon "produktiv" ist. Auf .1 laufen die Skripte, an denen ich noch am Basteln bin.

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

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

                  @sigi234
                  Ja, habe ich. Auf dem Adapter .0 läuft normalerweise alles, was schon "produktiv" ist. Auf .1 laufen die Skripte, an denen ich noch am Basteln bin.

                  Leg den DP noch mal an.

                  control.0.presence_abscence.AS_Bad_2

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

                  A 1 Antwort Letzte Antwort
                  0
                  • sigi234S sigi234

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

                    @sigi234
                    Ja, habe ich. Auf dem Adapter .0 läuft normalerweise alles, was schon "produktiv" ist. Auf .1 laufen die Skripte, an denen ich noch am Basteln bin.

                    Leg den DP noch mal an.

                    control.0.presence_abscence.AS_Bad_2

                    A Offline
                    A Offline
                    ak1
                    schrieb am zuletzt editiert von
                    #268

                    @sigi234
                    Habe ich jetzt nochmal gemacht. Ich habe ihn auch in "Timers" Aufzählung aufgenommen.
                    Mal sehen, ob sich die Warnung irgendwann wiederholt. Ich meine, sie kam bislang nur einmal täglich.

                    Noch als Hintergrundinformation: Ich benutze die Zeitsteuerung ja für eine Anwesenheitssimulation. Und ich möchte da durch die Timer nicht unmittelbar Lampen schalten. Vielmehr schalte ich von mir angelegte Objekte/States, die dann wieder mein Skripte für Küche, Bad, ... triggern. Das gibt mir mehr Flexibilität und funktioniert eigentlich sehr gut.

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

                      @ak1
                      Wenn Du ein Gerät über die Vis löschst (d.h. alle Timer löschen), dann wird das Gerät auch aus dem Haupt JSON gelöscht.
                      Beim jedem Neustart des Scripts wird die hinterlegte Aufzählung durchlaufen, wenn vermeintlich neue Geräte in der Aufzählung vorhanden sind, werden diese Geräte mit den beiden Default Timer erstellt. War das bei dir auch der Fall oder wurde aufgrund der Leiche schon mit Fehlern abgebrochen? Hätte mMn noch stattfinden müssen.
                      Ansonsten mal TimerJSON hier anfügen. Dann kann man da noch rein schauen.

                      Nachdem du den Fehlerfall hattest, hast du mal den PC neu gestartet? Würde ich empfehlen, manchmal laufen irgendwelche alten fehlerhaften Codes im JS wenn nicht neu gestartet wird. Liegt vllt an der JS Sandbox Funktionalität. Der User Glasfaser hatte zumindest auch schonmal merkwürdiges Verhalten, was mit Neustart behoben wurde.

                      GlasfaserG 1 Antwort Letzte Antwort
                      0
                      • G GiuseppeS

                        @ak1
                        Wenn Du ein Gerät über die Vis löschst (d.h. alle Timer löschen), dann wird das Gerät auch aus dem Haupt JSON gelöscht.
                        Beim jedem Neustart des Scripts wird die hinterlegte Aufzählung durchlaufen, wenn vermeintlich neue Geräte in der Aufzählung vorhanden sind, werden diese Geräte mit den beiden Default Timer erstellt. War das bei dir auch der Fall oder wurde aufgrund der Leiche schon mit Fehlern abgebrochen? Hätte mMn noch stattfinden müssen.
                        Ansonsten mal TimerJSON hier anfügen. Dann kann man da noch rein schauen.

                        Nachdem du den Fehlerfall hattest, hast du mal den PC neu gestartet? Würde ich empfehlen, manchmal laufen irgendwelche alten fehlerhaften Codes im JS wenn nicht neu gestartet wird. Liegt vllt an der JS Sandbox Funktionalität. Der User Glasfaser hatte zumindest auch schonmal merkwürdiges Verhalten, was mit Neustart behoben wurde.

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

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

                        Nachdem du den Fehlerfall hattest, hast du mal den PC neu gestartet? Würde ich empfehlen, manchmal laufen irgendwelche alten fehlerhaften Codes im JS wenn nicht neu gestartet wird. Liegt vllt an der JS Sandbox Funktionalität.

                        Da kann ich ein Liedchen von singen …. Link Text

                        Der User Glasfaser hatte zumindest auch schonmal merkwürdiges Verhalten, was mit Neustart behoben wurde.

                        Jipp … der Tip war :+1:

                        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
                        • A Offline
                          A Offline
                          ak1
                          schrieb am zuletzt editiert von
                          #271

                          Besten Dank für die Hinweise. Im Timer JSON war keine Spur von AS_Bad_2 zu finden. Aber wie gesagt, ich habe jetzt den besagten Datenpunkt nochmal angelegt. Das Skript hat ihn beim Neustart auch ordentlich gefunden. Außerdem habe ich meine ioBroker-(virtuelle)-Maschine neu gestartet. Ich bin mir tatsächlich nicht sicher, ob ich das vorher gemacht hatte.
                          Jetzt warte ich erstmal, dann lösche ich die beiden Standardtimer für AS_Bad_2, nehme den Datenpunkt aus der Aufzählung, lösche den Datenpunkt und starte dann das Skript nochmal. Ich hoffe, dass dann AS_Bad_2 nicht mehr als Zombie umhergeht ;-)

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

                            Nur ein kleiner Hinweis bzgl. Sommerzeit/Winterzeit:

                            Astro-Zeiten wurden laut Vorlage immer um 15:05 Uhr neu berechnet und um 15:10 Uhr mit Funktion recalc() verwendet. Diese Zeiten stehen in den Zeilen 481/482.

                            Heute Morgen hatte es den Nachteil, dass die oft genutzten Sunrise Zeiten noch in Sommerzeit waren. Bitte die Zeiten in den Zeilen 481/482 anpassen. Mit 4:00 Uhr und 4:01 Uhr sollte nichts mehr schief gehen:

                                // Astro-Zeiten werden täglich aktualisiert, anschließend neu Berechnung der Timer
                                schedule('0 4 * * *', setAstro);
                                schedule('1 4 * * *', recalc);
                            

                            Im ersten Post habe ich das bereits angepasst. Weiterhin viel Spaß mit dem Skript.

                            GlasfaserG 1 Antwort Letzte Antwort
                            1
                            • G GiuseppeS

                              Nur ein kleiner Hinweis bzgl. Sommerzeit/Winterzeit:

                              Astro-Zeiten wurden laut Vorlage immer um 15:05 Uhr neu berechnet und um 15:10 Uhr mit Funktion recalc() verwendet. Diese Zeiten stehen in den Zeilen 481/482.

                              Heute Morgen hatte es den Nachteil, dass die oft genutzten Sunrise Zeiten noch in Sommerzeit waren. Bitte die Zeiten in den Zeilen 481/482 anpassen. Mit 4:00 Uhr und 4:01 Uhr sollte nichts mehr schief gehen:

                                  // Astro-Zeiten werden täglich aktualisiert, anschließend neu Berechnung der Timer
                                  schedule('0 4 * * *', setAstro);
                                  schedule('1 4 * * *', recalc);
                              

                              Im ersten Post habe ich das bereits angepasst. Weiterhin viel Spaß mit dem Skript.

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

                              Skripte wurden geändert …

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

                              ….. Weiterhin viel Spaß mit dem Skript.

                              Funktioniert super …… Danke .

                              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
                              • dbwebD Offline
                                dbwebD Offline
                                dbweb
                                schrieb am zuletzt editiert von
                                #274

                                Absolut super das script, sehr brauchbar, vielen Dank für deine Arbeit! Müsste eigendlich ein Adapter sein, Zeitschaltungen braucht doch fast jeder für sein SmartHome, gibt es Bestrebungen in die Richtung?

                                Eine kleine Frage hätte ich noch:
                                Wäre es möglich, das Überwachen einer Bedingung einzubauen? D.h. wenn wegen einer Bedingung nicht geschaltet wird, die Bedingung dann aber wegfällt und noch geschaltet sein sollte, er nachträglich noch schaltet?
                                Also z.B. Rollladen soll von 15-17 Uhr geschlossen sein, wird aber nicht da um 15Uhr die Türe offen ist. Um 15:30 Uhr wird die Türe geschlossen, und Rolladen soll dann runterfahren.
                                Hab das bisher über ein zusatzscript und Datenpunkt mit "sollzustand" gelöst den ich jeweils prüfe, finde ich aber etwas unschön, da ich dann ja die Bedingung gleich weglassen könnte.

                                G 1 Antwort Letzte Antwort
                                0
                                • dbwebD dbweb

                                  Absolut super das script, sehr brauchbar, vielen Dank für deine Arbeit! Müsste eigendlich ein Adapter sein, Zeitschaltungen braucht doch fast jeder für sein SmartHome, gibt es Bestrebungen in die Richtung?

                                  Eine kleine Frage hätte ich noch:
                                  Wäre es möglich, das Überwachen einer Bedingung einzubauen? D.h. wenn wegen einer Bedingung nicht geschaltet wird, die Bedingung dann aber wegfällt und noch geschaltet sein sollte, er nachträglich noch schaltet?
                                  Also z.B. Rollladen soll von 15-17 Uhr geschlossen sein, wird aber nicht da um 15Uhr die Türe offen ist. Um 15:30 Uhr wird die Türe geschlossen, und Rolladen soll dann runterfahren.
                                  Hab das bisher über ein zusatzscript und Datenpunkt mit "sollzustand" gelöst den ich jeweils prüfe, finde ich aber etwas unschön, da ich dann ja die Bedingung gleich weglassen könnte.

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

                                  @dbweb
                                  Bestrebungen dieses Skript als Adapter zur Verfügung zu stellen, gibt es aus unterschiedlichen Gründen nicht. Ein Adapter ist viel komplexer als ein Skript. Ein Adapter würde aus meiner Sicht nur Sinn machen, wenn zusätzlich ein VIS Widget für die Darstellung zur Verfügung gestellt wird; hier wäre ich aber ein blutiger Anfänger...

                                  Die Idee, dass Timer nachträglich (innerhalb eines Zeitfensters) ausgeführt werden, wenn Bedingungen sich positiv ändern, ist absolut verständlich. Die kam mir nämlich auch schon :man-facepalming:
                                  Auch @K_o_bold hatte sich diesbezüglich in der Vergangenheit gemeldet.
                                  Zum Beispiel für eine Anwesenheitssimulation, die sofort startet, wenn man das Haus verlässt und die sunset Zeit überschritten ist.
                                  Wie müsste die Konfiguration eines Timers aussehen: Im PopUp ein neuer Schalter "Timer merken" und ein Dropdown für die Zeit in 10-Minuten Schritten?

                                  Das Scripten wäre schon komplex. Wären bestimmt x hundert Code-Zeilen...

                                  K 1 Antwort Letzte Antwort
                                  0
                                  • G GiuseppeS

                                    @dbweb
                                    Bestrebungen dieses Skript als Adapter zur Verfügung zu stellen, gibt es aus unterschiedlichen Gründen nicht. Ein Adapter ist viel komplexer als ein Skript. Ein Adapter würde aus meiner Sicht nur Sinn machen, wenn zusätzlich ein VIS Widget für die Darstellung zur Verfügung gestellt wird; hier wäre ich aber ein blutiger Anfänger...

                                    Die Idee, dass Timer nachträglich (innerhalb eines Zeitfensters) ausgeführt werden, wenn Bedingungen sich positiv ändern, ist absolut verständlich. Die kam mir nämlich auch schon :man-facepalming:
                                    Auch @K_o_bold hatte sich diesbezüglich in der Vergangenheit gemeldet.
                                    Zum Beispiel für eine Anwesenheitssimulation, die sofort startet, wenn man das Haus verlässt und die sunset Zeit überschritten ist.
                                    Wie müsste die Konfiguration eines Timers aussehen: Im PopUp ein neuer Schalter "Timer merken" und ein Dropdown für die Zeit in 10-Minuten Schritten?

                                    Das Scripten wäre schon komplex. Wären bestimmt x hundert Code-Zeilen...

                                    K Offline
                                    K Offline
                                    K_o_bold
                                    schrieb am zuletzt editiert von
                                    #276

                                    @GiuseppeS ,

                                    genau diese Interaktion mit dem Rollladen die @dbweb erwähnt hat, habe ich dir auch schon mal genannt :-).

                                    Wäre es vielleicht einfacher für dich, ein zweites Skript zu erstellen, in dem die Trigger nicht die Zeit sondern die Bedingungen sind?
                                    Und im Popup dann einen Schalter einbauen, wo man definieren kann ob man Zeit oder Bedingungs Trigger verwenden will?

                                    G 1 Antwort Letzte Antwort
                                    0
                                    • dbwebD Offline
                                      dbwebD Offline
                                      dbweb
                                      schrieb am zuletzt editiert von dbweb
                                      #277

                                      Beim Adapter wäre halt die Frage, ob die Konfiguration der Zeiten nicht als separater Tab im Admin sein sollte und man nur optional das Widget installiert, falls man die Zeiten vom vis aus einstellen möchte.
                                      Adapter sind ja nicht per se komplizierter, es käme halt noch ein "Adaptergerüst" um dein Script. Dafür hast du im Adapter etwas mehr Möglichkeiten, Dinge die man jetzt im Script ändern muss könnte man in der Adapterkonfiguration oder automatisch machen, dein Script wäre damit auch für Leute zugänglich, die sich nicht an Javascript rantrauen (wieso auch immer). Ich würde mich auch anbieten dir dabei zu helfen ;)

                                      Wegen den Bedinungen schreibe ich später etwas, muss mal schauen wie du das alles im Code umgesetzt hast um eine Idee zu haben wie man das "einfach" einbauen könnte.

                                      G 1 Antwort Letzte Antwort
                                      3
                                      • K K_o_bold

                                        @GiuseppeS ,

                                        genau diese Interaktion mit dem Rollladen die @dbweb erwähnt hat, habe ich dir auch schon mal genannt :-).

                                        Wäre es vielleicht einfacher für dich, ein zweites Skript zu erstellen, in dem die Trigger nicht die Zeit sondern die Bedingungen sind?
                                        Und im Popup dann einen Schalter einbauen, wo man definieren kann ob man Zeit oder Bedingungs Trigger verwenden will?

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

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

                                        @GiuseppeS ,

                                        genau diese Interaktion mit dem Rollladen die @dbweb erwähnt hat, habe ich dir auch schon mal genannt :-).

                                        Wäre es vielleicht einfacher für dich, ein zweites Skript zu erstellen, in dem die Trigger nicht die Zeit sondern die Bedingungen sind?
                                        Und im Popup dann einen Schalter einbauen, wo man definieren kann ob man Zeit oder Bedingungs Trigger verwenden will?

                                        Ein Trigger sollte schon zumindest ein Zeitfenster haben, um eine Aktion auszuführen. Ansonsten wäre es ja einfacher mit Blockly etwas gemäß "Wenn Trigger, dann Aktion X".

                                        1 Antwort Letzte Antwort
                                        0
                                        • dbwebD dbweb

                                          Beim Adapter wäre halt die Frage, ob die Konfiguration der Zeiten nicht als separater Tab im Admin sein sollte und man nur optional das Widget installiert, falls man die Zeiten vom vis aus einstellen möchte.
                                          Adapter sind ja nicht per se komplizierter, es käme halt noch ein "Adaptergerüst" um dein Script. Dafür hast du im Adapter etwas mehr Möglichkeiten, Dinge die man jetzt im Script ändern muss könnte man in der Adapterkonfiguration oder automatisch machen, dein Script wäre damit auch für Leute zugänglich, die sich nicht an Javascript rantrauen (wieso auch immer). Ich würde mich auch anbieten dir dabei zu helfen ;)

                                          Wegen den Bedinungen schreibe ich später etwas, muss mal schauen wie du das alles im Code umgesetzt hast um eine Idee zu haben wie man das "einfach" einbauen könnte.

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

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

                                          Beim Adapter wäre halt die Frage, ob die Konfiguration der Zeiten nicht als separater Tab im Admin sein sollte und man nur optional das Widget installiert, falls man die Zeiten vom vis aus einstellen möchte.
                                          Adapter sind ja nicht per se komplizierter, es käme halt noch ein "Adaptergerüst" um dein Script. Dafür hast du im Adapter etwas mehr Möglichkeiten, Dinge die man jetzt im Script ändern muss könnte man in der Adapterkonfiguration oder automatisch machen, dein Script wäre damit auch für Leute zugänglich, die sich nicht an Javascript rantrauen (wieso auch immer). Ich würde mich auch anbieten dir dabei zu helfen ;)

                                          Wegen den Bedinungen schreibe ich später etwas, muss mal schauen wie du das alles im Code umgesetzt hast um eine Idee zu haben wie man das "einfach" einbauen könnte.

                                          Das mit dem Adaptergerüst schau ich mir noch an, wie gesagt, da bin ich gerade dabei. Ich komme da gern noch auf dich zu.

                                          Bzgl. des Codes sag ich nur: ich bin kein Informatiker :laughing:
                                          Habe auch schon in guten Codes gesehen, wie es schöner und damit übersichtlicher dargestellt werden könnte. Habe versucht so oft wie möglich generisch nutzbare Funktionen zu verwenden. Auch, um damit anderen möglichen Nutzern etwas zum "abschauen" mitzugeben.

                                          Wenn es ein Adapter werden sollte, würde ich mich in das Thema Widgets noch einlesen. Ohne Widgets (oder VIS im Allgemeinen) sehe ich keinen Vorteil gegenüber dem Adapter "shuttercontrol", den es ja schon gibt. Btw: Kennst du den? Ich wollte damals unbedingt etwas mit VIS, damit ich spontan Zeiten ändern oder diese zumindest schnell einsehen konnte.
                                          Ein höherer WAF für Timer war ursprünglich auch mein Ziel. Mit dem Test am lebenden Objekt wurde mir diese Zielerreichung nicht bestätigt :laughing:

                                          Wenn du Code beisteuern willst, kannst du es gerne hier machen. Wenn es hilft, kann ich das Skript auch auf github laden.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          541

                                          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