Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter time-switch v2.0.x GitHub/Latest

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter time-switch v2.0.x GitHub/Latest

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

      @berndhome Hallo, bei mir ist der gleiche Bug mit der grauen Fläche auf iPad und iPhone 😞
      Scheint also doch ein globales Problem zu sein und kein Einzelfall.
      Es hängt aber definitiv mit dem Widget zusammen, da ja sämtliche anderen Widgets aus der Vis sauber angezeigt werden.
      Laut dem Entwickler soll ich Logs aus der Browserkonsole schicken, was natürlich mit dem iPad nicht funktioniert. 😎

      Negalein 1 Reply Last reply Reply Quote 0
      • Negalein
        Negalein Global Moderator @frankthegreat last edited by

        @frankthegreat sagte in Test Adapter time-switch v1.0.x GitHub/Latest:

        Logs aus der Browserkonsole schicken, was natürlich mit dem iPad nicht funktioniert

        Gibt doch auch beim Safari die Entwicklertools

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

          @walli545 bekomme folgende Fehler Meldung vor der geplanten Ausführung
          Zeitplan eingestellt auf 17:30

          time-switch.0	2020-04-29 17:24:27.388	error	at processTicksAndRejections (internal/process/task_queues.js:97:5)
          time-switch.0	2020-04-29 17:24:27.388	error	at fulfilled (/opt/iobroker/node_modules/iobroker.time-switch/build/main.js:5:58)
          time-switch.0	2020-04-29 17:24:27.388	error	at Generator.next (<anonymous>)
          time-switch.0	2020-04-29 17:24:27.388	error	at TimeSwitch.<anonymous> (/opt/iobroker/node_modules/iobroker.time-switch/build/main.js:127:52)
          time-switch.0	2020-04-29 17:24:27.388	error	(2820) TypeError: Cannot read property 'map' of undefined
          time-switch.0	2020-04-29 17:24:27.387	error	(2820) uncaught exception: Cannot read property 'map' of undefined
          

          node.png
          JS contoller 3.0.20
          Admin 4.1.1

          1 Reply Last reply Reply Quote 0
          • arteck
            arteck Developer Most Active last edited by

            jo die Meldung hab ich auch

            bbd83990-7caa-4058-b827-a2e0d794917f-grafik.png

            B 1 Reply Last reply Reply Quote 0
            • B
              berndhome @arteck last edited by

              @arteck
              Ich habe mir mal den Code bei Zeile 127 angesehen:

              const schedule ist ein Javascript-Objekt ("JSON.parse(scheduleString);" ).
              Der Fehler passiert bei :
              const triggers = schedule.triggers.map((t) => this.triggerSerializer.deserialize(JSON.stringify(t)));
              Hier wollte man (so vermute ich) auf "schedule.triggers" den "Array.prototype.map()" anwenden.
              Dies funktioniert nach meinem Kenntnisstand nur bei Arrays und nicht bei einem Javascript-Objekt.
              Daher wird hier auch versucht nach einer Property "map" aufzulösen, den es definitiv (zumindest in meinem) Object nicht gibt.
              Vielleicht erst einem array zuweisen und dann die Map-Funktion anwenden?

              walli545 1 Reply Last reply Reply Quote 0
              • walli545
                walli545 @berndhome last edited by

                Dank der guten Unterstützung der Apple Nutzer konnte ich den Bug nun fixen, indem ich eine virtuelle Maschine mit MacOs aufgesetzt habe, danke dafür 😉 Bitte ausprobieren, ob es nun nach einem Update funktioniert @frankthegreat @berndhome, evtl. auch mit Fully mal ausprobieren, wobei das auch was anderes sein könnte.

                @Iccube @arteck Wie schauen den bei euch die Schedule Daten aus (im State)? Vermutlich habt ihr bevor der Fehler kam das automatische Schalten angemacht?
                @berndhome Das dürfte nicht das Problem sein, JSON.parse gibt ja ein aus dem String geparstes Objekt zurück und die triggers sind auch im JSON ein Array. Das wird dann auch in JS ein Array.

                Homer.J. B frankthegreat 3 Replies Last reply Reply Quote 0
                • Homer.J.
                  Homer.J. @walli545 last edited by

                  @walli545 funktioniert nun auch unter Apple. 👍 Danke

                  1 Reply Last reply Reply Quote 0
                  • B
                    berndhome @walli545 last edited by Negalein

                    @walli545 neueste Version läuft nun unter Fully und auf dem IPad. Vielen Dank für die schnelle Umsetzung!
                    Jedoch nach wie vor der Fehler "property map....".

                    time-switch.0	2020-04-30 20:04:28.320	error	at process._tickCallback (internal/process/next_tick.js:68:7)
                    time-switch.0	2020-04-30 20:04:28.320	error	at fulfilled (/opt/iobroker/node_modules/iobroker.time-switch/build/main.js:5:58)
                    time-switch.0	2020-04-30 20:04:28.320	error	at Generator.next (<anonymous>)
                    time-switch.0	2020-04-30 20:04:28.320	error	at TimeSwitch.<anonymous> (/opt/iobroker/node_modules/iobroker.time-switch/build/main.js:127:52)
                    time-switch.0	2020-04-30 20:04:28.320	error	(559640) TypeError: Cannot read property 'map' of undefined
                    time-switch.0	2020-04-30 20:04:28.320	error	(559640) uncaught exception: Cannot read property 'map' of undefined
                    

                    Deine Erklärung hinsichtlich array kann ich daher so nicht nachvollziehen:
                    Würde .map als Array-Funktion interpretiert, würde doch nicht nach einer Property "map" gesucht (siehe Fehlertext).
                    Und diese Property gibt es auch wirklich nicht im "scheduleString" (lt. Debug-Ausgabe).
                    Wäre in der arrayfunktion ein syntaktischer Fehler würde ein völlig anderer Fehler kommen.

                    so sieht bei mir übrigens der Übergabewert (lt. Debug) aus:

                    onScheduleChange: {"name":"Wärmepumpe","triggers":[{"type":"TimeTrigger","hour":13,"minute":35,"weekdays":[1,2,3,4,5,6,0],"id":"0","action":{"type":"OnOffStateAction","valueType":"boolean","onValue":true,"offValue":false,"booleanValue":true,"idsOfStatesToSet":["javascript.0.unipi.relays.Waermepumpe.power"]}},{"type":"TimeTrigger","hour":15,"minute":25,"weekdays":[1,2,3,4,5,6,0],"id":"8","action":{"type":"OnOffStateAction","valueType":"boolean","onValue":true,"offValue":false,"booleanValue":false,"idsOfStatesToSet":["javascript.0.unipi.relays.Waermepumpe.power"]}}]}
                    

                    Die Schaltfunktion habe ich auch mal getestet: "an" und "aus" nach Zeit funktioniert offensichtlich (trotz der Fehlermeldung)....

                    walli545 1 Reply Last reply Reply Quote 0
                    • W
                      Wolfi last edited by

                      Neue Version wieder unter https://github.com/walli545/ioBroker.time-switch/tarball/19-switch-boolean-values

                      ??

                      1 Reply Last reply Reply Quote 0
                      • walli545
                        walli545 @berndhome last edited by

                        @Wolfi Ja genau, sobald sich das ändert, gebe ich es hier bekannt.
                        @berndhome ich glaube ich hab was gefunden, bitte ausprobieren. Wenn du den Fehler weiterhin hast, bitte den ganzen Log anhängen, habe außerdem noch mehr Debug Output hinzugefügt.

                        FYI: Ich bin mir ziemlich sicher, dass die Stelle wo der Fehler geworfen wird so funktioniert. Ich denke, dass der der Fehler wo anders liegt, z.B. im Aufruf der Methode. Dass es funktioniert, kannst du ganz einfach in der Browser Konsole ausprobieren. Die Fehlermeldung ist ein wenig irreführend, es ist nämlich egal ob auf eine Methode oder eine Property von undefined zugegriffen wird, der Fehler ist gleich (Test: undefined.map() und undefined.a).


                        Der Test für JSON.parse:

                        const a = JSON.parse('{"name":"Wärmepumpe","triggers":[{"type":"TimeTrigger","hour":13,"minute":35,"weekdays":[1,2,3,4,5,6,0],"id":"0","action":{"type":"OnOffStateAction","valueType":"boolean","onValue":true,"offValue":false,"booleanValue":true,"idsOfStatesToSet":["javascript.0.unipi.relays.Waermepumpe.power"]}},{"type":"TimeTrigger","hour":15,"minute":25,"weekdays":[1,2,3,4,5,6,0],"id":"8","action":{"type":"OnOffStateAction","valueType":"boolean","onValue":true,"offValue":false,"booleanValue":false,"idsOfStatesToSet":["javascript.0.unipi.relays.Waermepumpe.power"]}}]}')
                        
                        a.triggers.map(t => t.type)
                        

                        Einfach zeilenweise in die Konsole eingeben.

                        B Iccube 2 Replies Last reply Reply Quote 0
                        • B
                          berndhome @walli545 last edited by

                          @walli545 Danke für die Infos, ich werde mal testen.
                          Noch ein Verbesserungsvorschlag: "die "ID vom geschalteten State" besser nicht in jeden "TimeTrigger" Datenpunkt mit aufnehmen, sondern dafür einen weiteren Datenpunkt spendieren.
                          Ich hatte erst angenommen, dass das zeit-gesteuerte Schalten nicht funktioniert, bis ich festgestellt habe,
                          dass (kommt wohl normal nicht vor, jedoch bei meinen Tests...) Änderungen bei "ID vom geschalteten State" sich auf neue Zeitvorgaben, jedoch nicht auf bis dato gesetzte Zeitvorgaben auswirkt. Daher der Vorschlag mit dem Datenpunkt
                          ( keine redundante Daten) oder aber sicher stellen, dass bei einer ID-Änderung diese in alle "TimeTrigger" erfolgt.

                          Ansonsten geht bei mir um 10:00Uhr die Beleuchtung an und um 13:00Uhr die Wärmepumpe.
                          Dies ist aber wohl kein geplantes Feature 😉

                          walli545 1 Reply Last reply Reply Quote 0
                          • Iccube
                            Iccube @walli545 last edited by

                            @walli545 mit der neuen version kommt der Fehler nicht mehr

                            1 Reply Last reply Reply Quote 0
                            • W
                              Wolfi last edited by

                              Was ist jetzt das Probehm?

                              1. Habe das Adapter komplett deinstalliert.
                              2. iobroker auch neu gestartet usw.
                                3, Adapter Neu installiert. (Mit Meldung erfolgreich)

                              aber die Instanz fehlt?

                              FredF 1 Reply Last reply Reply Quote 0
                              • FredF
                                FredF Most Active Forum Testing @Wolfi last edited by

                                @Wolfi sagte in Test Adapter time-switch v1.0.x GitHub/Latest:

                                Was ist jetzt das Probehm?

                                Bei dir 😊 Du musst bei Adaptern von Github die Instanz selber erzeugen mit nochmaligen betätigen des plus buttons.
                                Erst dann siehst du bei installiert eine 1
                                d0a3da2e-7cee-467b-ace9-a35e30df801e-grafik.png

                                W 1 Reply Last reply Reply Quote 0
                                • W
                                  Wolfi @FredF last edited by

                                  @FredF

                                  a jetzetle sagt der schwabe

                                  Danke

                                  1 Reply Last reply Reply Quote 0
                                  • walli545
                                    walli545 @berndhome last edited by

                                    @berndhome Wenn du die geschaltene Id änderst, sollten auch für alle bestehenden Actions die Ids geändert werden. Zum Thema Redundanz: Ja dazu habe ich mir auch schon Gedanken gemacht. Zumindest in der Adapterlogik möche ich die Struktur so aufrecht halten, da ich da geplant habe per Decorator Pattern dann z.B. eine ConditionalAction hinzuzufügen, die eine normale Action wrappt und nur bei einer Bedingung auslöst. Evtl. ändere ich die Serialisierung so ab, dass es pro Schedule eine On- und eine Off Action gibt und in den Triggern dann nur eine Referenz dazu exisitiert 🤔

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

                                      Hallo,
                                      ich habe mal ein Widget für unsere Visu gebaut:
                                      Vielleicht habt ihr Zeit und guckt Euch das mal an:
                                      http://dev.builder.minukodu.de/minukodu/?url=http%3A%2F%2F94.130.57.38%3A9090&file=devTimeSwitch_ReadOnly.json&forceUpdate

                                      Die Konfiguration kann hier verändert werden:
                                      http://dev.builder.minukodu.de/

                                      connect to: http://94.130.57.38:9090
                                      ConfigFile: devTimeSwitch_ReadOnly

                                      auf http://94.130.57.38:8081 läuft übrigens unsere ioBroker-demo-Instanz.
                                      RO-Zugang mit demo/demo

                                      Danke
                                      Sepp

                                      walli545 1 Reply Last reply Reply Quote 0
                                      • walli545
                                        walli545 @SVallant last edited by

                                        @SVallant Cool! Falls sich in dieser Version noch was an der Widgetlogik ändert, gebe ich dir bescheid. Wo gibt es den Quellcode dazu?

                                        SVallant liv-in-sky 2 Replies Last reply Reply Quote 0
                                        • SVallant
                                          SVallant @walli545 last edited by

                                          @walli545 Danke, nightly Build hier zum Download

                                          TimeSwitch-Widget ist minuvis-webapp.iobroker\src\components\widgets\TimeSwitch.js

                                          Die Visu ist eine React-App ...

                                          Werde das noch ein bißchen testen und dann in die nächste Version bei Github einfliessen lassen.
                                          Sage dir dann auch Bescheid !

                                          1 Reply Last reply Reply Quote 0
                                          • frankthegreat
                                            frankthegreat @walli545 last edited by

                                            @walli545 Gerade gesehen, das es eine neue Version gibt 😳
                                            Wird jetzt auch auf iPad und iPhone richtig dargestellt 👍

                                            Super Job, den du hier machst. Ich freue mich schon auf weitere Features von dir.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            429
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter switch test time vis zeitschaltuhr
                                            75
                                            481
                                            81356
                                            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