Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Anwesenheitssimulation - Script

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Anwesenheitssimulation - Script

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

      Hallo, bin neu hier und habe dieses interessante Script gefunden…Habe dazu noch eine Frage...Reicht es wenn ich anstatt der Homematic Datenpunkte meine geflashten Sonoff Tasmota Aktoren bzw. dessen Datenpunkte dort eintrage? Bzw. kann mal jemand drüber schauen ob das so schlüssig ist oder ich noch weitere Veränderungen vornehmen muss... Scheint nämlich bei mir nicht zu laufen...

      Aktivieren tue ich das ganze über das Anwesenheitssteuerungs Script welches zu funktionieren scheint...

      Das script eneabled switch ( scriptEnabled.common.Anwesenheit.Simulation status switch acive ) toggele ich zusätzlich über ein Ein Aus Taster auf true und false..siehe Bild... Kann man das so machen? Oder überlagere ich damit die Anwesenheitssteuerung?

      Vlt. hat ja einer ne Idee warum das noch nicht so rund läuft.. 6558_unbenannt.png 6558_unbenannt.png 6558_unbenannt.png

      1 Reply Last reply Reply Quote 0
      • L
        looxer01 last edited by

        Hallo und willkommen im Forum,
        @smartboart:

        Scheint nämlich bei mir nicht zu laufen… `
        ich habe noch nicht so ganz verstanden was genau nicht funktioniert.

        Ein paar Kommentare dazu:

        Deine Einstellungen scheinen ok zu sein, wobei ich ja nur einen kleinen Teil sehen kann.

        (besser wäre den Einstellungsteil als Text-copy zu senden)

        Die Vorgehensweise über script enabled würde ich so nicht machen. Das Script regelt das ja.

        Die Fehlermeldung "too many errors" ist eine Editor Meldung und hat nichts SyntaxFehlern zu tun.

        Der Editor kann nach ein paar 100 Zeilen keine Syntax checks mehr durchführen.

        hast du noch weitere Fehlermeldungen ?

        vG Looxer

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

          Hallo, vielen Dank für die Antworten…Nein weitere Fehlermeldungen habe ich nicht.

          Arbeitet denn das Script nach diesem Fehler in der Zeile 228 weiter?

          hatte irgendwo gelesen, das ab diesem Punkt mit der Analyse schluss ist.. und es eigentlich Warnung heissen müsste.

          Habe unten mal die gesammten Einstellungen kopiert.

          Funktionern tut es dahin gehen nicht, dass kein Client angesteuert wird. Die Abwesenheitserkennung wird wohl eingelesen...CSV log im Anhnag... 6558_awslog.csv

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

            • // Das Script wird aktiviert, wenn das Flag "Anwesenheitssteuerung gesetzt wird"
            // HIER Einstellungen vornehmen….........................................................................................
            
            // Einstellungen der Aktivzeiten je IDGruppe von bis
            
            var zeit1von = "17:00:00"; //Aktivzeit von IDGruppe1
            
            var zeit1bis = "21:30:00"; //Aktivzeit bis IDGruppe1
            
            var zeit2von = "20:15:00"; //Aktivzeit von IDGruppe2
            
            var zeit2bis = "23:30:00"; //Aktivzeit bis IDGruppe2
            
            var zeit3von = "23:30:00"; //Aktivzeit von IDGruppe3
            
            var zeit3bis = "01:00:00"; //Aktivzeit bis IDGruppe3
            
            var zeit4von = "20:00:00"; //Aktivzeit von IDGruppe4
            
            var zeit4bis = "03:00:00"; //Aktivzeit bis IDGruppe4
            
            var zeit5von = "19:00:00"; //Aktivzeit von IDGruppe5
            
            var zeit5bis = "23:00:00"; //Aktivzeit bis IDGruppe5
            
            // Wenn Astrozeit auf true steht, dann wird die vonZeit durch die Astrozeit übersteuert
            
            var vonAstro1 = true ; // die zeit1von wird ersetzt durch die Astrozeit - wenn auf night - setting ist optional true = Verwendung der Astrozeit - IDGruppe1
            
            var vonAstro2 = false ; // die zeit1von wird ersetzt durch die Astrozeit - wenn auf night - setting ist optional true = Verwendung der Astrozeit - IDGruppe2
            
            var vonAstro3 = false ; // die zeit1von wird ersetzt durch die Astrozeit - wenn auf night - setting ist optional true = Verwendung der Astrozeit - IDGruppe3
            
            var vonAstro4 = false ; // die zeit1von wird ersetzt durch die Astrozeit - wenn auf night - setting ist optional true = Verwendung der Astrozeit - IDGruppe4
            
            var vonAstro5 = false ; // die zeit1von wird ersetzt durch die Astrozeit - wenn auf night - setting ist optional true = Verwendung der Astrozeit - IDGruppe5
            
            // Wenn bis Astrozeit auf true steht, dann wird die bisZeit durch die Astrozeit übersteuert
            
            var bisAstro1 = false ; // die zeit1von wird ersetzt durch die Astrozeit - setting ist optional true = Verwendung der Astrozeit - IDGruppe1
            
            var bisAstro2 = false ; // die zeit1von wird ersetzt durch die Astrozeit - setting ist optional true = Verwendung der Astrozeit - IDGruppe2
            
            var bisAstro3 = false ; // die zeit1von wird ersetzt durch die Astrozeit - setting ist optional true = Verwendung der Astrozeit - IDGruppe3
            
            var bisAstro4 = false ; // die zeit1von wird ersetzt durch die Astrozeit - setting ist optional true = Verwendung der Astrozeit - IDGruppe4
            
            var bisAstro5 = false ; // die zeit1von wird ersetzt durch die Astrozeit - setting ist optional true = Verwendung der Astrozeit - IDGruppe5
            
            // Einstellungen der zufaelligen Einschaltdauer je IDGruppe von bis
            
            var ein1von = 1; // Minuten IDGruppe1 von
            
            var ein1bis = 7; // Minuten IDGruppe1 bis
            
            var ein2von = 10; // Minuten IDGruppe2 von
            
            var ein2bis = 12; // Minuten IDGruppe2 bis
            
            var ein3von = 5; // Minuten IDGruppe3 von
            
            var ein3bis = 7; // Minuten IDGruppe3 bis
            
            var ein4von = 8; // Minuten IDGruppe4 von
            
            var ein4bis = 10; // Minuten IDGruppe4 bis
            
            var ein5von = 11; // Minuten IDGruppe5 von
            
            var ein5bis = 5; // Minuten IDGruppe5 bis
            
            // Einstellung je Gruppe für die maximale Startverzögerung in Minuten
            
            // bei 0 = keine Startverzögerung - bei z.B. 10 = Startverzögerung zwischen 0 und 10 in Minuten
            
            //
            
            var StartDelay1 = 1; // Maximale Startverzoegerung Gruppe1
            
            var StartDelay2 = 5; // Maximale Startverzoegerung Gruppe2
            
            var StartDelay3 = 5; // Maximale Startverzoegerung Gruppe3
            
            var StartDelay4 = 5; // Maximale Startverzoegerung Gruppe4
            
            var StartDelay5 = 0; // Maximale Startverzoegerung Gruppe5
            
            // Einstellung Check-schedule - Voreinstellung z.B. alle 30 Minuten je IDGruppe - Damit wird je Lauf nach Zufaelligkeit je ein Geraet der IDGruppe eingeschaltet
            
            var cron1 = 2; // checks alle x Minuten für IDGruppe1
            
            var cron2 = 2; // checks alle x Minuten für IDGruppe2
            
            var cron3 = 5; // checks alle x Minuten für IDGruppe3
            
            var cron4 = 5; // checks alle x Minuten für IDGruppe4
            
            var cron5 = 0; // checks alle x Minuten für IDGruppe5
            
            // Einstellung teilnehmende Homematic Geräte je IDGruppe maximal 5 - Eingabe der Homematic ID
            
            var IDGruppe11 = "sonoff.0.Schalter Smartboard.POWER1.STATE"; // Licht Wohnzimmer
            
            var IDGruppe12 = "sonoff.0.Schalter Gartenbeleuchtung.POWER.STATE"; // Licht Garten
            
            var IDGruppe13 = " ";
            
            var IDGruppe14 = " ";
            
            var IDGruppe15 = " ";
            
            var Grp1ZufAnz = 2; // Anzahl der Geräte zur zufälligen Bestimmung des Geraetes
            
            var IDGruppe21 = "sonoff.0.Schalter Smartboard.POWER1.STATE"; // Licht Wohnzimmer
            
            var IDGruppe22 = "sonoff.0.Schalter Gartenbeleuchtung.POWER.STATE"; // Licht Garten
            
            var IDGruppe23 = "sonoff.0.Licht Schuppen.POWER.STATE"; // Licht Garten
            
            var IDGruppe24 = " ";
            
            var IDGruppe25 = " ";
            
            var Grp2ZufAnz = 3; // Anzahl der Geräte zur zufälligen Bestimmung des Geraetes
            
            var IDGruppe31 = "sonoff.0.Schalter Smartboard.POWER1.STATE"; // Licht Wohnzimmer
            
            var IDGruppe32 = "sonoff.0.Licht Schuppen.POWER.STATE"; // Licht Garten
            
            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 = 0; // Anzahl der Geräte zur zufälligen Bestimmung des Geraetes
            
            var IDGruppe51 = " ";
            
            var IDGruppe52 = " ";
            
            var IDGruppe53 = " ";
            
            var IDGruppe54 = " ";
            
            var IDGruppe55 = " ";
            
            var Grp5ZufAnz = 0; // Anzahl der Geräte zur zufälligen Bestimmung des Geraetes
            
            var logflag = true; // wenn auf true dann wird das logging in Datei /opt/iobroker/iobroker-data/AWSLog.csv eingeschaltet bei false vice versa
            
            var ausflag = true; // Wenn AWS deaktiviert wird, dann werden alle Teilnehmer ausgeschaltet
            
            // Ende Einstellungen .......................................................................................................
            1 Reply Last reply Reply Quote 0
            • L
              looxer01 last edited by

              Hi,

              @smartboart:

              Arbeitet denn das Script nach diesem Fehler in der Zeile 228 weiter? `

              ja, denn es ist kein Fehler im Script. Es ist lediglich ein Editor Hinweis.

              Kannst du also ignorieren.

              Die Einstellungen sehen ok aus. Allerdings würde ich bei den Einstellungen jetzt auch nicht erwarten, dass das Script etwas macht.

              Start ist nach den Einstellungen ja erst bei Sonnenuntergang. Zum Testen kannst du aber jede beliebige Startzeit eingeben.

              (z.B. fuer Gruppe 2 - 5, da Gruppe 1 ja auf Astrozeit steht -also bei Sonnenuntergang-

              Script enabled muss dann natürlich auch auf true stehen.

              Ein Tipp, um die Lesbarkeit zu verbessern (sind ja auch viele per Smartphone unterwegs)

              Stelle bitte coding oder längere listen in code tags und spoiler.

              Code Tags kannst du setzen mit dem -Icon und spoiler ist als solcher ja gekennzeichnet.

              Sind dann so aus

              ! Text ist in code tags gesetzt und zusätzlich ist der spoiler gesetzt !
              vG Looxer

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

                danke schonmal, werde das dann tagsüber mal testen und die zeit entsprechend anpassen…Natürlich müssen dann alle ihr WLan ausschalten 🙂

                Danke für den Hinweis mit den Code tags und spoiler..

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

                  Also lief jetzt ne ganze weile und ich habe auch alle zeiten runter geschraubt..Auch im log nicht ein eintrag zum Thema client ein aus…

                  Kann das mit der Anzahl der Geräte zur zufälligen Bestimmung des Geraetes zusammenhängen? Habe wenn ich nur 3 Sonoffs eingebunden habe auch ne 3 hinterlegt... Oder muss ich da ne 5 Stehen haben, weil 5 möglich Clients? Hab keine Ahnung warum das nicht geht?

                  Kann man nicht irgendwie sehen welches True oder false oder Zeit oder Zähler bzw. Zustand gerade aktiv ist? Kann man in dem Script nicht noch in paar Objekte als Wert in die Objektliste schreiben ...zu Diagnosezwecken?

                  1 Reply Last reply Reply Quote 0
                  • L
                    looxer01 last edited by

                    @smartboart:

                    Auch im log nicht ein eintrag zum Thema client ein aus…

                    Kann das mit der Anzahl der Geräte zur zufälligen Bestimmung des Geraetes zusammenhängen? `

                    nein. Bei zwei Geräten und einer "2" als Eintrag wird immer ein Gerät zufällig ausgewählt

                    bei mehr als zwei Geräten wird zufällig eines ausgewählt bis zur eingestellten Anzahl.

                    Damit kann auch mal nichts gewählt werden.

                    @smartboart:

                    Kann man nicht irgendwie sehen welches True oder false oder Zeit oder Zähler bzw. Zustand gerade aktiv ist? `
                    ja, das kann man sehen. Es wird bei einem Schaltvorgang im log angezeigt. Zusätzlich in die externe CSV Datei, wenn es so eingestellt ist.

                    Da du nichts siehst könnte e sein, dass die Simulation gar nicht aktiv ist. kann das sein ?

                    kannst du hier sehen: "javascript.0.Anwesenheitssteuerung.AWSAktiv" - Dieser Datenpunkt muss auf true stehen.

                    Es könnte auch sein, dass die Sonoff Geräte eine andere Typ-Definition haben als erwartet

                    Hier sind die zwei Abfragestellen.
                    ` > if (obj.common && obj.common.type === 'boolean') { // ist es ein STATE Geraet ?

                    if (obj.common && obj.common.type === 'number') { `
                    Es wird also erwartet, dass der definierte Type im Datenpunkt entweder boolean oder number ist

                    Das kannst du in den Objekten nachsehen- Ganz Rechts auf den Stift (aendern) und dann auf RAW (nur fuer Experten)

                    hier ein Beispiel für einen Homematic Dimmer. Dort findest du im commen.type = number
                    305_datatype.jpg
                    bitte checke das mal bei dir.

                    vG Looxer

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

                      ` > Da du nichts siehst könnte e sein, dass die Simulation gar nicht aktiv ist. kann das sein ?

                      kannst du hier sehen: "javascript.0.Anwesenheitssteuerung.AWSAktiv" - Dieser Datenpunkt muss auf true stehen. `

                      ja ist aktiv.. allerdings wird rot angezeigt siehe bild….. im log csv sieht es aber gut aus...

                      Datum;Uhrzeit;Gruppe;GeraeteID;Geraetebezeichnung;Einschaltverzoegerung;LaengeSchaltzeit;ZeitEin berechnet;ZeitAus berechnet;Kommentar
                      30.03.2018 ;22:57:36 ;;;;;;;;AWS wurde aktiviert
                      01.04.2018 ;17:27:35 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      01.04.2018 ;17:48:53 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      01.04.2018 ;17:49:28 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      01.04.2018 ;18:27:59 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      01.04.2018 ;18:28:10 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      01.04.2018 ;18:45:30 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      01.04.2018 ;18:50:27 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      01.04.2018 ;18:52:38 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      01.04.2018 ;19:22:00 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      01.04.2018 ;19:22:54 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      01.04.2018 ;19:24:22 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      01.04.2018 ;19:30:01 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      01.04.2018 ;19:32:56 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      01.04.2018 ;19:37:08 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      01.04.2018 ;19:50:04 ;;;;;;;;AWS wurde aktiviert
                      02.04.2018 ;04:45:01 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;05:19:51 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;05:27:46 ;;;;;;;;AWS wurde aktiviert
                      02.04.2018 ;10:23:25 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;12:07:30 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;12:07:41 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;12:24:20 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;12:24:32 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;12:28:41 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;12:29:04 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;12:33:36 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;12:49:06 ;;;;;;;;AWS wurde aktiviert
                      02.04.2018 ;13:29:03 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;13:36:50 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;13:59:54 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;14:01:59 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;14:02:11 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;14:02:11 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;14:02:22 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;14:06:43 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;14:10:30 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;14:11:12 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;14:14:40 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;14:17:50 ;;;;;;;;AWS wurde aktiviert
                      02.04.2018 ;16:41:06 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;16:51:41 ;;;;;;;;AWS wurde aktiviert
                      02.04.2018 ;16:54:56 ;;;;;;;;AWS wurde deaktiviert - Der schedule zur geplanten Ausschaltung von Geraeten wurde zurueckgesetzt
                      02.04.2018 ;17:00:57 ;;;;;;;;AWS wurde aktiviert
                      02.04.2018 ;18:27:41 ;;;;;;;;AWS wurde aktiviert
                      

                      und der commen type ist boolean..müsste also passen….ich kapier nicht warum es nicht geht..

                      hier ein screenshot vom sonoff.. 6558_unbenannt.png
                      6558_unbenannt2.png

                      1 Reply Last reply Reply Quote 0
                      • L
                        looxer01 last edited by

                        Hi,

                        @smartboart:

                        und der commen type ist boolean..müsste also passen….ich kapier nicht warum es nicht geht..

                        hier ein screenshot vom sonoff.. `

                        klappt eigentlich das manuelle schalten über den datenpunkt ?

                        normalerweise gibt es unter common auch einen min und max Wert. (siehe auch meinen vorherigen screen print"

                        Der wäre bei boolean "true" fuer MAX und "false" fuer MIN.

                        Versuche es mal mit 0 (false) und 1 (true).

                        Einstellen kannst du das im Script hier:

                        var EinschaltFlag = true; // Einschaltbefehl der Teilnehmer fuer Boolean Geräte

                        var AusschaltFlag = false; // Ausschaltbefehl der Teilnehmer fuer Boolean Geräte

                        wobei für true eben 1 und false 0 eingestellt werden sollte.

                        vG Looxer

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

                          Hi, danke für die Tipps…

                          Das manuelle Schalten der Sonoff Datenpunkte funktioniert über true und false. Diese sind auch mit buttons in der Vis verknüft...da funktionieren sie auch zuverlässig...

                          Hab das mit der 1 und 0 für ein und aus wie vorgeschlagen getestet..Hat aber auch nicht funktioniert...habe sogar die min und max zeilen im Datenpunkt eingetragen mit true und false...aber auch keine Veränderung....

                          kann das sein, dass die Zeitsteruerung global eingebunden werden muss?

                          weil sie von der AWS mitbenutz wird? hab sie als common angelegt... liegts daran?

                          hab mal

                          // jshint maxerr:10000 eingetragen

                          um die Fehlermeldung to many erros zu eliminieren? ist das einzige was mir auffällt...

                          dann bin ich bis zu diesem Punkt vorgedrungen..

                          Ist das Problematisch?

                          6558_unbenannt.png

                          1 Reply Last reply Reply Quote 0
                          • L
                            looxer01 last edited by

                            @smartboart:

                            kann das sein, dass die Zeitsteruerung global eingebunden werden muss? `
                            common ist richtig. Global würde nicht funktionieren.

                            @smartboart:

                            dann bin ich bis zu diesem Punkt vorgedrungen..

                            Ist das Problematisch? `
                            nein, das ist nicht das Problem. Die AWS ist auch in der aktuellen Version recht häufig in Betrieb.

                            Mir fällt im Moment nichts mehr ein. Ich könnte dir allenfalls anbieten mich mal bei dir über Teamviewer aufzuschalten.

                            In diesem Falle, melde dich bei mir ueber PN.

                            vG Looxer

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

                              So jetzt läuft die AWS auch bei mir…Bei dieser Gelegenheut möchte ich mich noch gleich für die tolle Unterstützung von looxer01 bedanken...ohne seine Hilfe wäre ich nie auf die Lösung des Problems gekommen....Danke :!: :!: :!:

                              Die Lösung war die Namensvergabe des Tasmota Sonof in den MQTT Einstellungen...Der Namen für die Aktoren darf keine Leerzeichen beinhalten...

                              1 Reply Last reply Reply Quote 0
                              • L
                                LJSven last edited by

                                Wenn ich die AWS auf false stelle, kommt folgende Fehlermeldung:

                                javascript.0	2018-07-19 09:57:55.785	error	at Object. <anonymous>(script.js.common.Sonstige.Anwesenheitssimulation:317:36)
                                javascript.0	2018-07-19 09:57:55.785	error	Error in callback: TypeError: Cannot read property 'common' of null
                                javascript.0	2018-07-19 09:57:55.785	warn	at Object. <anonymous>(script.js.common.Sonstige.Anwesenheitssimulation:314:25)
                                javascript.0	2018-07-19 09:57:55.784	warn	at GeraetExists (script.js.common.Sonstige.Anwesenheitssimulation:455:6)
                                javascript.0	2018-07-19 09:57:55.784	warn	getState "" not found (3)
                                javascript.0	2018-07-19 09:57:55.783	warn	Object "" does not exist</anonymous></anonymous>
                                

                                Was mache ich da falsch?

                                Welche Zeiten werden bei den Astrozeiten (von/bis) angezogen?

                                1 Reply Last reply Reply Quote 0
                                • L
                                  looxer01 last edited by

                                  Hi,

                                  kurze Antworten erstmal.

                                  Fehlermeldungen

                                  sieht so aus, dass du states eingetragen hast, die nicht existieren.

                                  Mach nochmal einen gruendlichen Check. Es dürfen auch keine Leerstellen in den States vorkommen.

                                  Astrozeiten

                                  Die Astrozeit ist die Sonnenuntergangszeit bzw Aufgangszeit Die variieren natürlich je nach Sonnenstand.

                                  vG Looxer

                                  1 Reply Last reply Reply Quote 0
                                  • L
                                    LJSven last edited by

                                    Das kann ich verneinen ->

                                    // Einstellung teilnehmende Homematic Geräte je IDGruppe maximal 5 - Eingabe der Homematic ID
                                    var     IDGruppe11 = "sonoff.0.Highboard-Long.POWER";  // Licht Wohnzimmer Esstisch Deckenlampe
                                    var     IDGruppe12 = "sonoff.0.Highboard-Small.POWER";  // Licht Terrassentuere
                                    var     IDGruppe13 = "fritzdect.0.DECT200_087610400044.state";  // Licht Wohnzimmer Esstisch Stehlampe
                                    var     IDGruppe14 = "";  // Licht Kinderbad
                                    var     IDGruppe15 = "";  // Licht Hobbyraum
                                    var     Grp1ZufAnz = 3;              // Anzahl der Geräte zur zufälligen Bestimmung des Geraetes 
                                    
                                    var     IDGruppe21 = "";  // Licht Wohnzimmer Esstisch Deckenlampe
                                    var     IDGruppe22 = "";  // Licht Terrassentuere
                                    var     IDGruppe23 = "";  // Licht Wohnzimmer Esstisch Stehlampe
                                    var     IDGruppe24 = "";
                                    var     IDGruppe25 = ""; 
                                    var     Grp2ZufAnz = 0;              // Anzahl der Geräte zur zufälligen Bestimmung des Geraetes 
                                    
                                    var     IDGruppe31 =  "";  // Licht Flur oben Wand;
                                    var     IDGruppe32 =  "";  // Licht Flur oben unten; 
                                    var     IDGruppe33 =  "";  // Licht Kinderbad
                                    var     IDGruppe34 = "";
                                    var     IDGruppe35 = ""; 
                                    var     Grp3ZufAnz = 0;              // Anzahl der Geräte zur zufälligen Bestimmung des Geraetes 
                                    
                                    var     IDGruppe41 = ""; // Licht aussen Steinterrasse
                                    var     IDGruppe42 = "";  // Licht aussen Kugeln 
                                    var     IDGruppe43 = ""; // Licht Schwimmbad Nebenlicht;
                                    var     IDGruppe44 = "";
                                    var     IDGruppe45 = ""; 
                                    var     Grp4ZufAnz = 0;              // Anzahl der Geräte zur zufälligen Bestimmung des Geraetes 
                                    
                                    var     IDGruppe51 = "";
                                    var     IDGruppe52 = ""; 
                                    var     IDGruppe53 = "";
                                    var     IDGruppe54 = "";
                                    var     IDGruppe55 = "";
                                    var     Grp5ZufAnz = 0;              // Anzahl der Geräte zur zufälligen Bestimmung des Geraetes 
                                    
                                    var logflag = true;     // wenn auf true dann wird das logging in Datei /opt/iobroker/iobroker-data/AWSLog.csv eingeschaltet bei false vice versa
                                    
                                    var ausflag = true;     // Wenn AWS deaktiviert wird, dann werden alle Teilnehmer ausgeschaltet
                                    
                                    // Ende Einstellungen .......................................................................................................
                                    
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • smartboart
                                      smartboart last edited by

                                      Hallo, ich hatte anfänglich auch Probleme mit den Sonoff, da die Namen leerzeichen enthalten haben. Versuche doch mal den Namen der Sonoffs zu ändern ohne das - Zeichen ..Ist erstmal Áufwand, da das in der web Oberfläche desTasmota vorgenommen wird und evtl. scripte angepasst werden müssen welche die Objekt ID nutzen…

                                      Ein Versuch ist es wert.

                                      Und läuft bei dir das Script für die Anwesenheitssteuerung?

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

                                        hab noch ein kleinen Buck entdeckt…

                                        Anwesenheitserkennung läuft übers Handy. Wenn ich nun Licht im Wohnzimmer anhabe und der Status in der Anweseheitssteuerung aktualisiert wird also z.B von 2 Anwesenden auf nur noch einen, läuft das AWS Script los und schaltet mein Licht aus...Genauso wenn jemand dazu kommt also eine person schon da und noch eine kommt nach Hause...

                                        Der Status in der Anwesenheitssteuerung wird aktualisiert die objekt id : jemand da ist true und aktualisiert wieder auf true, wird aber nicht false...

                                        Dennoch rennt das Script los.. Hier der log dazu... 6558_unbenannt.png

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

                                          So ok, der Fehler ist in dem Script Anwesenheitssteuerung welche mit dem Script Anwesenheitssimulation verküpft werden kann.

                                          Die Verküpfung kann im Script Anwesenheitssteuerung konfiguriert werden.

                                          Dies habe ich geändert und ein separates Script für die Aktivierung der AWSAktiv ID geschrieben..

                                          Somit habe ich das für mich gelöst..

                                          Gleichzeitig habe ich noch ein Automatik / on off State mit eingebaut..

                                          funktioniert prima!

                                          createState('javascript.0.Anwesenheitssteuerung.Automatik', {def: 'false', type: 'boolean', name: 'Rolladen Gesamt Automatik aktivieren'});
                                          
                                          const id1 = 'javascript.0.Anwesenheitssteuerung.Automatik';
                                          const id2 = 'javascript.0.Anwesenheitssteuerung.Userlist.JemandDa';
                                          const AWS = 'javascript.0.Anwesenheitssteuerung.AWSAktiv';
                                          
                                          function aktivieren() { 
                                          
                                          var jemandDa = getState('javascript.0.Anwesenheitssteuerung.Userlist.JemandDa').val;
                                          var Anja = getState('tr-064.0.devices.Anja-Iphone').val;
                                          var Michi = getState('tr-064.0.devices.Privattelefon-Michael').val;
                                          var Moni = getState('tr-064.0.devices.Monika-Iphone').val;
                                          var Automatik = getState('javascript.0.Anwesenheitssteuerung.Automatik').val;
                                          var AWSAktiv = getState('javascript.0.Anwesenheitssteuerung.AWSAktiv').val;
                                              if(AWSaktiv === false && Automatik === true && jemandDa ===  false && Anja === false & Michi === false && Moni === false) {
                                              setStateDelayed(AWS, true, 180*1000);
                                              log('AWS wird in 3 Minuten gestartet');
                                              } else { 
                                                  if(AWSAktiv === true && Automatik === true) && (jemandDa === true || Anja === true || Michi === true || Moni === true) {
                                                  setState(AWS, false);
                                                  log('AWS wegen Anwesenheit deaktiviert');
                                          			} else {
                                          			  if(Automatik === false && AWSAktiv === true) {
                                          				setState(AWS, false);
                                          				log('AWS manuell deaktiviert');
                                                     }
                                                  }
                                              }
                                          
                                          aktivieren(); // Skriptstart
                                          
                                          on(id1, function(dp) {
                                             kontakt1 = dp.state.val;
                                             aktivieren();
                                          });      
                                          on(id2, function(dp) {
                                             kontakt2 = dp.state.val;
                                             aktivieren();
                                          });   
                                          
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • A
                                            ak1 last edited by

                                            Ich habe seit nunmehr einiger Zeit eine Anwesenheitssimulation auf meiner CCU/Rasperrymatic laufen. Allerdings versuche ich nach und nach meine Skripte in Richtung ioBroker zu bekommen. Daher kommt mir dieses Skript hier natürlich sehr gelegen.

                                            Ich habe es eben aktiviert, erstmal nur ein Aktor.

                                            Das Beispiel im ersten Post habe ich verstanden, glaube ich zumindest 😉

                                            Ich würde mich über ein Beispiel für den morgendlichen Ablauf freuen. Idealerweise unter Berücksichtigung der Astrozeit. Hat das jemand?

                                            Ich gehe davon aus, dass eine Unterscheidung zwischen Wochentagen und Wochenende nicht möglich ist, richtig?

                                            Danke!

                                            Stefan

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            643
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            40
                                            271
                                            52863
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo