Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Visualisierung
  4. Funktionen in Widgets ansprechen

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    439

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    365

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    962

Funktionen in Widgets ansprechen

Geplant Angeheftet Gesperrt Verschoben Visualisierung
20 Beiträge 4 Kommentatoren 1.4k Aufrufe 4 Beobachtet
  • Ä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.
  • T.SpoonerT Offline
    T.SpoonerT Offline
    T.Spooner
    schrieb am zuletzt editiert von
    #1

    Hallo,
    ich möchte in dem Bool.Button vom hqwidgets die Meldung 'Leuchte aktiv/deaktiviert' über einen bestimmten Datenpunkt ansprechen.
    a0d2eb1f-1519-422b-8e1e-1cbd5a50c540-grafik.png
    Da bräuchte ich etwas Unterstützung wie ich das anstelle, kann mir da jemand unter die Arme greifen?

    Gruß T.Spooner

    Haussteuerung mit Beckhoff C6015 (TC3)
    IoBroker auf SynologyNas (DS220+)
    2x Kostal Plenticore 4,2
    1x Kostal Plenticore 10
    BYD 10kW
    2x Daheimladen Wallbox
    1x Hyundai Kona-e
    AIT Sole/Wasser WP SWC 80 H mit Solarthermie und dank diesem Forum PV-Unterstützung

    GlasfaserG OliverIOO 2 Antworten Letzte Antwort
    0
    • T.SpoonerT T.Spooner

      Hallo,
      ich möchte in dem Bool.Button vom hqwidgets die Meldung 'Leuchte aktiv/deaktiviert' über einen bestimmten Datenpunkt ansprechen.
      a0d2eb1f-1519-422b-8e1e-1cbd5a50c540-grafik.png
      Da bräuchte ich etwas Unterstützung wie ich das anstelle, kann mir da jemand unter die Arme greifen?

      Gruß T.Spooner

      GlasfaserG Offline
      GlasfaserG Offline
      Glasfaser
      schrieb am zuletzt editiert von
      #2

      @t-spooner sagte in Funktionen in Widgets ansprechen:

      'Leuchte aktiv/deaktiviert' über einen bestimmten Datenpunkt ansprechen.

      Per Binding .... das Bild zuweisen

      Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

      1 Antwort Letzte Antwort
      0
      • T.SpoonerT T.Spooner

        Hallo,
        ich möchte in dem Bool.Button vom hqwidgets die Meldung 'Leuchte aktiv/deaktiviert' über einen bestimmten Datenpunkt ansprechen.
        a0d2eb1f-1519-422b-8e1e-1cbd5a50c540-grafik.png
        Da bräuchte ich etwas Unterstützung wie ich das anstelle, kann mir da jemand unter die Arme greifen?

        Gruß T.Spooner

        OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von
        #3

        @t-spooner sagte in Funktionen in Widgets ansprechen:

        Hallo,
        ich möchte in dem Bool.Button vom hqwidgets die Meldung 'Leuchte aktiv/deaktiviert' über einen bestimmten Datenpunkt ansprechen.
        a0d2eb1f-1519-422b-8e1e-1cbd5a50c540-grafik.png
        Da bräuchte ich etwas Unterstützung wie ich das anstelle, kann mir da jemand unter die Arme greifen?

        Gruß T.Spooner

        Dein Text bekomme ich mit den Bildmarkierungen nicht zusammen.
        Du schreibst

        die Meldung 'Leuchte aktiv/deaktiviert' über einen bestimmten Datenpunkt ansprechen

        Hast aber die beiden Bildattribute markiert.
        Ansonsten hat Glasfaser recht, per Binding.
        daher trägst du den Datenpunktnamen dort in geschweiften Klammern ein.
        Im Datenpunkt muss dann der pfad zum Bild stehen.

        {javascript.0.Mein_Bild_für_an_Datenpunkt}
        

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        T.SpoonerT 1 Antwort Letzte Antwort
        0
        • OliverIOO OliverIO

          @t-spooner sagte in Funktionen in Widgets ansprechen:

          Hallo,
          ich möchte in dem Bool.Button vom hqwidgets die Meldung 'Leuchte aktiv/deaktiviert' über einen bestimmten Datenpunkt ansprechen.
          a0d2eb1f-1519-422b-8e1e-1cbd5a50c540-grafik.png
          Da bräuchte ich etwas Unterstützung wie ich das anstelle, kann mir da jemand unter die Arme greifen?

          Gruß T.Spooner

          Dein Text bekomme ich mit den Bildmarkierungen nicht zusammen.
          Du schreibst

          die Meldung 'Leuchte aktiv/deaktiviert' über einen bestimmten Datenpunkt ansprechen

          Hast aber die beiden Bildattribute markiert.
          Ansonsten hat Glasfaser recht, per Binding.
          daher trägst du den Datenpunktnamen dort in geschweiften Klammern ein.
          Im Datenpunkt muss dann der pfad zum Bild stehen.

          {javascript.0.Mein_Bild_für_an_Datenpunkt}
          
          T.SpoonerT Offline
          T.SpoonerT Offline
          T.Spooner
          schrieb am zuletzt editiert von
          #4

          @oliverio
          Danke für die Info, kannst Du mir ein Beispiel dazu geben?
          Ich bin da nicht so ganz firm drin :-(

          Haussteuerung mit Beckhoff C6015 (TC3)
          IoBroker auf SynologyNas (DS220+)
          2x Kostal Plenticore 4,2
          1x Kostal Plenticore 10
          BYD 10kW
          2x Daheimladen Wallbox
          1x Hyundai Kona-e
          AIT Sole/Wasser WP SWC 80 H mit Solarthermie und dank diesem Forum PV-Unterstützung

          OliverIOO 1 Antwort Letzte Antwort
          0
          • T.SpoonerT T.Spooner

            @oliverio
            Danke für die Info, kannst Du mir ein Beispiel dazu geben?
            Ich bin da nicht so ganz firm drin :-(

            OliverIOO Offline
            OliverIOO Offline
            OliverIO
            schrieb am zuletzt editiert von OliverIO
            #5

            @t-spooner

            das Beispiel habe ich gegeben.

            Was hast du probiert.
            Was war das Ergebnis.
            Zeige ein Screenshot davon was du eingetragen hast
            Zeige den Inhalt deines Datenpunktes mit dem Namen des Bildes.
            Beantworte die Fragen, die ich gestellt habe, zu deinen nicht exakten Angaben
            in deinem Post, bei der ich dann von einer Annahme ausgegangen bin.

            Wenn du noch nichts gemacht hast, dann beschreibe was du nicht genau verstanden hast.
            Ein wenig Mitarbeit ist schon von Nöten

            Meine Adapter und Widgets
            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
            Links im Profil

            T.SpoonerT 1 Antwort Letzte Antwort
            0
            • OliverIOO OliverIO

              @t-spooner

              das Beispiel habe ich gegeben.

              Was hast du probiert.
              Was war das Ergebnis.
              Zeige ein Screenshot davon was du eingetragen hast
              Zeige den Inhalt deines Datenpunktes mit dem Namen des Bildes.
              Beantworte die Fragen, die ich gestellt habe, zu deinen nicht exakten Angaben
              in deinem Post, bei der ich dann von einer Annahme ausgegangen bin.

              Wenn du noch nichts gemacht hast, dann beschreibe was du nicht genau verstanden hast.
              Ein wenig Mitarbeit ist schon von Nöten

              T.SpoonerT Offline
              T.SpoonerT Offline
              T.Spooner
              schrieb am zuletzt editiert von
              #6

              @oliverio sorry, wenn ich mich umständlich oder nicht so genau ausdrücke, aber für mich ist das hier Neuland.
              Ich will das Bild ändern, wenn sich der Wert einer Variablen ändert.
              Dein Post hilft mir zumindest schon etwas weiter.
              eine Frage ist jetzt:
              wo schreibe ich den Pfad des Bildes rein?
              ins script, in dem die Variable gebildet wird, wenn ja wie (vom Syntax her)?
              oder mache ich eine extra Variable als Konstante in der der Pfad vom Bild steht, die ich wiederum übers Script aufrufe, aber wie schreibe ich wiederum das vom Syntax her?
              wie gesagt, bin da nicht so firm drin, gelobe aber Besserung

              Haussteuerung mit Beckhoff C6015 (TC3)
              IoBroker auf SynologyNas (DS220+)
              2x Kostal Plenticore 4,2
              1x Kostal Plenticore 10
              BYD 10kW
              2x Daheimladen Wallbox
              1x Hyundai Kona-e
              AIT Sole/Wasser WP SWC 80 H mit Solarthermie und dank diesem Forum PV-Unterstützung

              OliverIOO 1 Antwort Letzte Antwort
              0
              • T.SpoonerT T.Spooner

                @oliverio sorry, wenn ich mich umständlich oder nicht so genau ausdrücke, aber für mich ist das hier Neuland.
                Ich will das Bild ändern, wenn sich der Wert einer Variablen ändert.
                Dein Post hilft mir zumindest schon etwas weiter.
                eine Frage ist jetzt:
                wo schreibe ich den Pfad des Bildes rein?
                ins script, in dem die Variable gebildet wird, wenn ja wie (vom Syntax her)?
                oder mache ich eine extra Variable als Konstante in der der Pfad vom Bild steht, die ich wiederum übers Script aufrufe, aber wie schreibe ich wiederum das vom Syntax her?
                wie gesagt, bin da nicht so firm drin, gelobe aber Besserung

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von
                #7

                @t-spooner said in Funktionen in Widgets ansprechen:

                @oliverio sorry, wenn ich mich umständlich oder nicht so genau ausdrücke, aber für mich ist das hier Neuland.
                Ich will das Bild ändern, wenn sich der Wert einer Variablen ändert.
                Dein Post hilft mir zumindest schon etwas weiter.
                eine Frage ist jetzt:
                wo schreibe ich den Pfad des Bildes rein?
                ins script, in dem die Variable gebildet wird, wenn ja wie (vom Syntax her)?
                oder mache ich eine extra Variable als Konstante in der der Pfad vom Bild steht, die ich wiederum übers Script aufrufe, aber wie schreibe ich wiederum das vom Syntax her?
                wie gesagt, bin da nicht so firm drin, gelobe aber Besserung

                ok, du hast 2 Bestandteile.

                1. ein Skript bei dem du anhand einer Logik einen Datenpunkt beschreibst

                2. die Visualisierung, die dann in vis wirksam wird

                3. Leider hast du nicht geschrieben, ob du Blockly verwendest oder javascript.
                  Ich selbst kann dir nur bei Javascript helfen.
                  So eine Logik würde ganz rudimentär wie folgt aussehen:

                in variable dp ist der name des datenpunkts gespeichert.
                wert ist die variable anhand derer die Entscheidung getroffen werden soll, welches Bild
                Im If-Block wird dann wenn wert 0 der eine Bildname gespeichert, wenn es ein anderer Wert ist, dann der andere Bildname.
                Sobald der Name in den Datenpunkt geschrieben wird, wird diese Änderung an vis übertragen und das Bild im widget aktualisiert.

                var wert;
                var dp;
                dp="javascript.0.Mein_Bild_für_an_Datenpunkt";
                wert=0;
                
                if (wert==0) {
                   setState(dp,"img/PfadZuBild1.png"); 
                } else {
                   setState(dp,"img/PfadZuBild2.png"); 
                }
                
                1. dieser Teil ist im vorhergehenden Post schon beschrieben worden

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                T.SpoonerT 1 Antwort Letzte Antwort
                0
                • OliverIOO OliverIO

                  @t-spooner said in Funktionen in Widgets ansprechen:

                  @oliverio sorry, wenn ich mich umständlich oder nicht so genau ausdrücke, aber für mich ist das hier Neuland.
                  Ich will das Bild ändern, wenn sich der Wert einer Variablen ändert.
                  Dein Post hilft mir zumindest schon etwas weiter.
                  eine Frage ist jetzt:
                  wo schreibe ich den Pfad des Bildes rein?
                  ins script, in dem die Variable gebildet wird, wenn ja wie (vom Syntax her)?
                  oder mache ich eine extra Variable als Konstante in der der Pfad vom Bild steht, die ich wiederum übers Script aufrufe, aber wie schreibe ich wiederum das vom Syntax her?
                  wie gesagt, bin da nicht so firm drin, gelobe aber Besserung

                  ok, du hast 2 Bestandteile.

                  1. ein Skript bei dem du anhand einer Logik einen Datenpunkt beschreibst

                  2. die Visualisierung, die dann in vis wirksam wird

                  3. Leider hast du nicht geschrieben, ob du Blockly verwendest oder javascript.
                    Ich selbst kann dir nur bei Javascript helfen.
                    So eine Logik würde ganz rudimentär wie folgt aussehen:

                  in variable dp ist der name des datenpunkts gespeichert.
                  wert ist die variable anhand derer die Entscheidung getroffen werden soll, welches Bild
                  Im If-Block wird dann wenn wert 0 der eine Bildname gespeichert, wenn es ein anderer Wert ist, dann der andere Bildname.
                  Sobald der Name in den Datenpunkt geschrieben wird, wird diese Änderung an vis übertragen und das Bild im widget aktualisiert.

                  var wert;
                  var dp;
                  dp="javascript.0.Mein_Bild_für_an_Datenpunkt";
                  wert=0;
                  
                  if (wert==0) {
                     setState(dp,"img/PfadZuBild1.png"); 
                  } else {
                     setState(dp,"img/PfadZuBild2.png"); 
                  }
                  
                  1. dieser Teil ist im vorhergehenden Post schon beschrieben worden
                  T.SpoonerT Offline
                  T.SpoonerT Offline
                  T.Spooner
                  schrieb am zuletzt editiert von
                  #8

                  @oliverio
                  ich nutze Javascript
                  Danke!! das hilft mir
                  Ich probiere jetzt mal etwas rum

                  Haussteuerung mit Beckhoff C6015 (TC3)
                  IoBroker auf SynologyNas (DS220+)
                  2x Kostal Plenticore 4,2
                  1x Kostal Plenticore 10
                  BYD 10kW
                  2x Daheimladen Wallbox
                  1x Hyundai Kona-e
                  AIT Sole/Wasser WP SWC 80 H mit Solarthermie und dank diesem Forum PV-Unterstützung

                  1 Antwort Letzte Antwort
                  0
                  • T.SpoonerT Offline
                    T.SpoonerT Offline
                    T.Spooner
                    schrieb am zuletzt editiert von
                    #9

                    @oliverio
                    Hi, so habe jetzt mal etwas rum probiert.
                    Leider funktioniert es nicht, ich kann den Datenpunkt manuell umschreiben, dann funktioniert es.
                    ich verstehe ist nicht hier das angeänderte Script:
                    53f0038a-5745-43e6-b78b-468786e54de2-grafik.png
                    Der Datenpunkt '0_userdata.0.idVis' springt zwischen 'true' und 'false'

                    ich bin dann jetzt hingegangen und habe es in Blockly gemacht und zwar so:
                    004f9061-996b-4601-be62-15d8c618e43a-grafik.png
                    das sieht in Javascript so aus:
                    bddf03d1-770a-4f93-8d47-9e47cc78c15c-grafik.png
                    Dann funktioniert es!
                    Jetzt kommt aber das "aber"
                    Der Wert das Datenpunktes '0_userdata.0.idVis' wird aus einem word extrahiert (das zweite Bit).
                    Das erste Bit in diesem word ist der Schalter der das licht an und aus schaltet, sobald ist jetzt die Zeilen zur Bildumschaltung ins Script setze wird das erste Bit in diesem word aus beschrieben, d.h. das Licht wird nochmals geschaltet

                    Haussteuerung mit Beckhoff C6015 (TC3)
                    IoBroker auf SynologyNas (DS220+)
                    2x Kostal Plenticore 4,2
                    1x Kostal Plenticore 10
                    BYD 10kW
                    2x Daheimladen Wallbox
                    1x Hyundai Kona-e
                    AIT Sole/Wasser WP SWC 80 H mit Solarthermie und dank diesem Forum PV-Unterstützung

                    OliverIOO 1 Antwort Letzte Antwort
                    0
                    • T.SpoonerT T.Spooner

                      @oliverio
                      Hi, so habe jetzt mal etwas rum probiert.
                      Leider funktioniert es nicht, ich kann den Datenpunkt manuell umschreiben, dann funktioniert es.
                      ich verstehe ist nicht hier das angeänderte Script:
                      53f0038a-5745-43e6-b78b-468786e54de2-grafik.png
                      Der Datenpunkt '0_userdata.0.idVis' springt zwischen 'true' und 'false'

                      ich bin dann jetzt hingegangen und habe es in Blockly gemacht und zwar so:
                      004f9061-996b-4601-be62-15d8c618e43a-grafik.png
                      das sieht in Javascript so aus:
                      bddf03d1-770a-4f93-8d47-9e47cc78c15c-grafik.png
                      Dann funktioniert es!
                      Jetzt kommt aber das "aber"
                      Der Wert das Datenpunktes '0_userdata.0.idVis' wird aus einem word extrahiert (das zweite Bit).
                      Das erste Bit in diesem word ist der Schalter der das licht an und aus schaltet, sobald ist jetzt die Zeilen zur Bildumschaltung ins Script setze wird das erste Bit in diesem word aus beschrieben, d.h. das Licht wird nochmals geschaltet

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      schrieb am zuletzt editiert von
                      #10

                      @t-spooner sagte in Funktionen in Widgets ansprechen:

                      @oliverio
                      Hi, so habe jetzt mal etwas rum probiert.
                      Leider funktioniert es nicht, ich kann den Datenpunkt manuell umschreiben, dann funktioniert es.
                      ich verstehe ist nicht hier das angeänderte Script:
                      53f0038a-5745-43e6-b78b-468786e54de2-grafik.png
                      Der Datenpunkt '0_userdata.0.idVis' springt zwischen 'true' und 'false'

                      ich bin dann jetzt hingegangen und habe es in Blockly gemacht und zwar so:
                      004f9061-996b-4601-be62-15d8c618e43a-grafik.png
                      das sieht in Javascript so aus:
                      bddf03d1-770a-4f93-8d47-9e47cc78c15c-grafik.png
                      Dann funktioniert es!
                      Jetzt kommt aber das "aber"
                      Der Wert das Datenpunktes '0_userdata.0.idVis' wird aus einem word extrahiert (das zweite Bit).
                      Das erste Bit in diesem word ist der Schalter der das licht an und aus schaltet, sobald ist jetzt die Zeilen zur Bildumschaltung ins Script setze wird das erste Bit in diesem word aus beschrieben, d.h. das Licht wird nochmals geschaltet

                      bei meinem obigen beispiel hat das on gefehlt, ich dachte du kannst die logik dann adaptieren.

                      ok bit operationen in javascript:

                      test ob ein bit gesetzt ist

                      wert & maske
                      wert=dein wert. hier ein beiliebiger wert an dem das 2.bit gesetzt ist
                      maske=entspricht dem bit auf was getestet werden soll, hier das 2 bit

                      var wert=0b00110011;
                      var maske=0b00000010;
                      if ((wert & maske) != 0) {
                       //ist gesetzt
                      } else {
                        //ist nicht gesetzt
                      }
                      

                      setzen eines bits

                      wert  |=  maske;
                      

                      ein bit auf 0 setzen

                      wert  &= ~maske;
                      

                      wechseln eines bits
                      also von 0 auf 1 oder 1 auf 0

                      wert ^= maske;
                      

                      bei blockly kann ich leider nicht weiterhelfen. aber die operationen müsste es da auch geben

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      T.SpoonerT 2 Antworten Letzte Antwort
                      0
                      • OliverIOO OliverIO

                        @t-spooner sagte in Funktionen in Widgets ansprechen:

                        @oliverio
                        Hi, so habe jetzt mal etwas rum probiert.
                        Leider funktioniert es nicht, ich kann den Datenpunkt manuell umschreiben, dann funktioniert es.
                        ich verstehe ist nicht hier das angeänderte Script:
                        53f0038a-5745-43e6-b78b-468786e54de2-grafik.png
                        Der Datenpunkt '0_userdata.0.idVis' springt zwischen 'true' und 'false'

                        ich bin dann jetzt hingegangen und habe es in Blockly gemacht und zwar so:
                        004f9061-996b-4601-be62-15d8c618e43a-grafik.png
                        das sieht in Javascript so aus:
                        bddf03d1-770a-4f93-8d47-9e47cc78c15c-grafik.png
                        Dann funktioniert es!
                        Jetzt kommt aber das "aber"
                        Der Wert das Datenpunktes '0_userdata.0.idVis' wird aus einem word extrahiert (das zweite Bit).
                        Das erste Bit in diesem word ist der Schalter der das licht an und aus schaltet, sobald ist jetzt die Zeilen zur Bildumschaltung ins Script setze wird das erste Bit in diesem word aus beschrieben, d.h. das Licht wird nochmals geschaltet

                        bei meinem obigen beispiel hat das on gefehlt, ich dachte du kannst die logik dann adaptieren.

                        ok bit operationen in javascript:

                        test ob ein bit gesetzt ist

                        wert & maske
                        wert=dein wert. hier ein beiliebiger wert an dem das 2.bit gesetzt ist
                        maske=entspricht dem bit auf was getestet werden soll, hier das 2 bit

                        var wert=0b00110011;
                        var maske=0b00000010;
                        if ((wert & maske) != 0) {
                         //ist gesetzt
                        } else {
                          //ist nicht gesetzt
                        }
                        

                        setzen eines bits

                        wert  |=  maske;
                        

                        ein bit auf 0 setzen

                        wert  &= ~maske;
                        

                        wechseln eines bits
                        also von 0 auf 1 oder 1 auf 0

                        wert ^= maske;
                        

                        bei blockly kann ich leider nicht weiterhelfen. aber die operationen müsste es da auch geben

                        T.SpoonerT Offline
                        T.SpoonerT Offline
                        T.Spooner
                        schrieb am zuletzt editiert von
                        #11

                        @oliverio Danke! ich gucke ;-)
                        im Prinzip ist es mir egal ob Blockly und Javascript. Ich kann beides nicht 🤣
                        ich suchte nur eine Lösung und da kam ich mit blockly einfacher klar

                        Haussteuerung mit Beckhoff C6015 (TC3)
                        IoBroker auf SynologyNas (DS220+)
                        2x Kostal Plenticore 4,2
                        1x Kostal Plenticore 10
                        BYD 10kW
                        2x Daheimladen Wallbox
                        1x Hyundai Kona-e
                        AIT Sole/Wasser WP SWC 80 H mit Solarthermie und dank diesem Forum PV-Unterstützung

                        1 Antwort Letzte Antwort
                        0
                        • OliverIOO OliverIO

                          @t-spooner sagte in Funktionen in Widgets ansprechen:

                          @oliverio
                          Hi, so habe jetzt mal etwas rum probiert.
                          Leider funktioniert es nicht, ich kann den Datenpunkt manuell umschreiben, dann funktioniert es.
                          ich verstehe ist nicht hier das angeänderte Script:
                          53f0038a-5745-43e6-b78b-468786e54de2-grafik.png
                          Der Datenpunkt '0_userdata.0.idVis' springt zwischen 'true' und 'false'

                          ich bin dann jetzt hingegangen und habe es in Blockly gemacht und zwar so:
                          004f9061-996b-4601-be62-15d8c618e43a-grafik.png
                          das sieht in Javascript so aus:
                          bddf03d1-770a-4f93-8d47-9e47cc78c15c-grafik.png
                          Dann funktioniert es!
                          Jetzt kommt aber das "aber"
                          Der Wert das Datenpunktes '0_userdata.0.idVis' wird aus einem word extrahiert (das zweite Bit).
                          Das erste Bit in diesem word ist der Schalter der das licht an und aus schaltet, sobald ist jetzt die Zeilen zur Bildumschaltung ins Script setze wird das erste Bit in diesem word aus beschrieben, d.h. das Licht wird nochmals geschaltet

                          bei meinem obigen beispiel hat das on gefehlt, ich dachte du kannst die logik dann adaptieren.

                          ok bit operationen in javascript:

                          test ob ein bit gesetzt ist

                          wert & maske
                          wert=dein wert. hier ein beiliebiger wert an dem das 2.bit gesetzt ist
                          maske=entspricht dem bit auf was getestet werden soll, hier das 2 bit

                          var wert=0b00110011;
                          var maske=0b00000010;
                          if ((wert & maske) != 0) {
                           //ist gesetzt
                          } else {
                            //ist nicht gesetzt
                          }
                          

                          setzen eines bits

                          wert  |=  maske;
                          

                          ein bit auf 0 setzen

                          wert  &= ~maske;
                          

                          wechseln eines bits
                          also von 0 auf 1 oder 1 auf 0

                          wert ^= maske;
                          

                          bei blockly kann ich leider nicht weiterhelfen. aber die operationen müsste es da auch geben

                          T.SpoonerT Offline
                          T.SpoonerT Offline
                          T.Spooner
                          schrieb am zuletzt editiert von
                          #12

                          @oliverio & @Glasfaser
                          mein Problem ist leider nicht gelöst, das hängt wahrscheinlich von meiner schlechten Beschreibung ab.
                          Ich versuche es deshalb nochmals:
                          Ich steuere unser Haus über eine Industrie-SPS (bin von Haus aus SPS-Programmierer mit wenig IT-Hintergrund).
                          Die SPS handelt Variablen zum IO-Broker (ADS-Beckhoff-Adapter), dieser Adapter kann aber nur 255 Variablen handeln.
                          Da ich aber mehr Variablen brauche, habe ich die Boolschen-Variabelen in der SPS zu einen Word zusammengefasst.
                          Bei Lichtansteuerungen ist es so aufgeschlüsselt:

                          1. bit -> Licht ist busy
                          2. bit -> Licht von IO-Broker aus ausschalten
                            bei Ansteuerung von Rolladen und Heizung sind noch mehr bit's genutzt
                            Mit der Aufschlüsselung dieses Word's in Javascript hat mit @Glasfaser schon sehr geholfen (vielen Dank!!!).
                            Jetzt brauchte ich natürlich noch die Bildumschaltung (es soll ja hübsch sein).
                            Deswegen die Eröffnung dieses Beitrages.
                            @OliverIO hat mir da auch sehr geholfen, auch hier vielen Dank!

                          Ich versuche natürlich der Ursache auf den Grund zu gehen, dabei sind mir 2 Sachen aufgefallen:

                          1. in Javascript scheint es keine Word-Variablen zu geben, sehe ich das richtig? Dadurch kann ich die Aufschlüsselung per Maske direkt aus der Variable wie @OliverIO das vorschlägt nicht machen.
                            35cba884-06d1-4c18-a0d6-894410182331-grafik.png
                          2. wenn ich die Bildumschaltung mache, wird das 2. Bit im Word wieder gesetzt, obwohl die Bildumschaltung über eine andere Variable gemacht wird (ich würde es gern als Video aufzeichnen). Das wirkt sich so aus, wenn ich Licht anschalte, wird das Bild gewechselt, aber nach ca 0,5 Sekunden geht das Licht wieder aus. Hängt das mit der Funktion zusammen? das ist aber nur, wenn ich die Bildumschaltung aktiviere! Ich vermute, dass die Anbindung der Object ID das Problem ist:
                            5d42dfa4-8372-4d4e-b26b-bb2d3a9d40cd-grafik.png 6a4d7e53-c520-4cb9-9e7f-297f9d0ecc46-grafik.png
                            Das immer auf die Änderung des Word's reagiert wird und da sich das erste Bit ändert..., aber warum funktioniert es, wenn die Bildumschaltung ausgeschaltet ist, das 'true' des 1. bit's kommt nämlich aus der SPS

                          Haussteuerung mit Beckhoff C6015 (TC3)
                          IoBroker auf SynologyNas (DS220+)
                          2x Kostal Plenticore 4,2
                          1x Kostal Plenticore 10
                          BYD 10kW
                          2x Daheimladen Wallbox
                          1x Hyundai Kona-e
                          AIT Sole/Wasser WP SWC 80 H mit Solarthermie und dank diesem Forum PV-Unterstützung

                          1 Antwort Letzte Antwort
                          0
                          • Bulli BultmannB Offline
                            Bulli BultmannB Offline
                            Bulli Bultmann
                            schrieb am zuletzt editiert von
                            #13

                            Hallo, wie sehen denn Deine Datenpunkte aus, die aus der Beckhoff kommen?
                            Per Word - ok. Wie sieht das in den Objekten aus ?

                            Das mit der Maske von OliverIO müsste ja eigentlich klappen.

                            Ich bin selber auch so eine SPS ler und habe mit dem S7 Adapter so meine Erfahrungen gemacht.
                            Da steckte der Teufel oftmals im Detail. Aufbereitung der Signale in der SPS usw.

                            Gruß Bulli.

                            T.SpoonerT 1 Antwort Letzte Antwort
                            0
                            • Bulli BultmannB Bulli Bultmann

                              Hallo, wie sehen denn Deine Datenpunkte aus, die aus der Beckhoff kommen?
                              Per Word - ok. Wie sieht das in den Objekten aus ?

                              Das mit der Maske von OliverIO müsste ja eigentlich klappen.

                              Ich bin selber auch so eine SPS ler und habe mit dem S7 Adapter so meine Erfahrungen gemacht.
                              Da steckte der Teufel oftmals im Detail. Aufbereitung der Signale in der SPS usw.

                              Gruß Bulli.

                              T.SpoonerT Offline
                              T.SpoonerT Offline
                              T.Spooner
                              schrieb am zuletzt editiert von
                              #14

                              @bulli-bultmann
                              Hallo, in den Objekten wird es als word angezeigt, allerdings wird der Wert dezimal angezeigt:
                              22db48f7-776a-4fd1-a32e-1d90ca22d5bc-grafik.png
                              Wie gesagt es funktioniert, aber der IO-Broker schaltet selbstständig wieder das 2. bit
                              oder (was ich wahrscheinlicher halte)
                              die Object ID vom Schalter in der Vis reagiert auf alle Bit's, dann stellt sich mir aber die Frage warum sie nicht reagiert, wenn ich den normalen Schalter im Zimmer betätige, das erste Bit wird nämlich nur aus der SPS gesetzt

                              Haussteuerung mit Beckhoff C6015 (TC3)
                              IoBroker auf SynologyNas (DS220+)
                              2x Kostal Plenticore 4,2
                              1x Kostal Plenticore 10
                              BYD 10kW
                              2x Daheimladen Wallbox
                              1x Hyundai Kona-e
                              AIT Sole/Wasser WP SWC 80 H mit Solarthermie und dank diesem Forum PV-Unterstützung

                              OliverIOO 1 Antwort Letzte Antwort
                              0
                              • T.SpoonerT T.Spooner

                                @bulli-bultmann
                                Hallo, in den Objekten wird es als word angezeigt, allerdings wird der Wert dezimal angezeigt:
                                22db48f7-776a-4fd1-a32e-1d90ca22d5bc-grafik.png
                                Wie gesagt es funktioniert, aber der IO-Broker schaltet selbstständig wieder das 2. bit
                                oder (was ich wahrscheinlicher halte)
                                die Object ID vom Schalter in der Vis reagiert auf alle Bit's, dann stellt sich mir aber die Frage warum sie nicht reagiert, wenn ich den normalen Schalter im Zimmer betätige, das erste Bit wird nämlich nur aus der SPS gesetzt

                                OliverIOO Offline
                                OliverIOO Offline
                                OliverIO
                                schrieb am zuletzt editiert von OliverIO
                                #15

                                @t-spooner
                                JavaScript geht mit den variablentypen sehr dynamisch um und konvertiert nach Möglichkeit auch dynamisch. Daher kann man number oder Boolean Variablen auch als String ausgeben ohne vorher groß was zu machen.
                                Einen datentyp Word gibt es nicht, aber dafür gibt es den number typ, auf den die Bit Operationen ja beliebig ausgeführt werden können.
                                Wie du es dann anzeigen lassen möchtest, bleibt dir überlassen (dez,bin,hex,oct)
                                Der Wert 78 lässt sich ja auch binär interpretieren und so wird es von dem sps wahrscheinlich auch gemacht.

                                Ich hab jetzt noch nicht ganz verstanden was du genau willst. Möchtest du jetzt einfach nur anhand eines Bit-Wertes etwas anzeigen? Oder möchtest du auch schalten.

                                Das einfachste für dich wäre, wenn du ein Skript machst, das dir deinen sps datenpunkt in einzelne datenpunkte aufteilt und umgekehrt wenn sich in einem dieser datenpunkte etwas ändert den sps datenpunkt wieder richtig beschreibt.
                                Dann hast du es in vis auch viel einfacher

                                Deine bitbeschreibung habe ich auch noch nicht verstanden, was du mit Licht ist busy meinst. Eigentlich benötigt man doch je Gerät einfach nur ein Bit. Dieses Bit zeigt an, ob ein Gerät an oder aus ist bzw. eine Lampe leuchtet oder nicht.
                                Wenn man dieses Bit dann ändert, also bspw ausschaltet, dann sollte sich das Gerät/die Lampe ausschalten.

                                Meine Adapter und Widgets
                                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                Links im Profil

                                1 Antwort Letzte Antwort
                                0
                                • T.SpoonerT Offline
                                  T.SpoonerT Offline
                                  T.Spooner
                                  schrieb am zuletzt editiert von T.Spooner
                                  #16

                                  @oliverio
                                  Der Wert 78 lässt sich ja auch binär interpretieren und so wird es von dem sps wahrscheinlich auch gemacht.
                                  Nein ist werte die Bit's im word direkt aus. Das sieht für das erste Bit im word zum Beispiel so aus:
                                  c5fa3d48-3382-44fd-8712-aefef22fc464-grafik.png

                                  Ich hab jetzt noch nicht ganz verstanden was du genau willst. Möchtest du jetzt einfach nur anhand eines Bit-Wertes etwas anzeigen? Oder möchtest du auch schalten.

                                  ein Teil der Bit's wird geschrieben, ein Teil der Bit's wird gelesen.
                                  Zum Verständnis:
                                  Das Word vom 'Licht' hat nutzt nur 2 bit's
                                  das 1. bit schaltet das Licht
                                  das 2. bit Zeigt den Status an (Licht an/aus also busy) und wird nur gelesen
                                  in meiner Beschreibung oben hatte ich das 1. und 2. bit verwechselt

                                  Das Word vom Rolladen nutzt 7 bit's
                                  das 1. bit schaltet den Rolladen auf oder ab (1-Taster-Bedienung)
                                  das 2. bit aktiviert das automatische Öffnen
                                  das 3. bit aktiviert das automatische Schliessen
                                  das 4. bit aktiviert das automatische Öffnen bei Frost
                                  das 5. bit aktiviert das automatische Schliessen für Sonnenschutz
                                  das 6. bit zeigt den Status 'Rolladen oben' an
                                  das 7. bit zeigt den Status 'Rolladen unten' an
                                  das 6. und 7. bit könnte ich hier zu einem Bit zusammenfassen, da hast Du recht!

                                  Ich stimme Dir auch zu das word in einzele Datenpunkte auszuschlüsseln und über diese Datenpunkte zu arbeiten wäre wahrscheinlich das einfachste.

                                  Ich bin da ja offen, aber die Erfahrung fehlt mir zumindest in Javascript @Glasfaser hat mir das schon geholfen bei der Bit-Aufschlüsselung und Deine Idee finde ich gut, da versuche ich mich jetzt mal etwas dran

                                  Haussteuerung mit Beckhoff C6015 (TC3)
                                  IoBroker auf SynologyNas (DS220+)
                                  2x Kostal Plenticore 4,2
                                  1x Kostal Plenticore 10
                                  BYD 10kW
                                  2x Daheimladen Wallbox
                                  1x Hyundai Kona-e
                                  AIT Sole/Wasser WP SWC 80 H mit Solarthermie und dank diesem Forum PV-Unterstützung

                                  OliverIOO 1 Antwort Letzte Antwort
                                  0
                                  • T.SpoonerT T.Spooner

                                    @oliverio
                                    Der Wert 78 lässt sich ja auch binär interpretieren und so wird es von dem sps wahrscheinlich auch gemacht.
                                    Nein ist werte die Bit's im word direkt aus. Das sieht für das erste Bit im word zum Beispiel so aus:
                                    c5fa3d48-3382-44fd-8712-aefef22fc464-grafik.png

                                    Ich hab jetzt noch nicht ganz verstanden was du genau willst. Möchtest du jetzt einfach nur anhand eines Bit-Wertes etwas anzeigen? Oder möchtest du auch schalten.

                                    ein Teil der Bit's wird geschrieben, ein Teil der Bit's wird gelesen.
                                    Zum Verständnis:
                                    Das Word vom 'Licht' hat nutzt nur 2 bit's
                                    das 1. bit schaltet das Licht
                                    das 2. bit Zeigt den Status an (Licht an/aus also busy) und wird nur gelesen
                                    in meiner Beschreibung oben hatte ich das 1. und 2. bit verwechselt

                                    Das Word vom Rolladen nutzt 7 bit's
                                    das 1. bit schaltet den Rolladen auf oder ab (1-Taster-Bedienung)
                                    das 2. bit aktiviert das automatische Öffnen
                                    das 3. bit aktiviert das automatische Schliessen
                                    das 4. bit aktiviert das automatische Öffnen bei Frost
                                    das 5. bit aktiviert das automatische Schliessen für Sonnenschutz
                                    das 6. bit zeigt den Status 'Rolladen oben' an
                                    das 7. bit zeigt den Status 'Rolladen unten' an
                                    das 6. und 7. bit könnte ich hier zu einem Bit zusammenfassen, da hast Du recht!

                                    Ich stimme Dir auch zu das word in einzele Datenpunkte auszuschlüsseln und über diese Datenpunkte zu arbeiten wäre wahrscheinlich das einfachste.

                                    Ich bin da ja offen, aber die Erfahrung fehlt mir zumindest in Javascript @Glasfaser hat mir das schon geholfen bei der Bit-Aufschlüsselung und Deine Idee finde ich gut, da versuche ich mich jetzt mal etwas dran

                                    OliverIOO Offline
                                    OliverIOO Offline
                                    OliverIO
                                    schrieb am zuletzt editiert von OliverIO
                                    #17

                                    @t-spooner

                                    Ok anhand des rolladenbeispiels

                                    Du legst 7 datenpunkte an
                                    In eine Skript reagierst du auf die Änderung des sps datenpunkt. (On)

                                    Mit der Check anweisung prüfst du der Reihe nach die Bits und setzt die entsprechenden datenpunkte

                                    Im Anschluss machst du für jeden der Bit datenpunkte die etwas schalten machste du ebenfalls eine on Anweisung um auf diese Änderung und setzt gemäß der Änderung deinen sps datenpunkt so dass die Geräte entsprechend geschaltet werden.

                                    Alle diese Anweisungen können innerhalb eines Skriptes enthalten sein.

                                    Meine Adapter und Widgets
                                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                    Links im Profil

                                    Bulli BultmannB 1 Antwort Letzte Antwort
                                    0
                                    • OliverIOO OliverIO

                                      @t-spooner

                                      Ok anhand des rolladenbeispiels

                                      Du legst 7 datenpunkte an
                                      In eine Skript reagierst du auf die Änderung des sps datenpunkt. (On)

                                      Mit der Check anweisung prüfst du der Reihe nach die Bits und setzt die entsprechenden datenpunkte

                                      Im Anschluss machst du für jeden der Bit datenpunkte die etwas schalten machste du ebenfalls eine on Anweisung um auf diese Änderung und setzt gemäß der Änderung deinen sps datenpunkt so dass die Geräte entsprechend geschaltet werden.

                                      Alle diese Anweisungen können innerhalb eines Skriptes enthalten sein.

                                      Bulli BultmannB Offline
                                      Bulli BultmannB Offline
                                      Bulli Bultmann
                                      schrieb am zuletzt editiert von
                                      #18

                                      @oliverio Hallo zusammen, ja so hatte ich mir das auch vorgestellt. Bei meinen Tests und Programmen habe ich damals in der SPS Bits entsprechend verschoben. Doch mit einem einfachen Word Vergleich ( was ja dem Mask entspricht ) sollte es doch auch gehen. Dan hätte man den Auwand für die Zerlegung der Bits nicht.
                                      In der Doku zum Beckhoff - Adapter habe ich noch folgendes gefunden.

                                      Datenaustausch
                                      
                                          Sobald sich eine Variable in der Steuerung ändert wird dieser Wert selbstständig in den jeweiligen State im ioBroker übertragen.
                                          Wird ein Wert im ioBroker geändert (Wichtig: ACK muss FALSE sein!!) wird dieser selbstständig an die Steuerung übertragen. Wird der Wert von der Steuerung übernommen wird ACK auf TRUE gesetz.
                                      
                                      

                                      Kann das des "Pudels Kern" sein ?

                                      Regnerische Grüße aus Espelkamp.
                                      UB

                                      OliverIOO 1 Antwort Letzte Antwort
                                      0
                                      • Bulli BultmannB Bulli Bultmann

                                        @oliverio Hallo zusammen, ja so hatte ich mir das auch vorgestellt. Bei meinen Tests und Programmen habe ich damals in der SPS Bits entsprechend verschoben. Doch mit einem einfachen Word Vergleich ( was ja dem Mask entspricht ) sollte es doch auch gehen. Dan hätte man den Auwand für die Zerlegung der Bits nicht.
                                        In der Doku zum Beckhoff - Adapter habe ich noch folgendes gefunden.

                                        Datenaustausch
                                        
                                            Sobald sich eine Variable in der Steuerung ändert wird dieser Wert selbstständig in den jeweiligen State im ioBroker übertragen.
                                            Wird ein Wert im ioBroker geändert (Wichtig: ACK muss FALSE sein!!) wird dieser selbstständig an die Steuerung übertragen. Wird der Wert von der Steuerung übernommen wird ACK auf TRUE gesetz.
                                        
                                        

                                        Kann das des "Pudels Kern" sein ?

                                        Regnerische Grüße aus Espelkamp.
                                        UB

                                        OliverIOO Offline
                                        OliverIOO Offline
                                        OliverIO
                                        schrieb am zuletzt editiert von OliverIO
                                        #19

                                        @bulli-bultmann
                                        Die object id von Widgets verweisen direkt auf Datenpunkte
                                        Da lassen sich keine zusätzlichen Operationen dazwischenschalten
                                        Bei den weiteren Attributen eines Widgets wie Bild oder Farbe kann man mit Bindung arbeiten da geht dann wieder eine Operation
                                        Dh zumindest bei den steuernden Bits musst du auf separate datenpunkte aufteilen.

                                        Meine Adapter und Widgets
                                        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                        Links im Profil

                                        T.SpoonerT 1 Antwort Letzte Antwort
                                        0
                                        • OliverIOO OliverIO

                                          @bulli-bultmann
                                          Die object id von Widgets verweisen direkt auf Datenpunkte
                                          Da lassen sich keine zusätzlichen Operationen dazwischenschalten
                                          Bei den weiteren Attributen eines Widgets wie Bild oder Farbe kann man mit Bindung arbeiten da geht dann wieder eine Operation
                                          Dh zumindest bei den steuernden Bits musst du auf separate datenpunkte aufteilen.

                                          T.SpoonerT Offline
                                          T.SpoonerT Offline
                                          T.Spooner
                                          schrieb am zuletzt editiert von
                                          #20

                                          @oliverio
                                          hallo,
                                          ich habe es hinbekommen!!
                                          Es gab dann auch noch das Problem mit der Bestätigung des von dem Taster angesprochenen Datenpunktes. Hier meine Lösung dazu:
                                          b4d1a6ed-717f-49ff-ba69-0bcee9698c41-grafik.png

                                          Danke an alle Beteiligten, habe einiges dabei gelernt.

                                          Haussteuerung mit Beckhoff C6015 (TC3)
                                          IoBroker auf SynologyNas (DS220+)
                                          2x Kostal Plenticore 4,2
                                          1x Kostal Plenticore 10
                                          BYD 10kW
                                          2x Daheimladen Wallbox
                                          1x Hyundai Kona-e
                                          AIT Sole/Wasser WP SWC 80 H mit Solarthermie und dank diesem Forum PV-Unterstützung

                                          1 Antwort Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          551

                                          Online

                                          32.8k

                                          Benutzer

                                          82.8k

                                          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