Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Anwesenheitssimulation - Script

NEWS

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

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

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

[Vorlage] Anwesenheitssimulation - Script

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
271 Beiträge 40 Kommentatoren 64.7k Aufrufe 36 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.
  • sissiwupS Offline
    sissiwupS Offline
    sissiwup
    schrieb am zuletzt editiert von
    #23

    Wo finde ich denn das Skript?

    MfG

    Sissi

    –-----------------------------------------

    1 CCU3 1 CCU2-Gateway 1 LanGateway 1 Pi-Gateway 1 I7 für ioBroker/MySQL


    1 Antwort Letzte Antwort
    0
    • L Offline
      L Offline
      looxer01
      schrieb am zuletzt editiert von
      #24

      im ersten post. ist ein spoiler tag - einfach öffnen.

      vG Looxer

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        starfish
        schrieb am zuletzt editiert von
        #25

        hier gabs etwas roten Text im Log - hab das orig.script nur an meine Gegebenheiten angepasst (nur 1 Aktor aufm Testrechner)

        ! javascript.0 2016-01-02 02:15:37 info javascript.0 script.js.aws: registered 2 subscriptions and 7 schedules
        ! javascript.0 2016-01-02 02:15:37 info javascript.0 Start javascript script.js.aws
        ! javascript.0 2016-01-02 02:15:37 info javascript.0 received all objects
        ! javascript.0 2016-01-02 02:15:37 info javascript.0 received all states
        ! javascript.0 2016-01-02 02:15:36 info javascript.0 requesting all objects
        ! javascript.0 2016-01-02 02:15:36 info javascript.0 requesting all states
        ! javascript.0 2016-01-02 02:15:36 info javascript.0 starting. Version 1.1.1 in /opt/iobroker/node_modules/iobroker.javascript
        ! bananapi2 2016-01-02 02:15:30 info host.bananapi2 instance system.adapter.javascript.0 started with pid 2374
        ! bananapi2 2016-01-02 02:15:00 info host.bananapi2 Restart adapter system.adapter.javascript.0 because enabled
        ! bananapi2 2016-01-02 02:15:00 error host.bananapi2 instance system.adapter.javascript.0 terminated with code 6 (uncaught exception)
        ! javascript.0 2016-01-02 02:15:00 error ReferenceError: addTime is not defined at isTimeInRange (script.js.aws:487:17) at Object. (script.js.aws:149:8) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/javasc
        ! javascript.0 2016-01-02 02:15:00 error uncaught exception: addTime is not defined

        etwas später:

        ! host-bananapi2 2016-01-02 02:25:01 error instance system.adapter.javascript.0 terminated with code 6 (uncaught exception)
        ! ReferenceError: 2016-01-02 02:25:01 error at Timer.listOnTimeout [as ontimeout] (timers.js:110:15)
        ! ReferenceError: 2016-01-02 02:25:01 error at null._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:410:11)
        ! ReferenceError: 2016-01-02 02:25:01 error at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:139:10)
        ! ReferenceError: 2016-01-02 02:25:01 error at Job.job (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1197:34)
        ! ReferenceError: 2016-01-02 02:25:01 error at Object. (script.js.aws:214:8)
        ! ReferenceError: 2016-01-02 02:25:01 error at isTimeInRange (script.js.aws:487:17)
        ! ReferenceError: 2016-01-02 02:25:01 error addTime is not defined
        ! uncaught 2016-01-02 02:25:01 error exception: addTime is not defined

        1 Antwort Letzte Antwort
        0
        • blauholstenB Offline
          blauholstenB Offline
          blauholsten
          Developer
          schrieb am zuletzt editiert von
          #26

          @starfish:

          hier gabs etwas roten Text im Log

          ! javascript.0 2016-01-02 02:15:37 info javascript.0 script.js.aws: registered 2 subscriptions and 7 schedules
          ! javascript.0 2016-01-02 02:15:37 info javascript.0 Start javascript script.js.aws
          ! javascript.0 2016-01-02 02:15:37 info javascript.0 received all objects
          ! javascript.0 2016-01-02 02:15:37 info javascript.0 received all states
          ! javascript.0 2016-01-02 02:15:36 info javascript.0 requesting all objects
          ! javascript.0 2016-01-02 02:15:36 info javascript.0 requesting all states
          ! javascript.0 2016-01-02 02:15:36 info javascript.0 starting. Version 1.1.1 in /opt/iobroker/node_modules/iobroker.javascript
          ! bananapi2 2016-01-02 02:15:30 info host.bananapi2 instance system.adapter.javascript.0 started with pid 2374
          ! bananapi2 2016-01-02 02:15:00 info host.bananapi2 Restart adapter system.adapter.javascript.0 because enabled
          ! bananapi2 2016-01-02 02:15:00 error host.bananapi2 instance system.adapter.javascript.0 terminated with code 6 (uncaught exception)
          ! javascript.0 2016-01-02 02:15:00 error ReferenceError: addTime is not defined at isTimeInRange (script.js.aws:487:17) at Object. (script.js.aws:149:8) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/javasc
          ! javascript.0 2016-01-02 02:15:00 error uncaught exception: addTime is not defined `
          So wie es aussieht hast du das globale script timeinrange nicht.

          Das musst du vorher anlegen, sonst geht es nicht.

          Entwickler vom: - Viessman Adapter
          - Alarm Adapter

          1 Antwort Letzte Antwort
          0
          • L Offline
            L Offline
            looxer01
            schrieb am zuletzt editiert von
            #27

            Hi,

            ich habe die Funktionen von Baetz jetzt dem Main-Program hinzugefuegt.

            Damit ist kein globales Script mehr notwendig.

            Ich werde spaeter noch den Link zu Baetz Beitrag hinzufuegen.

            Version ist jetzt 0.41

            habs aber noch nicht getestet :oops:

            vG Looxer

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              starfish
              schrieb am zuletzt editiert von
              #28

              danke, errors gibts keine mehr und im aws-log tut sich was. zu "baetz" schweigt sich das Forum und auch Google aus (zu TimeInRange ebenfalls).

              1 Antwort Letzte Antwort
              0
              • L Offline
                L Offline
                looxer01
                schrieb am zuletzt editiert von
                #29

                Forumsmitglied Beatz

                http://forum.iobroker.com/viewtopic.php … a40#p11167

                vG

                1 Antwort Letzte Antwort
                0
                • L Offline
                  L Offline
                  looxer01
                  schrieb am zuletzt editiert von
                  #30

                  Hi,

                  Beim Testen sind mir zwei unschöne Fehler aufgefallen

                  1. Das letzte eingetragene Geraet wurde nie per Zufall gewaehlt.

                  2. Ein Log Fehler "keine Aktion…." auch wenn geschaltet wurde

                  Version 0.42 hochgeladen

                  vG Looxer

                  1 Antwort Letzte Antwort
                  0
                  • L Offline
                    L Offline
                    looxer01
                    schrieb am zuletzt editiert von
                    #31

                    Hi,

                    ich habe Version 0.43 hochgeladen mit ein paar Aenderungen am Code.

                    • Bereinigungen und Dokumentation

                    • Ausschalten der Geraete bei Deaktivierung der AWS

                    Folgendes ist noch zu tun

                    • Ausschalten der Geraete bei Deaktivierung der AWS optional machen oder einen intelligenteren Ansatz finden

                    • Wenn ein nicht existentes Geraet in den Einstellungen angegeben wird, dann startet der javascript adapter mal eben neu.

                    Das werde ich abstellen mit dem Ziel, dass nur ein Logeintrag erzeugt wird

                    Fuer die Zukunft.

                    Falls das Konzept ok ist wuerde ich die Einstellungen ggf als Profile erweitern. So koennte man z.B. fuer jeden Wochentag ein anderes Profil einstellen koennen ggf auch nach Jahreszeit unterscheiden.

                    vG Looxer

                    1 Antwort Letzte Antwort
                    0
                    • P Offline
                      P Offline
                      pix
                      schrieb am zuletzt editiert von
                      #32

                      Hey,

                      super Arbeit! Leider habe ich den WAF der AWS nicht berücksichtigt. Unser Licht soll aus bleiben, wenn keiner da. Ich arbeitet dran 8-) :lol:

                      Dennoch interessiert mich dein Projekt.

                      Bei Durchsehen des Codes bin ich noch über diese Stelle gestolpert:

                      ! ` > // Einstellung teilnehmende Homematic Geräte je IDGruppe maximal 5 - Eingabe der Homematic ID

                      var IDGruppe11 = "hm-rpc.0.JEQ0xxxxxx.1.LEVEL"; // Licht Wohnzimmer Esstisch Deckenlampe

                      var IDGruppe12 = "hm-rpc.0.JEQ0xxxxxx.1.STATE"; // Licht Terrassentuere

                      var IDGruppe13 = "hm-rpc.0.JEQ0xxxxxx.1.STATE"; // Licht Wohnzimmer Esstisch Stehlampe

                      var IDGruppe14 = " ";

                      var IDGruppe15 = " ";

                      var Grp1ZufAnz = 3; // Anzahl der Geräte zur zufälligen Bestimmung des Geraetes

                      var IDGruppe21 = "hm-rpc.0.JEQ0xxxxxx.1.STATE"; // Licht Schwimmbad Nebenlicht;

                      var IDGruppe22 = "hm-rpc.0.JEQ0xxxxxx.1.STATE"; // Licht Kinderbad;

                      var IDGruppe23 = " ";

                      var IDGruppe24 = " ";

                      var IDGruppe25 = " ";

                      var Grp2ZufAnz = 2; // Anzahl der Geräte zur zufälligen Bestimmung des Geraetes

                      var IDGruppe31 = "hm-rpc.0.JEQ0xxxxxx.1.STATE"; // Licht Flur oben Wand;

                      var IDGruppe32 = "hm-rpc.0.JEQ0xxxxxx.1.STATE"; // Licht Flur oben unten;

                      var IDGruppe33 = " ";

                      var IDGruppe34 = " ";

                      var IDGruppe35 = " ";

                      var Grp3ZufAnz = 2; // Anzahl der Geräte zur zufälligen Bestimmung des Geraetes

                      var IDGruppe41 = " ";

                      var IDGruppe42 = " ";

                      var IDGruppe43 = " ";

                      var IDGruppe44 = " ";

                      var IDGruppe45 = " ";

                      var Grp4ZufAnz = 5; // Anzahl der Geräte zur zufälligen Bestimmung des Geraetes

                      var IDGruppe51 = " ";

                      var IDGruppe52 = " ";

                      var IDGruppe53 = " ";

                      var IDGruppe54 = " ";

                      var IDGruppe55 = " ";

                      var Grp5ZufAnz = 5; // Anzahl der Geräte zur zufälligen Bestimmung des Geraetes `
                      Ist es richtig, dass ich als Anwender, die Zahl der Geräte ind er Gruppe zählen muss und zB in Grp2ZufAnz = 2 eintragen muss? Kann man da nicht mir einem Array arbeiten? Einfach die Geräte dort kommasepariert eintragen und vom Skript durchzählen lassen. So könnte auch die zufällige Auswahl des zu schaltenden Gerätes erleichtert werden. Du kannst pro Gruppe ein Array anlegen oder ein auch mehrdimensionales Array aus mehreren Gruppen, in denen wieder jeweils mehrere Geräte liegen.

                      Gruß

                      Pix

                      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                      1 Antwort Letzte Antwort
                      0
                      • L Offline
                        L Offline
                        looxer01
                        schrieb am zuletzt editiert von
                        #33

                        Danke Pix fuer dein Feedback- - das freut mich wirklich….
                        @pix:

                        dLeider habe ich den WAF der AWS nicht berücksichtigt. Pix `

                        na ja, wenn es dann mal zum worst case kommt waere das sicher anders.

                        Ich kann ja mal eine Einbruchssimulation schreiben :lol:

                        @pix:

                        Ist es richtig, dass ich als Anwender, die Zahl der Geräte ind er Gruppe zählen muss und zB in Grp2ZufAnz = 2 eintragen muss? `
                        nein, so ist es nicht gemeint aber vielleicht der Normalfall. Man kann durchaus GrpZufAnz hoeher setzen als die Anzahl der Gruppenmitglieder.

                        Dann wird es weniger Einschaltaktionen geben was so gewuenscht sein kann. Das Zufallsprinzip entscheidet. Je höher die Zahl desto weniger wird geschaltet.

                        Auf Arrays habe ich bewusst verzichtet, da der Code dann nicht leichter lesbar wird und auch sonst keine Vorteile bringen wuerde. Auch die Einstellungen wuerden dann noch etwas komplizierter werden.

                        vG Looxer

                        1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          starfish
                          schrieb am zuletzt editiert von
                          #34

                          hallo Ralf, Du erinnerst dich sicher an meine Frage mit der Synchronizität. Ich hab jetzt rausgefunden, weshalb (zumindest bei mir) dieser Eindruck entsteht:

                          ! iobroker log
                          ! hm-rpc-0 2016-01-04 05:19:01 info setValue ["IEQ0074994:1","STATE",false] BOOL
                          ! hm-rpc-0 2016-01-04 05:05:59 info setValue ["IEQ0074994:1","STATE",true] BOOL
                          ! hm-rpc-0 2016-01-04 05:00:00 info setValue ["IEQ0074994:1","STATE",true] BOOL
                          ! javascript-0 2016-01-04 05:00:00 info script.js.aws: EVENT IDGruppe11; hm-rpc.0.IEQ0074994.1.STATE; undefined; 359; 1141; 05:05:59; 05:25:00;
                          ! AWSLog:
                          ! 04.01.2016 ;05:00:00 ;IDGruppe11;hm-rpc.0.IEQ0074994.1.STATE;undefined;359;1141;05:05:59;05:25:00;
                          es werden reproduzierbar 2 Einschaltbefehle abgesetzt: einer sofort, der 2. mit der Zufallsverzögerung. Bei der Ausschaltzeit wird die Zufallsverzögerung nicht hinzugezählt.

                          1 Antwort Letzte Antwort
                          0
                          • L Offline
                            L Offline
                            looxer01
                            schrieb am zuletzt editiert von
                            #35

                            @starfish:

                            es werden reproduzierbar 2 Einschaltbefehle abgesetzt: einer sofort, der 2. mit der Zufallsverzögerung. Bei der Ausschaltzeit wird die Zufallsverzögerung nicht hinzugezählt. `

                            ich habe den Fehler gefunden und jetzt auch die Einschaltverzoegerung zur geplanten Ausschaltzeit hinzugefuert.

                            Vielen Dank fuer das Feedback, echt super.

                            Version 0.44

                            Koenntest du beides mit deinen Einstellungen nochmals testen und mir Bescheid geben ?

                            EDIT 09:33: es gibt noch ein Problem bei der Addition der Einschaltverzoegerung zur geplanten Ausschaltzeit.

                            Ich lade gleich nochmal eine neue Version hoch

                            EDIT 09:41: getestet und jetzt funktioniert es - Version 0.45

                            vG Looxer

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              starfish
                              schrieb am zuletzt editiert von
                              #36

                              hab erst v. 0.44 - die scheint bez. Einschaltdelay richtig zu laufen, ausser vielleicht die Ausschaltzeit ist 1-2 Min zu früh - genaueres kann ich erst heute Nachmittag sagen bzw. die v. 0.45 laden.

                              1 Antwort Letzte Antwort
                              0
                              • L Offline
                                L Offline
                                looxer01
                                schrieb am zuletzt editiert von
                                #37

                                warte noch auf eine neue Version. 0.46 lade ich ich in den nächsten 1 - 2 Stunden hoch
                                5278_neues_textdokument.txt

                                1 Antwort Letzte Antwort
                                0
                                • L Offline
                                  L Offline
                                  looxer01
                                  schrieb am zuletzt editiert von
                                  #38

                                  Hi,

                                  so, habe jetzt die Version 0.50 geladen.

                                  Diese Version sollte bezueglich ein-ausschaltverzoegerung in sync laufen mit den realen Schaltungen.

                                  Es kann mal eine Sekunde Differenz geben -

                                  Ausserdem funktioniert jetzt der Check ob ein Geraet exisitiert. Das hat bisher zu einer uncaught exception gefuehrt, was

                                  dann wiederum den javascript adapter veranlasst hat neu zu starten. Passiert jetzt nicht mehr z.B. wenn eine ID falsch eingegeben wurde.

                                  Dafuer kommt jetzt ein interner Log-Eintrag hoch. Das Programm läuft weiter

                                  Daher auch der Versionssprung.

                                  vG Looxer

                                  1 Antwort Letzte Antwort
                                  0
                                  • S Offline
                                    S Offline
                                    starfish
                                    schrieb am zuletzt editiert von
                                    #39

                                    jetzt habe ich 2 Zyklen durch, die Zufalls- Ein- und Auszeiten scheinen jetzt zu stimmen. Super - Danke. Jetzt müsste Flot nur auch noch STATE Signale darstellen können. :x

                                    1 Antwort Letzte Antwort
                                    0
                                    • L Offline
                                      L Offline
                                      looxer01
                                      schrieb am zuletzt editiert von
                                      #40

                                      Hi,

                                      nun ist Version 0.60 verfuegbar.

                                      • fix Astrozeit

                                      • Neue Funktion Astro1zeit bis - damit kann bis zur Morgendaemmerung geschaltet werden - analog der Astrozeit von

                                      • Das Ausschalten aller teilnehmenden Geraete bei Deaktivierung der AWS ist jetzt optional und laesst sich in den Einstellungen ein-ausschalten

                                      • Stabilitaetsverbesserungen

                                      Damit sind zunaechst alle geplanten Funktionen implementiert (und etwas mehr).

                                      Waere schoen, wenn noch etwas getestet wuerde. Diese Woche kann ich noch schnell reagieren auf Anfragen:)

                                      vG Looxer

                                      1 Antwort Letzte Antwort
                                      0
                                      • L Offline
                                        L Offline
                                        looxer01
                                        schrieb am zuletzt editiert von
                                        #41

                                        Hi,

                                        Version 0.61

                                        • Bei der zufaelligen Bestimmung der Geraete wurde immer von cer Gruppe 1 Definition GrpZufAnz ausgegangen. Ist jetzt gefixt

                                        • Bei der Ausschaltung aller Teilnehmer wird jetzt zwischen zwei Ausschaltvorgängen 300 Millisekunden Zeit gelassen (Vermeidung von Funkchaos)

                                        • Codeoptimierungen

                                        vG Looxer

                                        1 Antwort Letzte Antwort
                                        0
                                        • S Offline
                                          S Offline
                                          starfish
                                          schrieb am zuletzt editiert von
                                          #42

                                          vonAstro und bisAstro funktioniert hier jetzt. Nun gehts ans Optimieren. Ich denke, dass das Skript flexibel genug ist, um die meisten Wünsche zu befriedigen. Vielen Dank an looxer01.

                                          Gruss

                                          starfish

                                          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

                                          629

                                          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
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe