Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Automatisierung
    5. Grundfragen zu Blockly

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Grundfragen zu Blockly

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

      @docsnyder7

      ich weiß nicht ob du schon mit dem Logik-Teil anfangen solltest.

      Mal etwas grundsätzliches, falls du das nicht schon selbst erkannt hast.
      iobroker ist eine middleware. d.h. für verschiedene Geräte unterschiedlichster Hersteller und bauarten stellt iobroker eine Einheitliche Sicht auf die von den Geräten angebotenen Daten dar, wie auch eine einheitliche Steuerebene.

      Um Geräte eines Herstellers einzubinden benötigt man Adapter. Diese übersetzen die geräteindividuelle Sicht mehr oder weniger in Datenpunkte und hält diese auch aktuell

      Da die Baumstruktur, welche die Adapter erzeugen mehr oder weniger langweilig und nicht besonders ansprechend ist, gibt es die visualisierungen.
      Dort kannst du die Datenpunkte (am Beispiel von vis) über verschiedenste Arten von widgets anzeigen lassen.
      Für die Steuerung der Geräte kann man dies auch über verschiedene widgets machen in die man dann ebenfalls den richtigen Datenpunkt einträgt um bspw durch Knopfdruck etwas ein und auszuschalten oder per Regler etwas hoch und runter regelt. anzeigen lassen kann man sich das im Browser oder über eine der Apps in ios oder android

      Das wäre erst einmal die Basis. Ohne das du deine Geräte einbindest, wirst du nicht soviel machen können. Als am besten mal ein shelly einbinden und den visualisieren oder Steuerelemente in vis bauen.

      Nächste Stufe des Fortschritts wäre dann, wenn die das anzeigen der Werte, welche die Geräte direkt bereitstellen nicht mehr ausreicht, dann kannst du mit den verschiedenen Logikmodulen von iobroker dir eine erweiterte Steuerung bauen, die auch über mehrere Geräte gleichzeitig gehen kann
      Beispiel: du drückst einen Knopf und der Fernseher geht an, das Licht dimmt auf ein dezentes rot, der Rolladen fährt halb runter, die Getränkebar fährt automatisch hoch
      🙂
      Dann benötigst du entweder den Szenario-Adapter oder eines der Logikmodule (Blockly, javascript, node-red), je nachdem wie fein die Steuerung sein soll.
      Darin kannst du dann bspw auch Werte berechnen, die dir die Geräte so gar nicht bereitstellen. Gespeichert werden die berechneten Werte dann auch als (eigene) Datenpunkte.
      Datenpunkte lassen sich auch über die zeit historisieren (History-Adapter) um sie bspw in Diagrammen beliebig aggregieren und anzeigen zu lassen.
      Beispiele gibt es hier im Forum genug.

      1 Reply Last reply Reply Quote 1
      • D
        docsnyder7 @paul53 last edited by

        @paul53 said in Grundfragen zu Blockly:

        Weshalb noch ein "falls"? Der Wert vom Fenster (Trigger-Datenpunkt) wird direkt an den Shelly gesendet.

        Ok verstanden… aber jetzt muss der Shelly ja noch wissen, welche Reaktion er geben soll…

        @OliverIO vielen Dank für Erklärungen. Das Iobroker als quasi Schnittstelle fungiert zwischen verschieden Systemen, Dect, Zigbee etc… das hab ich verstanden. Mit der Vis tue ich mich tatsächlich etwas leichter, hab mir da schon paar Dashboards gebaut, nicht besonders , aber für den Lerneffekt. Aber auch da scheitere ich an so gefühlt simplen Sachen wie dem Bulb… was kommt da wo rein, welcher Datenpunkt… ich lese haufenweise Anleitungen und versuche da Sachen für mich rauszunehmen, aber es scheitert manchmal. Da hatte ich gehofft, dass die Logik hinter den blockly irgendwo einfacher ist. Aber wahrscheinlich muss ich echt eine der Online Kurs belegen….

        OliverIO 1 Reply Last reply Reply Quote 0
        • OliverIO
          OliverIO @docsnyder7 last edited by

          @docsnyder7

          Ok am Beispiel bool Button in Form einer Glühbirne
          Der kann zum einen einfach einen binären Zustand anzeigen (deswegen heißt er auch bool Button)
          An/aus, wahr/falsch, 1/0. Die Werte sind im Abschnitt values konfigurierbar
          Weiterhin kannst du im Abschnitt Common 3 object ids einstellen
          Working = datenpunkt der für die Anzeige ausgewertet wird
          Signal = datenpunkt über den gesteuert wird, wenn man den Button betätigt.
          Dann noch battery, datenpunkt der den Batteriestand anzeigt. Wenn die Batterie leer ist, wird am Button ein weiteres kleines Icon angezeigt, der darauf hinweist, das ist aber nur optional

          Die ganzen Widgets sind allerdings sehr individuell, das sie von unterschiedlichsten Programmierer erstellt wurden. Manchmal gibt es eine Hilfe, die über das kleine i Symbol oben links im Reiter Widgets abgerufen werden kann.

          D 2 Replies Last reply Reply Quote 0
          • D
            docsnyder7 @OliverIO last edited by

            @oliverio wow das hilft schonmal… vielen Dank! Da setzt ich mich nachher mal dran.
            Doch wie sieht’s mit dem blockly aus… alleine aus dem Wert des Objektes weiß der Shelly in meinem Fall doch nicht was er tun soll, oder nimmt er quasi den selbe Zustand an… True bei True, false bei false.

            OliverIO 1 Reply Last reply Reply Quote 0
            • OliverIO
              OliverIO @docsnyder7 last edited by

              @docsnyder7

              Ja genau, meist wird es auch der gleiche datenpunkt sein für Anzeige wie auch für die Steuerung

              1 Reply Last reply Reply Quote 0
              • D
                docsnyder7 @OliverIO last edited by

                @oliverio said in Grundfragen zu Blockly:

                Signal = datenpunkt über den gesteuert wird, wenn man den Button betätigt.

                brauch ich aber nicht, wenn der Button als reiner optischer Hinweis dienen soll, zb das fenster auf ist...
                ansonsten hier der on/off datenpunkt des shelly rein, weil ich den dan mit dem button wieder umschalten könnte?

                DJMarc75 1 Reply Last reply Reply Quote 0
                • DJMarc75
                  DJMarc75 @docsnyder7 last edited by

                  @docsnyder7 sagte in Grundfragen zu Blockly:

                  der on/off datenpunkt des shelly rein

                  der muss natürlich auf jedenfall unter ObjektID rein.
                  Wenn nur zur optischen Überwachung "nur lesend" anklicken, wenn zusätzlich geschaltet werden soll dann natürlich nicht 🙂

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    docsnyder7 @DJMarc75 last edited by docsnyder7

                    @djmarc75 said in Grundfragen zu Blockly:

                    der muss natürlich auf jedenfall unter ObjektID rein.
                    Wenn nur zur optischen Überwachung "nur lesend" anklicken, wenn zusätzlich geschaltet werden soll dann natürlich nicht 🙂

                    ok.. hatte ich so auch verstanden, aber falls der Button auch zum schalten verwendet werden soll... shelly on/off auch unter Signal ID....

                    DJMarc75 1 Reply Last reply Reply Quote 0
                    • DJMarc75
                      DJMarc75 @docsnyder7 last edited by

                      @docsnyder7 sagte in Grundfragen zu Blockly:

                      auch zum schalten verwendet werden soll... shelly on/off auch unter Signal ID....

                      Nein.

                      Wichtiger wäre aber erstmal zu Deiner eigentlichen Grundfrage zu Blockly zurückzukehren und Dich erstmal mit dieser Thematik (Logikmaschinen - gibt es ja nicht nur Blockly) auseinanderzusetzen, zu verstehen und umzusetzen 😉
                      (mein Vorschlag)

                      D 1 Reply Last reply Reply Quote 0
                      • D
                        docsnyder7 @DJMarc75 last edited by

                        @djmarc75 da hast Du Recht! Da ich allerdings auch ein Freund von learning by Doing bin.. werd ich noch mehr Lesen und paar SAchen einfach probieren und versuchen die Ergebnisse entsprechend auszuwerten, zu verstehen und ggf zu korrigieren

                        DJMarc75 1 Reply Last reply Reply Quote 1
                        • DJMarc75
                          DJMarc75 @docsnyder7 last edited by

                          @docsnyder7 sagte in Grundfragen zu Blockly:

                          Da ich allerdings auch ein Freund von learning by Doing bin

                          lobenswert hier !!! 👍

                          D 1 Reply Last reply Reply Quote 0
                          • D
                            docsnyder7 @DJMarc75 last edited by docsnyder7

                            ich packe mal meine eigene Fred aus....

                            hab jetzt einige Blocklys gebaut, teils auch nur um des Verständnisses wegen, teils aber auch aus einem Nutzen heraus.
                            Nun stellt sich aber eine Frage...

                            ich möchte das eine RGB Lampe rot bzw grün leuchtet, wenn beim Verlassen des Hauses ein Softbutton doppelgeklickt wird und alle Fenster zu sind (Grün) oder eben rot, wenn noch eins offen/gekippt ist.```

                            Blockly status.jpg

                            es soll also alle Fenster abgefragt werden und entsprechend die Farbe engezeigt werden...
                            ich tue mich schwer die Werte der Sensoren korrekt abzufragen... wenn ich über Attribute und dann mit Object ID = versuchen passt nur ein Textfeld rein, weder Logit WAHR/Falsch noch Mathe 0/1

                            was besagt denn die Fehlermeldung im Log unten?

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

                              @docsnyder7 sagte: es soll also alle Fenster abgefragt werden

                              Wie viele Fenster sind es?

                              @docsnyder7 sagte in Grundfragen zu Blockly:

                              wenn ich über Attribute

                              Mit "Attribut" separiert man ein Attribut eines Javascript-Objektes.
                              Für die Feststellung "alle geschlossen" müssen die Werte der Fenster-Datenpunkte geprüft werden.

                              Dafür kann man eine Liste mit den Datenpunkt-IDs aller Fenster verwenden, deren Werte in einer Schleife geprüft werden:

                              Blockly_temp.JPG

                              D 2 Replies Last reply Reply Quote 0
                              • D
                                docsnyder7 @paul53 last edited by docsnyder7

                                @paul53
                                18 Fenster sollen abgefragt werden...

                                WOW... auf sowas komme ich im Leben nicht 👍

                                ne tolle Idee... ich drösel mir die auseinander um die Zusammenhänge zu verstehen...

                                D 1 Reply Last reply Reply Quote 0
                                • D
                                  docsnyder7 @docsnyder7 last edited by

                                  so.... ne Frage zu deinem Muster @paul53
                                  Das mit der Schleife ist mir nicht ganz klar.... setze Lampe auf grün und dann prüfe die id´s ?

                                  ich hab das jetzt erstmal so gelöst.... schaut zwar nicht galant aus.. aber es klappt soweit

                                  Blockly status.jpg

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

                                    @docsnyder7 sagte: setze Lampe auf grün und dann prüfe die id´s ?

                                    ... prüfe die Werte der Datenpunkte aus der Liste idsFenster. Bei dem ersten offenen Fenster wird farbe auf rot gesetzt und die Schleife kann abgebrochen werden.
                                    Ist der Datenpunkt "OnOff" vom Typ "Zahl" oder vom Typ "Logikwert"?

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

                                      @paul53
                                      sowohl als auch... die shelly haben 0 und 1, die enocean haben true und false

                                      Super erklärt...die Schleife👍

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

                                        @docsnyder7 sagte: sowohl als auch...

                                        ... und der A60 RGBW?
                                        Du schreibst erst true ("umschalten") und 8 s später eine 0 in den Datenpunkt.

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

                                          @paul53
                                          warum heisst umschalten =true... für mich ist umschalten einfach umschalten auf den anderen Wert... 0 auf 1 oder true auf false.. oder nicht
                                          Die A60 hat 0 und 1

                                          bei den Sensoren hab ich halt shellys und Enocean

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

                                            @docsnyder7 sagte: warum heisst umschalten =true...

                                            Das ist der Javascript-Code von "umschalten":

                                            getState("Object ID", function (err, state) {
                                                setState("Object ID", state ? !state.val : true);
                                            });
                                            

                                            !state.val wandelt eine Zahl (0) in einen Logikwert (true).

                                            @docsnyder7 sagte in Grundfragen zu Blockly:

                                            Die A60 hat 0 und 1

                                            Dann verwende "steuere" und schreibe die Zahl 1.

                                            Blockly_temp.JPG

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            502
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            54
                                            2947
                                            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