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

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

Community Forum

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

NEWS

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

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

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

[Vorlage] Variable Zeitsteuerung mit VIS Editor

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vistemplate
919 Beiträge 47 Kommentatoren 279.4k 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.
  • G Offline
    G Offline
    GiuseppeS
    schrieb am zuletzt editiert von
    #830

    Neues Update auf Github hochgeladen https://github.com/gsicilia82/Timer_iobroker

    Habe mit Github auch eine Versionierung gemäß dem geltenden "Standard" eingesetzt. Wir starten mal bei v1.0.0


    Changelog V1.0.0, 19.11.2020 (Skript)

    • Auto-Scroll innerhalb VIS Haupttabelle nun ohne Flackern umgesetzt
    • Aktualisierte States werden in Skript übernommen, wenn in Aufzählungen (Devices und/oder Conditions) gleichnamige Namen mit veränderten ioBroker States erkannt werden
    1 Antwort Letzte Antwort
    0
    • G Offline
      G Offline
      GiuseppeS
      schrieb am zuletzt editiert von
      #831

      Weiteres Update hochgeladen:

      Changelog V1.1.0 20.11.2020 (Skript + VIS[optional] )

      • Bugfix bei der Scroll-Eigenschaft der Bedingungen im Editor
      • Widget-ID des EDIT-Buttons muss oben im Skript nicht mehr angegeben werden.
        Widget-ID wird nun gefunden: Dafür muss im EDIT-Widget unter CSS-Klasse der Eintrag "dialogIdentifier" (ohne "") ergänzt werden.
        Änderung muss bei Update von bestehender Version nicht durchgeführt werden. Abwärtskompatibilität ist gegeben.

      Das neue EDIT-Widget würde ich hochladen, aber es ist einfacher den neuen CSS-Klassen-Eintrag "dialogIdentifier" manuell durchzuführen:
      31454132-d3a2-4192-b622-7faccf948ef1-image.png

      Wie im Changelog erwähnt: Anpassung nur optional. Wenn das neue Skript einfach übernommen wird, funktioniert alles wie gehabt.

      R 1 Antwort Letzte Antwort
      0
      • G GiuseppeS

        Weiteres Update hochgeladen:

        Changelog V1.1.0 20.11.2020 (Skript + VIS[optional] )

        • Bugfix bei der Scroll-Eigenschaft der Bedingungen im Editor
        • Widget-ID des EDIT-Buttons muss oben im Skript nicht mehr angegeben werden.
          Widget-ID wird nun gefunden: Dafür muss im EDIT-Widget unter CSS-Klasse der Eintrag "dialogIdentifier" (ohne "") ergänzt werden.
          Änderung muss bei Update von bestehender Version nicht durchgeführt werden. Abwärtskompatibilität ist gegeben.

        Das neue EDIT-Widget würde ich hochladen, aber es ist einfacher den neuen CSS-Klassen-Eintrag "dialogIdentifier" manuell durchzuführen:
        31454132-d3a2-4192-b622-7faccf948ef1-image.png

        Wie im Changelog erwähnt: Anpassung nur optional. Wenn das neue Skript einfach übernommen wird, funktioniert alles wie gehabt.

        R Offline
        R Offline
        Rand
        schrieb am zuletzt editiert von Rand
        #832

        @GiuseppeS

        Hi,
        kurze Frage, versuche gerade das Skript bei mir einzurichten;
        ich möchte damit u.a. zeitgesteuert Gound SP1 mit Tasmota schalten;
        dazu muss der control state auf ON oder OFF gesetzt werden.

        Jetzt habe ich den entsprechenden State in die Enum gepackt, aber es wird nicht geschaltet;
        vermutlich weil das Skript den state automatisch (fäschlicherweise) als numerisch erkennt und den Wert mit 0/100 bestücken will

        3746f315-7d06-42fe-88e8-787e5decc1af-image.png

        Eigentlich hat das Skript den State aber korrekt als bool angelegt

        {
          "common": {
            "type": "boolean",
            "role": "state",
            "name": "Timer.Devices.States.SP1-BadOG/cmnd/POWER_1"
          },
          "native": {
            "device": "SP1-BadOG/cmnd/POWER",
            "devNr": 1
          },
          "type": "state",
          "from": "system.adapter.javascript.0",
          "user": "system.user.admin",
          "ts": 1606044476438,
          "_id": "javascript.0.Timer.Devices.States.SP1-BadOG/cmnd/POWER_1",
          "acl": {
            "object": 1636,
            "state": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator"
          }
        }
        

        Wie kann ich nun die automatisch Erkennung anpassen das er die bool Werte erkennt?

        Oder ist es doch ein anderes Problem?
        Danke

        G 1 Antwort Letzte Antwort
        0
        • R Rand

          @GiuseppeS

          Hi,
          kurze Frage, versuche gerade das Skript bei mir einzurichten;
          ich möchte damit u.a. zeitgesteuert Gound SP1 mit Tasmota schalten;
          dazu muss der control state auf ON oder OFF gesetzt werden.

          Jetzt habe ich den entsprechenden State in die Enum gepackt, aber es wird nicht geschaltet;
          vermutlich weil das Skript den state automatisch (fäschlicherweise) als numerisch erkennt und den Wert mit 0/100 bestücken will

          3746f315-7d06-42fe-88e8-787e5decc1af-image.png

          Eigentlich hat das Skript den State aber korrekt als bool angelegt

          {
            "common": {
              "type": "boolean",
              "role": "state",
              "name": "Timer.Devices.States.SP1-BadOG/cmnd/POWER_1"
            },
            "native": {
              "device": "SP1-BadOG/cmnd/POWER",
              "devNr": 1
            },
            "type": "state",
            "from": "system.adapter.javascript.0",
            "user": "system.user.admin",
            "ts": 1606044476438,
            "_id": "javascript.0.Timer.Devices.States.SP1-BadOG/cmnd/POWER_1",
            "acl": {
              "object": 1636,
              "state": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator"
            }
          }
          

          Wie kann ich nun die automatisch Erkennung anpassen das er die bool Werte erkennt?

          Oder ist es doch ein anderes Problem?
          Danke

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

          @Rand
          Dass die Untergruppe "Timer.Devices.States..." entsteht ist der Restcode eines überholten Ansatzes (unnötig, Code muss ich anpassen und hochladen). Hatte ursprünglich vor, dass einzelne Timer über diese States aktiviert und deaktiviert werden können; ohne VIS Eingriff. Aber habe ich verworfen. Hat allerdings nichts mit deinem Problem zu tun.

          Werden deine Zielgeräte mit true/false ein- bzw. ausgeschaltet? Oder muss in diesen States tatsächlich "On" bzw "Off" geschrieben werden?

          R 1 Antwort Letzte Antwort
          0
          • G GiuseppeS

            @Rand
            Dass die Untergruppe "Timer.Devices.States..." entsteht ist der Restcode eines überholten Ansatzes (unnötig, Code muss ich anpassen und hochladen). Hatte ursprünglich vor, dass einzelne Timer über diese States aktiviert und deaktiviert werden können; ohne VIS Eingriff. Aber habe ich verworfen. Hat allerdings nichts mit deinem Problem zu tun.

            Werden deine Zielgeräte mit true/false ein- bzw. ausgeschaltet? Oder muss in diesen States tatsächlich "On" bzw "Off" geschrieben werden?

            R Offline
            R Offline
            Rand
            schrieb am zuletzt editiert von
            #834

            @GiuseppeS

            Vielen Dank für die schnelle Hilfe -
            es hat sich herausgestellt das ich meine Tasmota SP1's via mqtt eingebunden habe und dort der verwendete State als string und nicht als boolean angelegt wurde.
            Daher konnte das Skript das nicht automatisch korrekt erkennen.

            G 1 Antwort Letzte Antwort
            0
            • R Rand

              @GiuseppeS

              Vielen Dank für die schnelle Hilfe -
              es hat sich herausgestellt das ich meine Tasmota SP1's via mqtt eingebunden habe und dort der verwendete State als string und nicht als boolean angelegt wurde.
              Daher konnte das Skript das nicht automatisch korrekt erkennen.

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

              @Rand
              Solche Fälle sind hilfreich, werde meine Doku ergänzen und diesen Fall "true/false" als String erläutern. Evtl. kann nicht jeder die States einfach auf boolean umstellen.

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

                Neues Update hochgeladen:

                Changelog v1.2.0 22.11.2020 (Skript + VIS[optional] )

                • Offsets können nun auch größer 59 Minuten gewählt werden
                • Bugfix: Es wurden unnötige States unter Timer.Devices.States.x erstellt
                • Alle Widgets im Editor-View benamt

                Habe zusätzlich in der Readme die Funktionalität mit dem Mapping erläutert. Da ich in der letzten Woche Urlaub hatte, war ich fleißiger als üblich. Das wird nun wieder nachlassen ;-)

                Da nun Werte >59 als Offset genutzt werden können, habe ich in der VIS eben diese Werte ergänzt:
                9df2beff-2a06-4bf5-9646-06336ca28641-image.png

                Könnt ihr bei Bedarf auch machen. Anbei das geänderte Widget:
                offset_widget.txt

                Habe im Editor-View alle Widgets benamt. Teilweise überdecken sich die Widgets gegenseitig, somit ist eine Auswahl des Widgets über das Dropdown-Feld einfacher möglich. Wer das komplette View updaten möchte, kann es von Github laden.

                1 Antwort Letzte Antwort
                0
                • P Offline
                  P Offline
                  Pittini
                  Developer
                  schrieb am zuletzt editiert von
                  #837

                  Uiui, das Skript hier kannte ich ja noch gar nicht, da sind wir wohl am doppelt moppeln. Ich weise mal hierauf hin, evtl. kann man sich ja gegenseitig was abguggen, Ideen holen etc.
                  https://github.com/Pittini/iobroker-Timer

                  G 1 Antwort Letzte Antwort
                  0
                  • P Pittini

                    Uiui, das Skript hier kannte ich ja noch gar nicht, da sind wir wohl am doppelt moppeln. Ich weise mal hierauf hin, evtl. kann man sich ja gegenseitig was abguggen, Ideen holen etc.
                    https://github.com/Pittini/iobroker-Timer

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

                    @Pittini
                    Im Sommer letzten Jahres hatte ich das Skript erstmalig öffentlich bereit gestellt. Aber es stimmt, bis auf vereinzelte Einträge auf Facebook gab es nicht viel Werbung. Die Reichweite kann nie so groß sein wie bei Adaptern.
                    Von meinem "Programmierstil" kann man sich wahrscheinlich bei diesem Skript nicht viel abschauen. Würde es heutzutage definitiv Objekt orientiert lösen.
                    Ansonsten kannst du dich von diesem Skript gern funktionell bedienen bzw inspirieren lassen (z.B. Bedienung über HTML Buttons).
                    Grundsätzlich würde ich eher ein merge beider Skripte vorschlagen, damit die Arbeit tatsächlich nicht doppelt gemacht wird.

                    P 1 Antwort Letzte Antwort
                    0
                    • G GiuseppeS

                      @Pittini
                      Im Sommer letzten Jahres hatte ich das Skript erstmalig öffentlich bereit gestellt. Aber es stimmt, bis auf vereinzelte Einträge auf Facebook gab es nicht viel Werbung. Die Reichweite kann nie so groß sein wie bei Adaptern.
                      Von meinem "Programmierstil" kann man sich wahrscheinlich bei diesem Skript nicht viel abschauen. Würde es heutzutage definitiv Objekt orientiert lösen.
                      Ansonsten kannst du dich von diesem Skript gern funktionell bedienen bzw inspirieren lassen (z.B. Bedienung über HTML Buttons).
                      Grundsätzlich würde ich eher ein merge beider Skripte vorschlagen, damit die Arbeit tatsächlich nicht doppelt gemacht wird.

                      P Offline
                      P Offline
                      Pittini
                      Developer
                      schrieb am zuletzt editiert von Pittini
                      #839

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

                      Ansonsten kannst du dich von diesem Skript gern funktionell bedienen bzw inspirieren lassen (z.B. Bedienung über HTML Buttons).

                      Du, mein Skript ist "fertig", es macht alles was es sollte, Bedienung geht komplett via Vis, inkl. anlegen/ändern/löschen von Timern, alle FeatureRequests sind soweit eingearbeitet und es gab jetzt schon längere Zeit keine Bugmeldungen mehr.
                      Das Skript nie die Reichweite von Adaptern haben ist sicherlich pauschal korrekt, das setzt aber vorraus dasses entsprechende Adapter überhaupt gibt.

                      Grundsätzlich würde ich eher ein merge beider Skripte vorschlagen, damit die Arbeit tatsächlich nicht doppelt gemacht wird.

                      Grundsätzlich gerne, muß mir mal anschauen wie Dein Skript arbeitet, ich glaub das könnte aufgrund unterschiedlicher Ansätze komplex werden. Aber ich schau mir mal Deins an und Du schaust mal in meins rein, dann reden wir nochmal würd ich sagen. Das wir das überhaupt doppelt machen liegt dran dass Du nicht auf Git published hattest, ich such dort immer ob es für iobroker mein geplantes Projekt schon gibt und wenn nein fang ich an.

                      sigi234S G 2 Antworten Letzte Antwort
                      0
                      • P Pittini

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

                        Ansonsten kannst du dich von diesem Skript gern funktionell bedienen bzw inspirieren lassen (z.B. Bedienung über HTML Buttons).

                        Du, mein Skript ist "fertig", es macht alles was es sollte, Bedienung geht komplett via Vis, inkl. anlegen/ändern/löschen von Timern, alle FeatureRequests sind soweit eingearbeitet und es gab jetzt schon längere Zeit keine Bugmeldungen mehr.
                        Das Skript nie die Reichweite von Adaptern haben ist sicherlich pauschal korrekt, das setzt aber vorraus dasses entsprechende Adapter überhaupt gibt.

                        Grundsätzlich würde ich eher ein merge beider Skripte vorschlagen, damit die Arbeit tatsächlich nicht doppelt gemacht wird.

                        Grundsätzlich gerne, muß mir mal anschauen wie Dein Skript arbeitet, ich glaub das könnte aufgrund unterschiedlicher Ansätze komplex werden. Aber ich schau mir mal Deins an und Du schaust mal in meins rein, dann reden wir nochmal würd ich sagen. Das wir das überhaupt doppelt machen liegt dran dass Du nicht auf Git published hattest, ich such dort immer ob es für iobroker mein geplantes Projekt schon gibt und wenn nein fang ich an.

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

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

                        ich schau mir mal Deins an und Du schaust mal in meins rein, dann reden wir nochmal würd ich sagen.

                        Und daraus entsteht ein wunderbarer Adapter.:grinning:

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

                        1 Antwort Letzte Antwort
                        0
                        • P Pittini

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

                          Ansonsten kannst du dich von diesem Skript gern funktionell bedienen bzw inspirieren lassen (z.B. Bedienung über HTML Buttons).

                          Du, mein Skript ist "fertig", es macht alles was es sollte, Bedienung geht komplett via Vis, inkl. anlegen/ändern/löschen von Timern, alle FeatureRequests sind soweit eingearbeitet und es gab jetzt schon längere Zeit keine Bugmeldungen mehr.
                          Das Skript nie die Reichweite von Adaptern haben ist sicherlich pauschal korrekt, das setzt aber vorraus dasses entsprechende Adapter überhaupt gibt.

                          Grundsätzlich würde ich eher ein merge beider Skripte vorschlagen, damit die Arbeit tatsächlich nicht doppelt gemacht wird.

                          Grundsätzlich gerne, muß mir mal anschauen wie Dein Skript arbeitet, ich glaub das könnte aufgrund unterschiedlicher Ansätze komplex werden. Aber ich schau mir mal Deins an und Du schaust mal in meins rein, dann reden wir nochmal würd ich sagen. Das wir das überhaupt doppelt machen liegt dran dass Du nicht auf Git published hattest, ich such dort immer ob es für iobroker mein geplantes Projekt schon gibt und wenn nein fang ich an.

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

                          @Pittini
                          Ich schaue mir deine Umsetzung mal genauer an, dann reden wir nochmal ;-)
                          Dass die programmatische Umsetzung unterschiedlich ist, unterschreibe ich sofort. Hatte mit diesem Timer meine ersten Schritte in Richtung Programmierung + JavaScript gemacht. Mir würde es bei dem merge eher um funktionelle Inhalte gehen. Wie es im Hintergrund abläuft, wäre egal.

                          Was mir noch einfällt: mic hat mittlerweile einen Adapter entwickelt, der glaube auch Timer beinhaltet. Finde den gerade nicht auf die schnelle. Aber da war wohl die VIS noch außen vor.

                          P 1 Antwort Letzte Antwort
                          0
                          • G GiuseppeS

                            @Pittini
                            Ich schaue mir deine Umsetzung mal genauer an, dann reden wir nochmal ;-)
                            Dass die programmatische Umsetzung unterschiedlich ist, unterschreibe ich sofort. Hatte mit diesem Timer meine ersten Schritte in Richtung Programmierung + JavaScript gemacht. Mir würde es bei dem merge eher um funktionelle Inhalte gehen. Wie es im Hintergrund abläuft, wäre egal.

                            Was mir noch einfällt: mic hat mittlerweile einen Adapter entwickelt, der glaube auch Timer beinhaltet. Finde den gerade nicht auf die schnelle. Aber da war wohl die VIS noch außen vor.

                            P Offline
                            P Offline
                            Pittini
                            Developer
                            schrieb am zuletzt editiert von
                            #842

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

                            Was mir noch einfällt: mic hat mittlerweile einen Adapter entwickelt, der glaube auch Timer beinhaltet. Finde den gerade nicht auf die schnelle. Aber da war wohl die VIS noch außen vor.

                            Ja, Du meinst sicher SmartControl. Das Ding ist als eierlegende Wollmilchsau konzipiert und nicht mal ich blick noch bei der Konfig durch, weis ned ob des was für Anfänger wär. Meine Skripte sind vom Konzept her so dass, wenn man sich an die Anleitung hält, das auchn Einsteiger bewältigen kann, dafür sind se auch gemacht. Ich hab mir Dein Skript jetzt mal genauer angesehen und glaube nicht das wir das gemixt bekommen, sollten wir imho auch nicht.
                            Dein Skript hat nen anderen Ansatz glaub ich und wir haben recht unterschiedliche Programmierstile (ich bin was proggen angeht ein Dinosaurier, als ich anfing gabs sowas wie oop noch nicht, deswegen mach ich alles mit Arrays etc.). DEin Skript kann mehr als meines, dafür ist meines imho leichter zu installieren. Finde ich nicht schlecht, so haben Einsteiger schnell was laufen und wer mehr braucht kann ja dann zu Deinem Skript wechseln, den Ansatz mit kenntlichmachen der Ziele via Aufzählung haben wir ja gleich.

                            1 Antwort Letzte Antwort
                            0
                            • M Online
                              M Online
                              micklafisch
                              schrieb am zuletzt editiert von
                              #843

                              Hallo zusammen,

                              hat jemand von euch die Zeitsteuerung mit angelegten Alias in Betrieb? Bei mir geht immer mal wieder ein 433Mhz Baumarkt Zwischenstecker kaputt, jetzt wo die Weihnachtsdeko wieder raus kommt hab ich nach 10 Monaten im Speicher rumliegen wieder eine die nicht mehr geht.

                              Um das in Zukunft einfacher zu halten wollte ich mich mit der Alias Funktion bzw. dem Adapter beschäftigen. Leider wird der Aliasname im Timerskript nicht richtig ausgelesen und nur mit [object Object] ausgegeben:

                              e1aff8f8-c847-4a76-aab1-dde6cff7c59e-grafik.png

                              G 2 Antworten Letzte Antwort
                              0
                              • M micklafisch

                                Hallo zusammen,

                                hat jemand von euch die Zeitsteuerung mit angelegten Alias in Betrieb? Bei mir geht immer mal wieder ein 433Mhz Baumarkt Zwischenstecker kaputt, jetzt wo die Weihnachtsdeko wieder raus kommt hab ich nach 10 Monaten im Speicher rumliegen wieder eine die nicht mehr geht.

                                Um das in Zukunft einfacher zu halten wollte ich mich mit der Alias Funktion bzw. dem Adapter beschäftigen. Leider wird der Aliasname im Timerskript nicht richtig ausgelesen und nur mit [object Object] ausgegeben:

                                e1aff8f8-c847-4a76-aab1-dde6cff7c59e-grafik.png

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

                                @micklafisch
                                An sich ist das Zielgerät nicht wichtig. Es ist nur relevant, dass in der verwendeten Aufzählung ausschließlich States verwendet werden, keine darüber liegenden Gruppen.
                                Um sicher zu gehen, ob alles richtig ist, kannst du vom ioBroker Objektbaum ein Screenshot machen, worin die 433Mhz Stecker zu sehen sind.

                                M 1 Antwort Letzte Antwort
                                1
                                • M micklafisch

                                  Hallo zusammen,

                                  hat jemand von euch die Zeitsteuerung mit angelegten Alias in Betrieb? Bei mir geht immer mal wieder ein 433Mhz Baumarkt Zwischenstecker kaputt, jetzt wo die Weihnachtsdeko wieder raus kommt hab ich nach 10 Monaten im Speicher rumliegen wieder eine die nicht mehr geht.

                                  Um das in Zukunft einfacher zu halten wollte ich mich mit der Alias Funktion bzw. dem Adapter beschäftigen. Leider wird der Aliasname im Timerskript nicht richtig ausgelesen und nur mit [object Object] ausgegeben:

                                  e1aff8f8-c847-4a76-aab1-dde6cff7c59e-grafik.png

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

                                  @micklafisch
                                  Was mir gerade noch einfällt: verwende für einen Teil meiner Rollläden auch die Alias Funktion. Funktioniert einwandfrei.

                                  1 Antwort Letzte Antwort
                                  0
                                  • B Offline
                                    B Offline
                                    boehmgui
                                    schrieb am zuletzt editiert von
                                    #846

                                    Moin zusammen,
                                    echt ein toles Skript! Für meine Steckdoesen läuft es einwandfrei.
                                    Ich möcht nun eine zweite Instanz für meine Rolläden adaptieren. Die Steuerung ist hier leider nicht ganz so einfach., da ich keine %-Werte angeben kann, sondern nur "UP/DOWN", wobei der Wert aber nur kurzzeitig anstehen darf und wieder auf "" gesetzt werden muss.

                                    Nun habe ich mir in dem Skript einen Wolf gesucht (JS ist nicht so ganz meine Welt), wo denn die eigentliche Aktion ausgeführt, i.e. der DatenPunkt gesetzt wird. Ich müsste dort dort irgendwie eine Callback Funktion einbauen, die den DP verzögert wieder auf "" setzt.

                                    So habe ich das ggw. in meinen Skript, welches ich durch die Variable Zeitsteuereung ersetzten möchte

                                    setStateDelayed(shutter[i], "DOWN", delay, false, function (){
                                            log(shutter[i] + "DOWN");
                                            setStateDelayed(shutter[i], "", 1000);
                                            });
                                    

                                    Kann mir da bitte jemand den Weg weisen?

                                    G 1 Antwort Letzte Antwort
                                    0
                                    • G GiuseppeS

                                      @micklafisch
                                      An sich ist das Zielgerät nicht wichtig. Es ist nur relevant, dass in der verwendeten Aufzählung ausschließlich States verwendet werden, keine darüber liegenden Gruppen.
                                      Um sicher zu gehen, ob alles richtig ist, kannst du vom ioBroker Objektbaum ein Screenshot machen, worin die 433Mhz Stecker zu sehen sind.

                                      M Online
                                      M Online
                                      micklafisch
                                      schrieb am zuletzt editiert von
                                      #847

                                      @GiuseppeS
                                      Danke für den Hinweis, genau das war das Problem.

                                      Wenn ich bei der Alias Erzeugung eine Aufzählung mit angebe, dann fügt der Adapter den channel mitsamt state ein und nicht nur den state. Habe den channel aus der Aufzählung entfernt und den state manuell rein, schon klappt das ganze auch. Danke!

                                      1 Antwort Letzte Antwort
                                      1
                                      • B boehmgui

                                        Moin zusammen,
                                        echt ein toles Skript! Für meine Steckdoesen läuft es einwandfrei.
                                        Ich möcht nun eine zweite Instanz für meine Rolläden adaptieren. Die Steuerung ist hier leider nicht ganz so einfach., da ich keine %-Werte angeben kann, sondern nur "UP/DOWN", wobei der Wert aber nur kurzzeitig anstehen darf und wieder auf "" gesetzt werden muss.

                                        Nun habe ich mir in dem Skript einen Wolf gesucht (JS ist nicht so ganz meine Welt), wo denn die eigentliche Aktion ausgeführt, i.e. der DatenPunkt gesetzt wird. Ich müsste dort dort irgendwie eine Callback Funktion einbauen, die den DP verzögert wieder auf "" setzt.

                                        So habe ich das ggw. in meinen Skript, welches ich durch die Variable Zeitsteuereung ersetzten möchte

                                        setStateDelayed(shutter[i], "DOWN", delay, false, function (){
                                                log(shutter[i] + "DOWN");
                                                setStateDelayed(shutter[i], "", 1000);
                                                });
                                        

                                        Kann mir da bitte jemand den Weg weisen?

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

                                        @boehmgui
                                        Freut mich, dass du das Skript gleich mehrfach nutzen möchtest ;-)
                                        UP & DOWN kannst du hoffentlich dank der erweiterten github Anleitung selbstständig definieren, ansonsten einfach hier nachfragen.
                                        Zum Punkt, dass die Vorgaben nur kurzzeitig anliegen dürfen:
                                        Ich würde dueses Skript gar nicht ändern und ein weiteres Skript anlegen. Dort würde ich es wie folgt umsetzen.

                                        • Trigger über alle Rollläden
                                        • wenn Trigger Wert ungleich "", dann setze Trigger ID auf "" nach 1000 ms

                                        Der riesige Vorteil: das funktioniert global, d.h. auch wenn über weitere Skripte deine Rollläden gesteuert werden. Außerdem kannst du so weitere Updates des Skripts einfach über copy/paste hochziehen ohne individuelle Anpassungen nachzutragen.
                                        Falls du die Vorgehensweise gut findest, aber bei der Umsetzung Unterstützung benötigst, einfach fragen.

                                        B 1 Antwort Letzte Antwort
                                        0
                                        • M Online
                                          M Online
                                          micklafisch
                                          schrieb am zuletzt editiert von micklafisch
                                          #849

                                          Jetzt habe ich leider ein neues Problem. Obwohl ich am parallel laufenden Timerskript für meine Rollläden nichts geändert habe kommen nach einem Neustart folgende Fehler im Log:

                                          javascript.0	2020-11-30 12:21:41.683	error	(636) at processTimers (internal/timers.js:492:7)
                                          javascript.0	2020-11-30 12:21:41.683	error	(636) at listOnTimeout (internal/timers.js:549:17)
                                          javascript.0	2020-11-30 12:21:41.682	error	(636) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2024:34)
                                          javascript.0	2020-11-30 12:21:41.682	error	(636) at Object.main (script.js.common.Zeitschaltuhren_Rollos:1833:49)
                                          javascript.0	2020-11-30 12:21:41.682	error	(636) at Array.forEach (<anonymous>)
                                          javascript.0	2020-11-30 12:21:41.681	error	(636) at script.js.common.Zeitschaltuhren_Rollos:1842:71
                                          javascript.0	2020-11-30 12:21:41.681	error	(636) Error in callback: TypeError: Cannot read property 'common' of null
                                          javascript.0	2020-11-30 12:21:41.675	warn	(636) Object "undefined" does not exist
                                          javascript.0	2020-11-30 12:21:40.154	info	(636) script.js.common.Zeitschaltuhren_Rollos: registered 0 subscriptions and 0 schedules
                                          javascript.0	2020-11-30 12:21:40.072	info	(636) Start javascript script.js.common.Zeitschaltuhren_Rollos
                                          

                                          Bisher hatte ich nur am Steckdosen Timer mit den Alias Namen experimentiert. Dort kommt nach einem Neustart auch kein Fehler :man-shrugging:

                                          Nachtrag: Habe bei beiden die Version 1.2.0 im Einsatz.

                                          G 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

                                          305

                                          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