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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly Script -> ein Script für mehrere Trigger

NEWS

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

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

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

Blockly Script -> ein Script für mehrere Trigger

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
24 Beiträge 5 Kommentatoren 1.8k Aufrufe 4 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.
  • David G.D David G.

    @cheffe

    Oder einfach dort wo du im.

    @codierknecht sagte in Blockly Script -> ein Script für mehrere Trigger:

    @cheffe
    Das Zauberwort lautet "Funktionen".

    Das Prinzip:
    12e4e918-a3d3-4509-a467-63ebc6efce2e-image.png

    Das Problem liegt doch eher darin, dass Trigger und zu steuernder DP unterschiedlich sind wie ich es sehe?

    CodierknechtC Offline
    CodierknechtC Offline
    Codierknecht
    Developer Most Active
    schrieb am zuletzt editiert von
    #4

    @david-g
    Es ging mir ums Prinzip.

    Welche Parameter jetzt sinnvoll sind und wo man die herbekommt, steht auf einem anderen Blatt.

    Wo kommen A, B, C her? Sind das eigene DP in 0_userdata? Dann könnte man den Ziel-DP in die Description dieses DP schreiben und mit an die Funktion übergeben.

    Oder man arbeitet mit einem bestimmten Namensschema, bei dem man Teile des Namens einfach ersetzt um damit das Ziel zu bestimmen.
    Viele Wege führen nach Rom ...

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
    HmIP|ZigBee|Tasmota|Unifi
    Zabbix Certified Specialist
    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

    David G.D 1 Antwort Letzte Antwort
    0
    • CodierknechtC Codierknecht

      @david-g
      Es ging mir ums Prinzip.

      Welche Parameter jetzt sinnvoll sind und wo man die herbekommt, steht auf einem anderen Blatt.

      Wo kommen A, B, C her? Sind das eigene DP in 0_userdata? Dann könnte man den Ziel-DP in die Description dieses DP schreiben und mit an die Funktion übergeben.

      Oder man arbeitet mit einem bestimmten Namensschema, bei dem man Teile des Namens einfach ersetzt um damit das Ziel zu bestimmen.
      Viele Wege führen nach Rom ...

      David G.D Online
      David G.D Online
      David G.
      schrieb am zuletzt editiert von
      #5

      @codierknecht

      Ich würde vermutlich, jenachdem wie viele Lampen es sind die Funktion nehmen und diese dann je Lampe in einen eigenen trigger packen.

      In der Funktion kann man ja dann schnell alles leicht übergeben.

      Sind ja vermutlich keine 500 Lampen.

      Zeigt eure Lovelace-Visualisierung klick
      (Auch ideal um sich Anregungen zu holen)

      Meine Tabellen für eure Visualisierung klick

      C 1 Antwort Letzte Antwort
      0
      • David G.D David G.

        @codierknecht

        Ich würde vermutlich, jenachdem wie viele Lampen es sind die Funktion nehmen und diese dann je Lampe in einen eigenen trigger packen.

        In der Funktion kann man ja dann schnell alles leicht übergeben.

        Sind ja vermutlich keine 500 Lampen.

        C Offline
        C Offline
        cheffe
        schrieb am zuletzt editiert von
        #6

        hallo und vielen Dank schonmal für die schnellen Antworten.
        Ich versuche nochmal etwas ausführlicher darzustellen.
        Ich habe hier bisher nur 3 Lampen. Vielleicht werden es aber noch mehr.
        Pro Lampe habe ich einen DAtenpunkt unter 0_userdata erstellt, die den Status 1-45 haben kann (für jede Farbe einen Code).
        Wenn dieser geändert wird (durch eine Nutzeränderung), dann soll ein Script anhand der Zahl entsprechend die Datenpunkte unter der AVM-Instanz ändern um die Farbe zu ändern.
        Das funktioniert auch soweit. Mein Screenshot oben ist nur ein Auszug, bei dem 2 von den 45 Änderungen zu sehen sind.
        Dieses Script kann ich natürlich jetzt kopieren und für die zweite und dritte Lampe auch die zu steuernden Einträge immer auswählen. Ist mir aber zu umständlich und für den heutigen Stand auch nicht zeitgemäß. Da muss es etwas besseres geben.

        Also möchte ich, dass mein Script zunächst auf eine Änderung von allen drei Datenpunkten unter 0_userdata reagiert.
        Wenn es eine Änderung feststellt, dann sollte ebenfalls problemlos feststellbar sein, welcher dieser (aktuell noch nur) 3 Datenpunkte geändert wurde.
        Anhand dessen soll dann geändert werden, welche zu steuernden Datenpunkte unter den AVM-Objekten geändert werden soll.
        Ich bekomme es halt nur noch nicht hin, wie ich das zu steuernde Objekt-ID "variabel" gestalten kann. Ob nun
        -fritzdect.0.DECT_130770174577-1.temperature
        oder
        -fritzdect.0.DECT_13077017*****-1.temperature
        (mit temperatur wird die Helligkeit der Lampe gesteuert)

        paul53P 1 Antwort Letzte Antwort
        0
        • C cheffe

          hallo und vielen Dank schonmal für die schnellen Antworten.
          Ich versuche nochmal etwas ausführlicher darzustellen.
          Ich habe hier bisher nur 3 Lampen. Vielleicht werden es aber noch mehr.
          Pro Lampe habe ich einen DAtenpunkt unter 0_userdata erstellt, die den Status 1-45 haben kann (für jede Farbe einen Code).
          Wenn dieser geändert wird (durch eine Nutzeränderung), dann soll ein Script anhand der Zahl entsprechend die Datenpunkte unter der AVM-Instanz ändern um die Farbe zu ändern.
          Das funktioniert auch soweit. Mein Screenshot oben ist nur ein Auszug, bei dem 2 von den 45 Änderungen zu sehen sind.
          Dieses Script kann ich natürlich jetzt kopieren und für die zweite und dritte Lampe auch die zu steuernden Einträge immer auswählen. Ist mir aber zu umständlich und für den heutigen Stand auch nicht zeitgemäß. Da muss es etwas besseres geben.

          Also möchte ich, dass mein Script zunächst auf eine Änderung von allen drei Datenpunkten unter 0_userdata reagiert.
          Wenn es eine Änderung feststellt, dann sollte ebenfalls problemlos feststellbar sein, welcher dieser (aktuell noch nur) 3 Datenpunkte geändert wurde.
          Anhand dessen soll dann geändert werden, welche zu steuernden Datenpunkte unter den AVM-Objekten geändert werden soll.
          Ich bekomme es halt nur noch nicht hin, wie ich das zu steuernde Objekt-ID "variabel" gestalten kann. Ob nun
          -fritzdect.0.DECT_130770174577-1.temperature
          oder
          -fritzdect.0.DECT_13077017*****-1.temperature
          (mit temperatur wird die Helligkeit der Lampe gesteuert)

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #7

          @cheffe sagte: Pro Lampe habe ich einen DAtenpunkt unter 0_userdata erstellt

          Verwende zwei korrespondierende ID-Listen und eine Liste mit den Farbtemperaturen (sind es wirklich 45?):

          Blockly_temp.JPG

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          C 1 Antwort Letzte Antwort
          2
          • paul53P paul53

            @cheffe sagte: Pro Lampe habe ich einen DAtenpunkt unter 0_userdata erstellt

            Verwende zwei korrespondierende ID-Listen und eine Liste mit den Farbtemperaturen (sind es wirklich 45?):

            Blockly_temp.JPG

            C Offline
            C Offline
            cheffe
            schrieb am zuletzt editiert von
            #8

            @paul53

            hallo, vielen Dank für deinen Vorschlag.
            Ich finde die IDee gar nicht schlecht und würde gerne versuchen, sie anzupassen.
            Leider müssen wir das noch etwas anpassen.
            Es sind wirklich 45 Farben, und es wird noch etwas schwerer, denn es sind nich nur immer die Werte im gleichen Datenpunkt. Es sind bis zu 3 verschiedene Datenpunkte zu steuern, was es leider noch etwas schwieriger macht. Ich vermute, dass wir dann mit dem Datenpunkt "Temps" alleine so nicht arbeiten können.

            Ich versuche mal hier das bisherige Script einzustellen:

            man müsste also wohl leider noch prüfen ob der eingegebene Wert kleiner oder größer als 9 ist (unter 9 ist es weiß mit unterschiedliher helligkeit, danach sind es farben...)
            Screenshot 2024-01-25 092923.png
            und davon müsste ich abhängig machen, welcher Datenpunkt geändert werden muss...

            so sieht es bisher bei mir aus
            Screenshot 2024-01-25 092442.png

            also sinngemäß:
            -wenn der neue Wert des geänderten DAtenpunktes < 10, dann ändere die Temperatur, sonst ändere Hue und Saturation der entsprechenden Lampe.
            und dann müsste die lange "wenn-Dann" Liste mit den Farbcodes aus meinem script da vermutlich einmal reinkopiert werden

            könnt ihr mir da noch tipps geben, mit welchen BLocks ich arbeiten könnte?

            AsgothianA paul53P 2 Antworten Letzte Antwort
            0
            • C cheffe

              @paul53

              hallo, vielen Dank für deinen Vorschlag.
              Ich finde die IDee gar nicht schlecht und würde gerne versuchen, sie anzupassen.
              Leider müssen wir das noch etwas anpassen.
              Es sind wirklich 45 Farben, und es wird noch etwas schwerer, denn es sind nich nur immer die Werte im gleichen Datenpunkt. Es sind bis zu 3 verschiedene Datenpunkte zu steuern, was es leider noch etwas schwieriger macht. Ich vermute, dass wir dann mit dem Datenpunkt "Temps" alleine so nicht arbeiten können.

              Ich versuche mal hier das bisherige Script einzustellen:

              man müsste also wohl leider noch prüfen ob der eingegebene Wert kleiner oder größer als 9 ist (unter 9 ist es weiß mit unterschiedliher helligkeit, danach sind es farben...)
              Screenshot 2024-01-25 092923.png
              und davon müsste ich abhängig machen, welcher Datenpunkt geändert werden muss...

              so sieht es bisher bei mir aus
              Screenshot 2024-01-25 092442.png

              also sinngemäß:
              -wenn der neue Wert des geänderten DAtenpunktes < 10, dann ändere die Temperatur, sonst ändere Hue und Saturation der entsprechenden Lampe.
              und dann müsste die lange "wenn-Dann" Liste mit den Farbcodes aus meinem script da vermutlich einmal reinkopiert werden

              könnt ihr mir da noch tipps geben, mit welchen BLocks ich arbeiten könnte?

              AsgothianA Offline
              AsgothianA Offline
              Asgothian
              Developer
              schrieb am zuletzt editiert von
              #9

              @cheffe sagte in Blockly Script -> ein Script für mehrere Trigger:

              -wenn der neue Wert des geänderten DAtenpunktes < 10, dann ändere die Temperatur, sonst ändere Hue und Saturation der entsprechenden Lampe.
              und dann müsste die lange "wenn-Dann" Liste mit den Farbcodes aus meinem script da vermutlich einmal reinkopiert werden
              könnt ihr mir da noch tipps geben, mit welchen BLocks ich arbeiten könnte?

              ich empfehle folgendes:
              Eine Liste mit den "basis" Datenpunkten für temp, hue, sat - sprich wenn die Lampe unter 0_userdata.0.raum.lampe.hue, 0_userdata.0.raum.lampe.sat, 0_userdata.0.raum.lampe.temp ihre DP's hat, dann steht in der Liste "0_userdata.0.raum" drin
              An stelle der einfachen Liste "temps" eine Liste von Listen, in denen jeweils in der Reihenfolge Temp, hue, sat drin stehen. Dabei ist zu beachten: Wenn einer der Werte angesteuert werden soll, so steht da ein positiver wert. Soll er nicht angesteuert werden steht da -1. Zum befüllen der Liste kannst du den Baustein "Liste aus Text" nehmen, um da z.Bsp. "-1,0,100" oder "5600,-1,-1" rein zu schreiben.

              Dann gibts Du diese Liste an die Funktion, und baust dir die ID entsprechend zusammen:
              BasisID + ".temp" oder ".sat" oder ".hue", und setzt den State nur dann wenn der Wert der gesetzt werden soll > -1 ist.

              A.

              ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
              "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

              C 1 Antwort Letzte Antwort
              0
              • AsgothianA Asgothian

                @cheffe sagte in Blockly Script -> ein Script für mehrere Trigger:

                -wenn der neue Wert des geänderten DAtenpunktes < 10, dann ändere die Temperatur, sonst ändere Hue und Saturation der entsprechenden Lampe.
                und dann müsste die lange "wenn-Dann" Liste mit den Farbcodes aus meinem script da vermutlich einmal reinkopiert werden
                könnt ihr mir da noch tipps geben, mit welchen BLocks ich arbeiten könnte?

                ich empfehle folgendes:
                Eine Liste mit den "basis" Datenpunkten für temp, hue, sat - sprich wenn die Lampe unter 0_userdata.0.raum.lampe.hue, 0_userdata.0.raum.lampe.sat, 0_userdata.0.raum.lampe.temp ihre DP's hat, dann steht in der Liste "0_userdata.0.raum" drin
                An stelle der einfachen Liste "temps" eine Liste von Listen, in denen jeweils in der Reihenfolge Temp, hue, sat drin stehen. Dabei ist zu beachten: Wenn einer der Werte angesteuert werden soll, so steht da ein positiver wert. Soll er nicht angesteuert werden steht da -1. Zum befüllen der Liste kannst du den Baustein "Liste aus Text" nehmen, um da z.Bsp. "-1,0,100" oder "5600,-1,-1" rein zu schreiben.

                Dann gibts Du diese Liste an die Funktion, und baust dir die ID entsprechend zusammen:
                BasisID + ".temp" oder ".sat" oder ".hue", und setzt den State nur dann wenn der Wert der gesetzt werden soll > -1 ist.

                A.

                C Offline
                C Offline
                cheffe
                schrieb am zuletzt editiert von
                #10

                @asgothian
                danke
                leider verstehe ich es nicht ganz..
                könntest du dir vorstellen deine idee in auszügen (!) als blockly script für mich darstellen?

                Danke =)

                C 1 Antwort Letzte Antwort
                0
                • C cheffe

                  @asgothian
                  danke
                  leider verstehe ich es nicht ganz..
                  könntest du dir vorstellen deine idee in auszügen (!) als blockly script für mich darstellen?

                  Danke =)

                  C Offline
                  C Offline
                  cheffe
                  schrieb am zuletzt editiert von cheffe
                  #11

                  hab mit den beiden liste mal angefangen... ich hoffe du meintest das so...

                  Screenshot 2024-01-25 102214.png

                  nur für den letzten Teil ieß ich nicht, wie ich das anstellen soll.. und was genau du damit meinst...
                  Dann gibts Du diese Liste an die Funktion, und baust dir die ID entsprechend zusammen:
                  BasisID + ".temp" oder ".sat" oder ".hue", und setzt den State nur dann wenn der Wert der gesetzt werden soll > -1 ist

                  soll ich das im oben angefangenen Script einbauen? oder schlägst du da was ganz neues vor?

                  AsgothianA 1 Antwort Letzte Antwort
                  0
                  • C cheffe

                    hab mit den beiden liste mal angefangen... ich hoffe du meintest das so...

                    Screenshot 2024-01-25 102214.png

                    nur für den letzten Teil ieß ich nicht, wie ich das anstellen soll.. und was genau du damit meinst...
                    Dann gibts Du diese Liste an die Funktion, und baust dir die ID entsprechend zusammen:
                    BasisID + ".temp" oder ".sat" oder ".hue", und setzt den State nur dann wenn der Wert der gesetzt werden soll > -1 ist

                    soll ich das im oben angefangenen Script einbauen? oder schlägst du da was ganz neues vor?

                    AsgothianA Offline
                    AsgothianA Offline
                    Asgothian
                    Developer
                    schrieb am zuletzt editiert von Asgothian
                    #12

                    @cheffe als blockly bauen kann ich es nicht - kein blockly wenn ich unterwegs bin :)

                    Aber das was du gemacht hast ist erst einmal korrekt.

                    Wenn du die obere Liste in eine Variable "AlleBasisIDs" speicherst, und die die untere Liste in eine Variable "AlleFarben" speicherst, dann:

                    Jetzt definierst du dir noch eine Variable "Zielwerte", und an stelle des

                    Screenshot 2024-01-25 at 10.27.39.png

                    kommt erst einmal eine Zuweisung auf diese Variable mit "in der Liste 'AlleFarben' nimm das 'idx'. element."
                    und eine Zuweisung auf eine neue Variable "BasisID" mit "in der Liste 'AlleBasisIDs' nimm das 'idx'. element."

                    Dann kommen 3 Schreibe Blöcke (der aus dem Screenshot), wobei sich die Einträge für ObjektID und Wert ändern, jeweils hinter einem "falls"

                    falls (in der Liste Zielwerte nimm das 1. Element > -1) - darin den Schreibe Block it ObjektID als "Erzeuge Text aus 'BasisID'" und '".Temp", und als Wert "in der Liste 'Zielwerte' nimm das 1. Element"

                    falls (in der Liste Zielwerte nimm das 2. Element > -1) - darin den Schreibe Block it ObjektID als "Erzeuge Text aus 'BasisID'" und '".hue, und als Wert "in der Liste 'Zielwerte' nimm das 2. Element"

                    falls (in der Liste Zielwerte nimm das 3. Element > -1) - darin den Schreibe Block it ObjektID als "Erzeuge Text aus 'BasisID'" und '".sat", und als Wert "in der Liste 'Zielwerte' nimm das 3. Element"

                    Ich hoffe das hilft erst einmal

                    ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                    "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                    C 1 Antwort Letzte Antwort
                    0
                    • AsgothianA Asgothian

                      @cheffe als blockly bauen kann ich es nicht - kein blockly wenn ich unterwegs bin :)

                      Aber das was du gemacht hast ist erst einmal korrekt.

                      Wenn du die obere Liste in eine Variable "AlleBasisIDs" speicherst, und die die untere Liste in eine Variable "AlleFarben" speicherst, dann:

                      Jetzt definierst du dir noch eine Variable "Zielwerte", und an stelle des

                      Screenshot 2024-01-25 at 10.27.39.png

                      kommt erst einmal eine Zuweisung auf diese Variable mit "in der Liste 'AlleFarben' nimm das 'idx'. element."
                      und eine Zuweisung auf eine neue Variable "BasisID" mit "in der Liste 'AlleBasisIDs' nimm das 'idx'. element."

                      Dann kommen 3 Schreibe Blöcke (der aus dem Screenshot), wobei sich die Einträge für ObjektID und Wert ändern, jeweils hinter einem "falls"

                      falls (in der Liste Zielwerte nimm das 1. Element > -1) - darin den Schreibe Block it ObjektID als "Erzeuge Text aus 'BasisID'" und '".Temp", und als Wert "in der Liste 'Zielwerte' nimm das 1. Element"

                      falls (in der Liste Zielwerte nimm das 2. Element > -1) - darin den Schreibe Block it ObjektID als "Erzeuge Text aus 'BasisID'" und '".hue, und als Wert "in der Liste 'Zielwerte' nimm das 2. Element"

                      falls (in der Liste Zielwerte nimm das 3. Element > -1) - darin den Schreibe Block it ObjektID als "Erzeuge Text aus 'BasisID'" und '".sat", und als Wert "in der Liste 'Zielwerte' nimm das 3. Element"

                      Ich hoffe das hilft erst einmal

                      C Offline
                      C Offline
                      cheffe
                      schrieb am zuletzt editiert von
                      #13

                      @asgothian

                      hui... das fand ich jetzt nicht ganz einfach...
                      zunächst hatte ich noch die frage: "idx" ist auch eine selbst angelegte Variable, oder? Die habe ich bei mir anders genannt.

                      Mein Script sieht jetzt so aus... meintest du das so?

                      Screenshot 2024-01-25 112818.png

                      AsgothianA 1 Antwort Letzte Antwort
                      0
                      • C cheffe

                        @asgothian

                        hui... das fand ich jetzt nicht ganz einfach...
                        zunächst hatte ich noch die frage: "idx" ist auch eine selbst angelegte Variable, oder? Die habe ich bei mir anders genannt.

                        Mein Script sieht jetzt so aus... meintest du das so?

                        Screenshot 2024-01-25 112818.png

                        AsgothianA Offline
                        AsgothianA Offline
                        Asgothian
                        Developer
                        schrieb am zuletzt editiert von
                        #14

                        @cheffe
                        Exakt.

                        Wichtig ist jetzt noch: der Datenpunkt für die Farbtemperatur muss jetzt z.Bsp. auch
                        fritzdect.0.DECT_130770174577-1.temp sein. Ansonsten müsstest du das .temp so anpassen das es zum Datenpunkt passt. Dito mit saturation und Hue

                        A.

                        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                        C 1 Antwort Letzte Antwort
                        0
                        • AsgothianA Asgothian

                          @cheffe
                          Exakt.

                          Wichtig ist jetzt noch: der Datenpunkt für die Farbtemperatur muss jetzt z.Bsp. auch
                          fritzdect.0.DECT_130770174577-1.temp sein. Ansonsten müsstest du das .temp so anpassen das es zum Datenpunkt passt. Dito mit saturation und Hue

                          A.

                          C Offline
                          C Offline
                          cheffe
                          schrieb am zuletzt editiert von
                          #15

                          @asgothian
                          ja, das hab ich schon gemerkt und in ".temperature" und ".saturation" angepasst.
                          Ich bekomme auch minimal Änderungen an der Farbe hin, es scheint also im Grunde zu funktionieren.
                          Aktuell bekomme ich aber über mein Script nur eine Änderung hin, danach ändert sich nix mehr...
                          muss ich das Script irgendwie nach Änderung "anhalten" , "beenden" oder neustarten?

                          AsgothianA 1 Antwort Letzte Antwort
                          0
                          • C cheffe

                            @asgothian
                            ja, das hab ich schon gemerkt und in ".temperature" und ".saturation" angepasst.
                            Ich bekomme auch minimal Änderungen an der Farbe hin, es scheint also im Grunde zu funktionieren.
                            Aktuell bekomme ich aber über mein Script nur eine Änderung hin, danach ändert sich nix mehr...
                            muss ich das Script irgendwie nach Änderung "anhalten" , "beenden" oder neustarten?

                            AsgothianA Offline
                            AsgothianA Offline
                            Asgothian
                            Developer
                            schrieb am zuletzt editiert von
                            #16

                            @cheffe Nein, aber ich denke du hast ein Problem mit dem "aktiven Schalter".

                            Da du da die ID des Schalters rein schreibst ändert die sich nicht wenn du mit dem gleichen Schalter spielst.

                            Lösung dazu: im Trigger den aktiven Schalter Datenpunkt auf "" setzen, und vor dem Ermitteln des Index schauen ob der "" ist - dann tust du nix.

                            A.

                            ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                            "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                            C 1 Antwort Letzte Antwort
                            0
                            • AsgothianA Asgothian

                              @cheffe Nein, aber ich denke du hast ein Problem mit dem "aktiven Schalter".

                              Da du da die ID des Schalters rein schreibst ändert die sich nicht wenn du mit dem gleichen Schalter spielst.

                              Lösung dazu: im Trigger den aktiven Schalter Datenpunkt auf "" setzen, und vor dem Ermitteln des Index schauen ob der "" ist - dann tust du nix.

                              A.

                              C Offline
                              C Offline
                              cheffe
                              schrieb am zuletzt editiert von
                              #17

                              @asgothian
                              ich denke so meintest du?
                              Screenshot 2024-01-25 124624.png

                              was genau meinst du mit "Ermitteln des Index ...."?

                              AsgothianA 1 Antwort Letzte Antwort
                              0
                              • C cheffe

                                @asgothian
                                ich denke so meintest du?
                                Screenshot 2024-01-25 124624.png

                                was genau meinst du mit "Ermitteln des Index ...."?

                                AsgothianA Offline
                                AsgothianA Offline
                                Asgothian
                                Developer
                                schrieb am zuletzt editiert von
                                #18

                                @cheffe sagte in Blockly Script -> ein Script für mehrere Trigger:

                                @asgothian
                                ich denke so meintest du?
                                Screenshot 2024-01-25 124624.png

                                was genau meinst du mit "Ermitteln des Index ...."?

                                Nein - sorry, das was ich vorhin geschrieben hab war Unsinn.
                                Du hast ja eine Liste an Schaltern von denen sich ein beliebiger ändert. Dementsprechend sollte das auch ohne
                                Screenshot 2024-01-25 at 13.12.08.png
                                mehrfach funktionieren. Da hab ich auf dem Weg raus nicht richtig gelesen.

                                Genau bin ich noch nicht sicher warum es nicht geht. Bau doch mal einen Debug-Baustein in den Trigger und lass mitloggen wann der Anspricht und welche ObjektID den Trigger auslöst.

                                A.

                                ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                                "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                                C 1 Antwort Letzte Antwort
                                0
                                • AsgothianA Asgothian

                                  @cheffe sagte in Blockly Script -> ein Script für mehrere Trigger:

                                  @asgothian
                                  ich denke so meintest du?
                                  Screenshot 2024-01-25 124624.png

                                  was genau meinst du mit "Ermitteln des Index ...."?

                                  Nein - sorry, das was ich vorhin geschrieben hab war Unsinn.
                                  Du hast ja eine Liste an Schaltern von denen sich ein beliebiger ändert. Dementsprechend sollte das auch ohne
                                  Screenshot 2024-01-25 at 13.12.08.png
                                  mehrfach funktionieren. Da hab ich auf dem Weg raus nicht richtig gelesen.

                                  Genau bin ich noch nicht sicher warum es nicht geht. Bau doch mal einen Debug-Baustein in den Trigger und lass mitloggen wann der Anspricht und welche ObjektID den Trigger auslöst.

                                  A.

                                  C Offline
                                  C Offline
                                  cheffe
                                  schrieb am zuletzt editiert von
                                  #19

                                  @asgothian

                                  wie muss ich den einbauen? was muss ich da einrichten?

                                  AsgothianA 1 Antwort Letzte Antwort
                                  0
                                  • C cheffe

                                    @asgothian

                                    wie muss ich den einbauen? was muss ich da einrichten?

                                    AsgothianA Offline
                                    AsgothianA Offline
                                    Asgothian
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #20

                                    @cheffe es gibt unter System einen Baustein "debug output" oder so. Den einsetzen, die Nachricht über text-zusammensetzen zusammen basteln und an den Block hängen. Wichtig. diesen Baustein da mit einbauen:
                                    Screenshot 2024-01-25 at 13.40.17.png

                                    ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                                    "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                                    C 1 Antwort Letzte Antwort
                                    0
                                    • AsgothianA Asgothian

                                      @cheffe es gibt unter System einen Baustein "debug output" oder so. Den einsetzen, die Nachricht über text-zusammensetzen zusammen basteln und an den Block hängen. Wichtig. diesen Baustein da mit einbauen:
                                      Screenshot 2024-01-25 at 13.40.17.png

                                      C Offline
                                      C Offline
                                      cheffe
                                      schrieb am zuletzt editiert von cheffe
                                      #21

                                      @asgothian
                                      sorry... mit dem debug ding bin ich völlig überfordert... das müsste ich vielleicht nochmal später ausführlicher erklärt bekommen oder mich belesen...

                                      ich habe gerade das gefühl, dass immer der erste Farbeintrag (also Wert "1" warmweiß) eingestellt wird.
                                      Es scheint also noch einen Fehler zu geben, dass der Code (Zahl zwischen 1-45 aus dem Dropdown-Menü) nicht richtig verarbeitet wird...
                                      also ich glaube in der Verarbeitung von "nummer-aenderung"

                                      könntest du das nochmal gerade prüfen?

                                      Screenshot 2024-01-25 135604.png


                                      muss nicht bei der Festlegung von "Zielwertfarbe" irgendwie auf den Value (also Wert 1-45) des zuletzt veränderten Objektes zurückgegriffen werden? da kann doch der Bezug zur "nummer-aenderung (1-3, je nachdem welcher schalter bedient wurde) nicht passen..
                                      oder ???

                                      1 Antwort Letzte Antwort
                                      0
                                      • C cheffe

                                        @paul53

                                        hallo, vielen Dank für deinen Vorschlag.
                                        Ich finde die IDee gar nicht schlecht und würde gerne versuchen, sie anzupassen.
                                        Leider müssen wir das noch etwas anpassen.
                                        Es sind wirklich 45 Farben, und es wird noch etwas schwerer, denn es sind nich nur immer die Werte im gleichen Datenpunkt. Es sind bis zu 3 verschiedene Datenpunkte zu steuern, was es leider noch etwas schwieriger macht. Ich vermute, dass wir dann mit dem Datenpunkt "Temps" alleine so nicht arbeiten können.

                                        Ich versuche mal hier das bisherige Script einzustellen:

                                        man müsste also wohl leider noch prüfen ob der eingegebene Wert kleiner oder größer als 9 ist (unter 9 ist es weiß mit unterschiedliher helligkeit, danach sind es farben...)
                                        Screenshot 2024-01-25 092923.png
                                        und davon müsste ich abhängig machen, welcher Datenpunkt geändert werden muss...

                                        so sieht es bisher bei mir aus
                                        Screenshot 2024-01-25 092442.png

                                        also sinngemäß:
                                        -wenn der neue Wert des geänderten DAtenpunktes < 10, dann ändere die Temperatur, sonst ändere Hue und Saturation der entsprechenden Lampe.
                                        und dann müsste die lange "wenn-Dann" Liste mit den Farbcodes aus meinem script da vermutlich einmal reinkopiert werden

                                        könnt ihr mir da noch tipps geben, mit welchen BLocks ich arbeiten könnte?

                                        paul53P Offline
                                        paul53P Offline
                                        paul53
                                        schrieb am zuletzt editiert von paul53
                                        #22

                                        @cheffe sagte: so sieht es bisher bei mir aus

                                        Ich würde für "hue" und "sat" eine Liste mit 2 Elementen nehmen, etwa so:

                                        Blockly_temp.JPG

                                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                        C 1 Antwort Letzte Antwort
                                        0
                                        • paul53P paul53

                                          @cheffe sagte: so sieht es bisher bei mir aus

                                          Ich würde für "hue" und "sat" eine Liste mit 2 Elementen nehmen, etwa so:

                                          Blockly_temp.JPG

                                          C Offline
                                          C Offline
                                          cheffe
                                          schrieb am zuletzt editiert von
                                          #23

                                          @paul53
                                          sieht ähnlich aus, aber doch mit gewissen abweichungen...
                                          könntest du mir das gerade mal exportieren, damit ich nicht alles nachbauen muss? dann versuche ich hier anzupassen...

                                          paul53P 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

                                          817

                                          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