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
      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

                                919
                                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