Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Datenpunkte zusammenfassen - Jalousiesteuerung über VIS

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Datenpunkte zusammenfassen - Jalousiesteuerung über VIS

    This topic has been deleted. Only users with topic management privileges can see it.
    • Codierknecht
      Codierknecht Developer Most Active @kfL last edited by

      @kfl
      Ich würde da nix "binden" (was übrigens außerhalb des Triggers gehört).

      Ich würde da für jede Gruppe einen eigenen DP unter 0_userdata.0 erstellen und da wie folgt regeln:
      c7f52075-a117-4972-b2b1-76869aa71870-image.png

      Wenn es einfach nur um "auf" oder "zu" geht, könnte man auch den Szenen-Adapter nehmen.

      1 Reply Last reply Reply Quote 1
      • K
        kfL last edited by kfL

        @codierknecht Danke für dein Rückmeldung, wenn ich das ganze über Gruppe gestalten würde, müsste ich ja für jede Situation eine eigene Gruppe erstellen bspw:

        Bad und Küche -> Gruppe
        Schlafzimmer, Bad, Kinderzimmer Küche -> Gruppe
        Schlafzimmer, Bad, Essen, Kinderzimmer, Küche -> Gruppe

        oder gibt es die Möglichkeit durch einen Baustein die Gruppe jeweils immer mit der entsprechenden Auswahl zu bestücken?

        Ansonsten müsste ich halt für jeden Rolladen ein kleines Script erstellen:

        aaa9ddfe-7f6a-423d-a428-c1af1ffc6a9c-image.png

        Codierknecht 1 Reply Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @kfL last edited by

          @kfl
          Du könntest Gruppen in die kleinsten Einheiten aufsplitten und in den "übergeordneten" Gruppen nur den DP der Teilgruppen ansteuern.

          Bad und Küche => Gruppe 1
          Schlafzimmer, und Kinderzimmer => Gruppe 2
          Gruppe 3 => Gruppe 1 + Gruppe 2

          oder gibt es die Möglichkeit durch einen Baustein die Gruppe jeweils immer mit der entsprechenden Auswahl zu bestücken?

          Du könntest mit Selektoren und Aufzählungen arbeiten.

          Übrigens:
          Im Trigger musst Du nicht nochmal der "Wert vom Objekt" lesen.
          https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps/5

          K 1 Reply Last reply Reply Quote 1
          • K
            kfL @Codierknecht last edited by

            @codierknecht dann bleib ich wohl lieber erst mal bei meinem praktmatischen Beispiel 🙂
            Muss erst einmal reinkommen, bevor ich mich mit komplexeren Themen u.a. Selektoren beschäftige.

            Danke für den Tipp mit dem Objekt lesen und für das Topic!

            Codierknecht 2 Replies Last reply Reply Quote 0
            • Codierknecht
              Codierknecht Developer Most Active @kfL last edited by

              @kfl
              Statt mit Selektoren könnte man auch mit einer Liste arbeiten. Also ein DP, der ein Array enthält.
              Mir fällt aber jetzt aus dem Stegreif kein Widget ein, mit dem man sowas in der gewünschten Art realisieren könnte.

              61587a1f-43f5-408d-980b-d9d794c2a198-image.png

              1 Reply Last reply Reply Quote 0
              • Codierknecht
                Codierknecht Developer Most Active @kfL last edited by

                @kfl
                Oder so:
                Man erstellt eine eigene Struktur unterhalb von 0_userdata.0 mit DP vom Typ "Logikwert".
                Die kann man in der Vis an- und abwählen.
                f13afa54-f4d7-48ad-97d0-783dd907d2ea-image.png
                In "name" (oder "desc") steckt man bei den eigenen DP die ID des zugeordneten Rollo.

                Im Script reagiert man auf einen weiteren DP, der "auf" oder "ab" bzw. den Ziel-Level liefert.
                cfcad9fd-5388-4186-8ae9-e062aaf0925a-image.png

                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @kfL last edited by paul53

                  @kfl sagte: Auswahl zusammen hoch oder runter fahren soll bei der Ansteuerung.

                  Links ist die Auswahl und rechts oben sind zwei Button zur Ansteuerung "hoch" oder "runter"?
                  Dann kann man zu den Jalousien Alias DP erstellen mit der ID-Struktur von z.B. "alias.0.Jalousien.Wohnzimmer_Links". Eine identische Struktur kann man für die Auswahl unter "0_userdata.0.Jalousien" erstellen.
                  Das Blockly könnte dann so aussehen:

                  Blockly_temp.JPG

                  1 Reply Last reply Reply Quote 2
                  • Codierknecht
                    Codierknecht Developer Most Active last edited by

                    @paul53
                    Nimm mal @paul53's Vorschlag.
                    Was er zeigt, funktioniert eigentlich immer einwandfrei 😁

                    paul53 K 2 Replies Last reply Reply Quote 0
                    • paul53
                      paul53 @Codierknecht last edited by

                      @codierknecht sagte: funktioniert eigentlich immer

                      In dem Fall aber nur mit den passenden ID-Strukturen unter "alias.0" und "0_userdata.0", die erst erstellt werden müssen.

                      Codierknecht 1 Reply Last reply Reply Quote 0
                      • Codierknecht
                        Codierknecht Developer Most Active @paul53 last edited by

                        @paul53
                        Naja - ein bisschen Arbeit muss ja für den TE auch noch übrig bleiben 😉

                        1 Reply Last reply Reply Quote 0
                        • K
                          kfL @Codierknecht last edited by kfL

                          @codierknecht said in Datenpunkte zusammenfassen - Jalousiesteuerung über VIS:

                          @paul53
                          Nimm mal @paul53's Vorschlag.
                          Was er zeigt, funktioniert eigentlich immer einwandfrei 😁

                          Dann beschäftige ich mich mit @paul53 's Vorschlag, Danke für deine Bemühungen 🙂

                          @paul53 said in Datenpunkte zusammenfassen - Jalousiesteuerung über VIS:

                          @kfl sagte: Auswahl zusammen hoch oder runter fahren soll bei der Ansteuerung.

                          Links ist die Auswahl und rechts oben sind zwei Button zur Ansteuerung "hoch" oder "runter"?
                          Dann kann man zu den Jalousien Alias DP erstellen mit der ID-Struktur von z.B. "alias.0.Jalousien.Wohnzimmer_Links". Eine identische Struktur kann man für die Auswahl unter "0_userdata.0.Jalousien" erstellen.
                          Das Blockly könnte dann so aussehen:

                          Blockly_temp.JPG

                          Da hätte ich ja direkt drauf kommen können 😁
                          Wie bekommt man denn eine Funktion "Um"? Bzw was ist der Unterschied zwischen "Um" und "Nach"?
                          3517fe8b-c040-40e3-bce0-b55db9371747-image.png
                          Bei der Bedienung "Wert von Objekt ID", muss hier nicht noch ein Operator hin, der schaut ob die ID's von den Fenster auch mit gefahren werden sollen oder nicht?
                          Was macht denn die Zeile setze fenster inder Liste (...)?

                          Sorry wegen den ganzen Fragen, aber ich möchte das auch gerne verstehen, dann ist es einfach umzusetzen 🙂

                          paul53 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @kfL last edited by paul53

                            @kfl sagte: was ist der Unterschied zwischen "Um" und "Nach"?

                            Die Version des JS-Adapters.

                            @kfl sagte in Datenpunkte zusammenfassen - Jalousiesteuerung über VIS:

                            "Wert von Objekt ID", muss hier nicht noch ein Operator hin, der schaut ob die ID's von den Fenster auch mit gefahren werden sollen oder nicht?

                            Nein, das ist bei booleschen Werten nicht erforderlich, denn "falls" prüft auf true für "mache".

                            @kfl sagte in Datenpunkte zusammenfassen - Jalousiesteuerung über VIS:

                            Was macht denn die Zeile setze fenster inder Liste (...)?

                            Vorher wird die ID in eine Liste aufgespalten, wobei der Punkt das trennende Element im Text ist. Aus dieser Liste wird nur das letzte Element (z.B. "Wohnzimmer_Links") genommen, um damit die Datenpunkt-ID der Jalousie zu bilden.

                            K 1 Reply Last reply Reply Quote 0
                            • K
                              kfL @paul53 last edited by

                              @paul53

                              @paul53 said in Datenpunkte zusammenfassen - Jalousiesteuerung über VIS:

                              @kfl sagte: was ist der Unterschied zwischen "Um" und "Nach"?

                              Die Version des JS-Adapters.

                              @kfl sagte in Datenpunkte zusammenfassen - Jalousiesteuerung über VIS:

                              "Wert von Objekt ID", muss hier nicht noch ein Operator hin, der schaut ob die ID's von den Fenster auch mit gefahren werden sollen oder nicht?

                              Nein, das ist bei booleschen Werten nicht erforderlich, denn "falls" prüft auf true für "mache".

                              @kfl sagte in Datenpunkte zusammenfassen - Jalousiesteuerung über VIS:

                              Was macht denn die Zeile setze fenster inder Liste (...)?

                              Vorher wird die ID in eine Liste aufgespalten, wobei der Punkt das trennende Element im Text ist. Aus dieser Liste wird nur das letzte Element (z.B. "Wohnzimmer_Links") genommen, um damit die Datenpunkt-ID der Jalousie zu bilden.

                              Super, vielen vielen Dank für die nützlichen Infos 🙂

                              Das Ganze funktioniert auch soweit, allerdings habe ich noch 2 Warnungen im Log, wie eine Frage, wieso zwischen drin immer noch die Meldung kommt:
                              "14:42:49.841 info javascript.0 (148075) script.js.common.Jalousie_Steuerung: alias.0.Jalousie_EG.Hoch"

                              14:42:49.840	info	javascript.0 (148075) script.js.common.Jalousie_Steuerung: alias.0.Jalousie_EG.Esszimmer
                              14:42:49.840	warn	javascript.0 (148075) at Jalousien (script.js.common.Jalousie_Steuerung:11:7)
                              14:42:49.840	warn	javascript.0 (148075) at Object.<anonymous> (script.js.common.Jalousie_Steuerung:21:9)
                              14:42:49.841	info	javascript.0 (148075) script.js.common.Jalousie_Steuerung: alias.0.Jalousie_EG.Hoch
                              14:42:49.841	warn	javascript.0 (148075) at Jalousien (script.js.common.Jalousie_Steuerung:11:7)
                              14:42:49.841	warn	javascript.0 (148075) at Object.<anonymous> (script.js.common.Jalousie_Steuerung:21:9)
                              14:42:49.841	info	javascript.0 (148075) script.js.common.Jalousie_Steuerung: alias.0.Jalousie_EG.Küche
                              
                              var pos, id, fenster;
                              
                              // Beschreibe diese Funktion …
                              async function Jalousien(pos) {
                                var id_list = Array.prototype.slice.apply($("0_userdata.0.Jalousie_EG.*"));
                                for (var id_index in id_list) {
                                  id = id_list[id_index];
                                  if (getState(id).val) {
                                    id = id.split('.');
                                    fenster = id.slice(-1)[0];
                                    setStateDelayed(('alias.0.Jalousie_EG.' + String(fenster)), pos, false, parseInt(((0) || "").toString(), 10), false);
                                    console.log(('alias.0.Jalousie_EG.' + String(fenster)));
                                  }
                                }
                              }
                              
                              
                              on({id: "0_userdata.0.Jalousie_EG.Hoch"/*Hoch*/, val: true}, async function (obj) {
                                let value = obj.state.val;
                                let oldValue = obj.oldState.val;
                                await Jalousien(0);
                              });
                              on({id: "0_userdata.0.Jalousie_EG.Runter"/*Runter*/, val: true}, async function (obj) {
                                let value = obj.state.val;
                                let oldValue = obj.oldState.val;
                                await Jalousien(100);
                              });
                              
                              
                              Codierknecht paul53 2 Replies Last reply Reply Quote 0
                              • Codierknecht
                                Codierknecht Developer Most Active @kfL last edited by

                                @kfl
                                Die Namen von Datenpunkten dürfen keine Sonderzeichen enthalten. Insbesondere keine Umlaute!

                                1 Reply Last reply Reply Quote 1
                                • paul53
                                  paul53 @kfL last edited by paul53

                                  @kfl sagte: immer noch die Meldung kommt:

                                  Der Selektor findet auch den Datenpunkt "0_userdata.0.Jalousie_EG.Hoch" zu dem es natürlich keinen Alias gibt.

                                  EDIT: Man kann sie ausblenden:

                                  Blockly_temp.JPG

                                  K 1 Reply Last reply Reply Quote 1
                                  • K
                                    kfL @paul53 last edited by

                                    @Codierknecht @paul53 Elegante Lösungen, vielen Dank für eure Unterstützung!!

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    764
                                    Online

                                    31.9k
                                    Users

                                    80.2k
                                    Topics

                                    1.3m
                                    Posts

                                    datenpunkt zusammenfassen
                                    3
                                    17
                                    494
                                    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