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. Zigbee Lichter steuern

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

Zigbee Lichter steuern

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blockly
42 Beiträge 9 Kommentatoren 6.5k Aufrufe 9 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.
  • ChrisPrefectC Offline
    ChrisPrefectC Offline
    ChrisPrefect
    schrieb am zuletzt editiert von
    #1

    Irgendwie stehe ich auf dem Schlauch. Wie steuert man Zigbee-Lichter, wenn man kein Phoscon einsetzt?

    Ich möchte vom Conbee II (unbrauchbar mit vielen Tradfrii-Lichtern) zum TI-Dev-Board wechseln. Das heisst aber, dass ich Phoscon verliere. In Phoscon lege ich Gruppen von Lichtern fest, weise den Gruppen Schalter/Fernsteuerungen zu und belege jeden Button mit einer Funktion. Wie mache ich das ohne Phoscon? Für jeden einzelnen Button jeder einzelnen Fernsteuerung extra Trigger mit Skripten anlegen wäre viel zu aufwendig. Und Funktionalitäten wie "Einschalten und heller machen in 10% Schritten bis 100%" wären ja ziemlich kompliziert in Blockly. Und ich müsste die Skripte für jeden Button duplizieren.

    So sieht z.B. die Belegung einer Fernsteuerung für eine Lichtergruppe aus. Ein/Aus, Helligkeit, Farbtemperatur oder Szenen durchschalten sind da konfiguriert:

    81bc968c-ddc9-4e52-8441-71bb06b390e5-image.png

    Oder muss ich wirklich für jede einzelne Fernsteuerung sowas hier basteln? Da sind aber noch lange nicht alle Funktionen hinterlegt, z.B. Szenen durchschalten ist da nicht möglich und ich weiss nicht, was passiert wenn die Farbtemperatur über 100% geht?

    42b4f4ff-cccb-4fda-ab77-25cbd6247524-image.png

    Ausserdem wäre das extrem unübersichtlich.

    Ich habe ca. 25 Tradfri Remotes. Alle mit 5 Buttons. Und dann ev. noch single und long press. Das wären also 250 (!) Skripte/Trigger? Das wäre absolut un-wartbar.

    Gibt es da einen Trick? Oder einen Adapter der sowas macht wie Phoscon?

    Merci!
    Chris

    J AsgothianA D 3 Antworten Letzte Antwort
    0
    • ChrisPrefectC ChrisPrefect

      Irgendwie stehe ich auf dem Schlauch. Wie steuert man Zigbee-Lichter, wenn man kein Phoscon einsetzt?

      Ich möchte vom Conbee II (unbrauchbar mit vielen Tradfrii-Lichtern) zum TI-Dev-Board wechseln. Das heisst aber, dass ich Phoscon verliere. In Phoscon lege ich Gruppen von Lichtern fest, weise den Gruppen Schalter/Fernsteuerungen zu und belege jeden Button mit einer Funktion. Wie mache ich das ohne Phoscon? Für jeden einzelnen Button jeder einzelnen Fernsteuerung extra Trigger mit Skripten anlegen wäre viel zu aufwendig. Und Funktionalitäten wie "Einschalten und heller machen in 10% Schritten bis 100%" wären ja ziemlich kompliziert in Blockly. Und ich müsste die Skripte für jeden Button duplizieren.

      So sieht z.B. die Belegung einer Fernsteuerung für eine Lichtergruppe aus. Ein/Aus, Helligkeit, Farbtemperatur oder Szenen durchschalten sind da konfiguriert:

      81bc968c-ddc9-4e52-8441-71bb06b390e5-image.png

      Oder muss ich wirklich für jede einzelne Fernsteuerung sowas hier basteln? Da sind aber noch lange nicht alle Funktionen hinterlegt, z.B. Szenen durchschalten ist da nicht möglich und ich weiss nicht, was passiert wenn die Farbtemperatur über 100% geht?

      42b4f4ff-cccb-4fda-ab77-25cbd6247524-image.png

      Ausserdem wäre das extrem unübersichtlich.

      Ich habe ca. 25 Tradfri Remotes. Alle mit 5 Buttons. Und dann ev. noch single und long press. Das wären also 250 (!) Skripte/Trigger? Das wäre absolut un-wartbar.

      Gibt es da einen Trick? Oder einen Adapter der sowas macht wie Phoscon?

      Merci!
      Chris

      J Offline
      J Offline
      jeti
      schrieb am zuletzt editiert von
      #2

      @ChrisPrefect hallo, ich habe das mit dem Adapter smartcontrol gelöst, geht prima!
      Und wenn du noch das TI Board suchst schreib mal ne PM habe eine neues original Verpacktes noch rumliegen.
      Gruß

      ChrisPrefectC 1 Antwort Letzte Antwort
      0
      • ChrisPrefectC ChrisPrefect

        Irgendwie stehe ich auf dem Schlauch. Wie steuert man Zigbee-Lichter, wenn man kein Phoscon einsetzt?

        Ich möchte vom Conbee II (unbrauchbar mit vielen Tradfrii-Lichtern) zum TI-Dev-Board wechseln. Das heisst aber, dass ich Phoscon verliere. In Phoscon lege ich Gruppen von Lichtern fest, weise den Gruppen Schalter/Fernsteuerungen zu und belege jeden Button mit einer Funktion. Wie mache ich das ohne Phoscon? Für jeden einzelnen Button jeder einzelnen Fernsteuerung extra Trigger mit Skripten anlegen wäre viel zu aufwendig. Und Funktionalitäten wie "Einschalten und heller machen in 10% Schritten bis 100%" wären ja ziemlich kompliziert in Blockly. Und ich müsste die Skripte für jeden Button duplizieren.

        So sieht z.B. die Belegung einer Fernsteuerung für eine Lichtergruppe aus. Ein/Aus, Helligkeit, Farbtemperatur oder Szenen durchschalten sind da konfiguriert:

        81bc968c-ddc9-4e52-8441-71bb06b390e5-image.png

        Oder muss ich wirklich für jede einzelne Fernsteuerung sowas hier basteln? Da sind aber noch lange nicht alle Funktionen hinterlegt, z.B. Szenen durchschalten ist da nicht möglich und ich weiss nicht, was passiert wenn die Farbtemperatur über 100% geht?

        42b4f4ff-cccb-4fda-ab77-25cbd6247524-image.png

        Ausserdem wäre das extrem unübersichtlich.

        Ich habe ca. 25 Tradfri Remotes. Alle mit 5 Buttons. Und dann ev. noch single und long press. Das wären also 250 (!) Skripte/Trigger? Das wäre absolut un-wartbar.

        Gibt es da einen Trick? Oder einen Adapter der sowas macht wie Phoscon?

        Merci!
        Chris

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

        @ChrisPrefect sagte in Zigbee Lichter steuern:

        Oder muss ich wirklich für jede einzelne Fernsteuerung sowas hier basteln? Da sind aber noch lange nicht alle Funktionen hinterlegt, z.B. Szenen durchschalten ist da nicht möglich und ich weiss nicht, was passiert wenn die Farbtemperatur über 100% geht?

        Ausserdem wäre das extrem unübersichtlich.
        Ich habe ca. 25 Tradfri Remotes. Alle mit 5 Buttons. Und dann ev. noch single und long press. Das wären also 250 (!) Skripte/Trigger? Das wäre absolut un-wartbar.

        Erst einmal vorweg - Du wirst nicht umhin kommen die Verbindungen zwischen Fernbedienung (Aktion) und Lampe (Reaktion) irgendwo zu definieren. Dafür gibt es verschiedene Wege.

        Der von @Jeti benutzte Adapter kann da funktionieren - ich setze den nicht selber ein. Es mag auch andere Adapter geben die da helfen
        Die von Dir als 'sehr aufwändig' bezeichnete Sammlung von Blockly Skripten würde auch gehen. Allerdings stimme ich Dir zu - das ist eigentlich für Blockly eine Nummer zu gross.
        Als letzte Lösung (das setze ich ein) kann ein einzelnes JS mit geschickt gewählten Datenpunkten die gewünschten Verbindungen realisieren. Dabei habe ich halt ein Objekt mit der Zuweisung der Aktoren zu den Sensoren, und ein Skript was darauf aufbauend die ganzen Trigger setzt.

        Nebenbei - Gruppen kannst Du auch im Zigbee Adapter erzeugen. Alternativ bietet sich ggf. der Szenen Adapter an, wenn Du Gruppen von Geräten schalten willst die mit unterschiedlicher Hardware arbeiten.

        A.

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

        ChrisPrefectC 1 Antwort Letzte Antwort
        0
        • ChrisPrefectC ChrisPrefect

          Irgendwie stehe ich auf dem Schlauch. Wie steuert man Zigbee-Lichter, wenn man kein Phoscon einsetzt?

          Ich möchte vom Conbee II (unbrauchbar mit vielen Tradfrii-Lichtern) zum TI-Dev-Board wechseln. Das heisst aber, dass ich Phoscon verliere. In Phoscon lege ich Gruppen von Lichtern fest, weise den Gruppen Schalter/Fernsteuerungen zu und belege jeden Button mit einer Funktion. Wie mache ich das ohne Phoscon? Für jeden einzelnen Button jeder einzelnen Fernsteuerung extra Trigger mit Skripten anlegen wäre viel zu aufwendig. Und Funktionalitäten wie "Einschalten und heller machen in 10% Schritten bis 100%" wären ja ziemlich kompliziert in Blockly. Und ich müsste die Skripte für jeden Button duplizieren.

          So sieht z.B. die Belegung einer Fernsteuerung für eine Lichtergruppe aus. Ein/Aus, Helligkeit, Farbtemperatur oder Szenen durchschalten sind da konfiguriert:

          81bc968c-ddc9-4e52-8441-71bb06b390e5-image.png

          Oder muss ich wirklich für jede einzelne Fernsteuerung sowas hier basteln? Da sind aber noch lange nicht alle Funktionen hinterlegt, z.B. Szenen durchschalten ist da nicht möglich und ich weiss nicht, was passiert wenn die Farbtemperatur über 100% geht?

          42b4f4ff-cccb-4fda-ab77-25cbd6247524-image.png

          Ausserdem wäre das extrem unübersichtlich.

          Ich habe ca. 25 Tradfri Remotes. Alle mit 5 Buttons. Und dann ev. noch single und long press. Das wären also 250 (!) Skripte/Trigger? Das wäre absolut un-wartbar.

          Gibt es da einen Trick? Oder einen Adapter der sowas macht wie Phoscon?

          Merci!
          Chris

          D Offline
          D Offline
          ditus3
          schrieb am zuletzt editiert von
          #4

          @ChrisPrefect
          Schaue dir doch mal die App Jarvis an - wie ich finde ein tolles Projekt.
          Deine Anforderungen sollten damit recht einfach zu lösen sein.

          Sehr gut beschrieben hier:
          https://www.smarthome-tricks.de/software-iobroker/iobroker-jarvis-teil-21-szenen-steuern/

          Natürlich können auch einzelne Lampen darüber gesteuert werden.

          ChrisPrefectC 1 Antwort Letzte Antwort
          0
          • D ditus3

            @ChrisPrefect
            Schaue dir doch mal die App Jarvis an - wie ich finde ein tolles Projekt.
            Deine Anforderungen sollten damit recht einfach zu lösen sein.

            Sehr gut beschrieben hier:
            https://www.smarthome-tricks.de/software-iobroker/iobroker-jarvis-teil-21-szenen-steuern/

            Natürlich können auch einzelne Lampen darüber gesteuert werden.

            ChrisPrefectC Offline
            ChrisPrefectC Offline
            ChrisPrefect
            schrieb am zuletzt editiert von
            #5

            @ditus3 Hmm, Jarvis ist doch eine Vis? Wie verknüpfe ich da die Buttons an den Wänden mit den Lampen? Ich brauche keine Vis.

            1 Antwort Letzte Antwort
            0
            • J jeti

              @ChrisPrefect hallo, ich habe das mit dem Adapter smartcontrol gelöst, geht prima!
              Und wenn du noch das TI Board suchst schreib mal ne PM habe eine neues original Verpacktes noch rumliegen.
              Gruß

              ChrisPrefectC Offline
              ChrisPrefectC Offline
              ChrisPrefect
              schrieb am zuletzt editiert von
              #6

              @jeti Danke für den Tipp. Der Adapter sieht aber NOCH komplizierter aus als lauter Blockly-Skripte anzulegen. Da müsste ich ja für jeden einzelnen Button über mehrere Formular-Seiten hinweg einzelne Verknüpfungen anlegen. Also schon mal mindestens 125 solcher Einträge. Wenn der Heller-Button der vierten Fernbedienung im Gang nicht funktioniert kann ich schon mal ordentlich rumscrollen um das zu finden :fearful:

              Und ich glaube solche Aktionen wie "Einschalten und heller machen in 10% Schritten bis 100%" gehen da trotzdem nicht? Oder Szenen durchschalten mit den vor und zurück Buttons?

              Hat denn jeder mit Zigbee nur zwei Lichter und zwei Schalter im Einsatz oder warum scheint das bei keinem sonst ein Problem zu sein?

              1 Antwort Letzte Antwort
              0
              • AsgothianA Asgothian

                @ChrisPrefect sagte in Zigbee Lichter steuern:

                Oder muss ich wirklich für jede einzelne Fernsteuerung sowas hier basteln? Da sind aber noch lange nicht alle Funktionen hinterlegt, z.B. Szenen durchschalten ist da nicht möglich und ich weiss nicht, was passiert wenn die Farbtemperatur über 100% geht?

                Ausserdem wäre das extrem unübersichtlich.
                Ich habe ca. 25 Tradfri Remotes. Alle mit 5 Buttons. Und dann ev. noch single und long press. Das wären also 250 (!) Skripte/Trigger? Das wäre absolut un-wartbar.

                Erst einmal vorweg - Du wirst nicht umhin kommen die Verbindungen zwischen Fernbedienung (Aktion) und Lampe (Reaktion) irgendwo zu definieren. Dafür gibt es verschiedene Wege.

                Der von @Jeti benutzte Adapter kann da funktionieren - ich setze den nicht selber ein. Es mag auch andere Adapter geben die da helfen
                Die von Dir als 'sehr aufwändig' bezeichnete Sammlung von Blockly Skripten würde auch gehen. Allerdings stimme ich Dir zu - das ist eigentlich für Blockly eine Nummer zu gross.
                Als letzte Lösung (das setze ich ein) kann ein einzelnes JS mit geschickt gewählten Datenpunkten die gewünschten Verbindungen realisieren. Dabei habe ich halt ein Objekt mit der Zuweisung der Aktoren zu den Sensoren, und ein Skript was darauf aufbauend die ganzen Trigger setzt.

                Nebenbei - Gruppen kannst Du auch im Zigbee Adapter erzeugen. Alternativ bietet sich ggf. der Szenen Adapter an, wenn Du Gruppen von Geräten schalten willst die mit unterschiedlicher Hardware arbeiten.

                A.

                ChrisPrefectC Offline
                ChrisPrefectC Offline
                ChrisPrefect
                schrieb am zuletzt editiert von
                #7

                @Asgothian Das JS-Skript tönt immerhin nach einer Lösung. Wie ist das aufgebaut? Ist das auch mit 80 Lampen und 25 Remotes noch wartbar? :flushed:

                Der Szenen-Adapter hat mich extrem abgeschreckt. Ich habe zum Teil 15 Lampen in einer Gruppe. Im Szenen-Adapter müsste ich 15 Mal das Helligkeits-Attribut hinzufügen, da die Helligkeit einstellen und 15 Mal das Farbtemperatur -Attribut jeder einzelnen Lampe hinzufügen und die gewünschte Farbe setzen. Also schon mal 30 Einträge nur für eine einzelne Szene. Bei 5 Szenen sind das wieder 150 Datenpunkte nur für einen Raum die ich pflegen müsste :grimacing:

                In Phoscon setze ich die Werte einmal für die Gruppe und passe dann noch die abweichenden Lampen kurz im Webinterface an und speichere dann die Szene ab.

                AsgothianA 1 Antwort Letzte Antwort
                0
                • ChrisPrefectC ChrisPrefect

                  @Asgothian Das JS-Skript tönt immerhin nach einer Lösung. Wie ist das aufgebaut? Ist das auch mit 80 Lampen und 25 Remotes noch wartbar? :flushed:

                  Der Szenen-Adapter hat mich extrem abgeschreckt. Ich habe zum Teil 15 Lampen in einer Gruppe. Im Szenen-Adapter müsste ich 15 Mal das Helligkeits-Attribut hinzufügen, da die Helligkeit einstellen und 15 Mal das Farbtemperatur -Attribut jeder einzelnen Lampe hinzufügen und die gewünschte Farbe setzen. Also schon mal 30 Einträge nur für eine einzelne Szene. Bei 5 Szenen sind das wieder 150 Datenpunkte nur für einen Raum die ich pflegen müsste :grimacing:

                  In Phoscon setze ich die Werte einmal für die Gruppe und passe dann noch die abweichenden Lampen kurz im Webinterface an und speichere dann die Szene ab.

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

                  @ChrisPrefect
                  Das Hängt davon ab wie gut du daran bist, Datenpunkte sauber in ein Objekt einzutragen. Letztendlich hast du im Skript-Kopf eine lange Liste der betroffenen Datenpunkten, sowie eine 2. Liste mit den Verbindungen zwischen Datenpunkten von Lampen, Gruppen und Fernbedienungen.

                  Eine Benutzeroberfläche gibt es nicht.

                  A.

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

                  ChrisPrefectC 1 Antwort Letzte Antwort
                  0
                  • AsgothianA Asgothian

                    @ChrisPrefect
                    Das Hängt davon ab wie gut du daran bist, Datenpunkte sauber in ein Objekt einzutragen. Letztendlich hast du im Skript-Kopf eine lange Liste der betroffenen Datenpunkten, sowie eine 2. Liste mit den Verbindungen zwischen Datenpunkten von Lampen, Gruppen und Fernbedienungen.

                    Eine Benutzeroberfläche gibt es nicht.

                    A.

                    ChrisPrefectC Offline
                    ChrisPrefectC Offline
                    ChrisPrefect
                    schrieb am zuletzt editiert von
                    #9

                    @Asgothian OK. Und wie regelst du Dinge wie Szenen durchschalten und Helligkeiten erhöhen und erniedrigen?

                    Hast du ein Skript für alle Räume oder eines pro Raum?

                    Merci!

                    AsgothianA 1 Antwort Letzte Antwort
                    0
                    • ChrisPrefectC ChrisPrefect

                      @Asgothian OK. Und wie regelst du Dinge wie Szenen durchschalten und Helligkeiten erhöhen und erniedrigen?

                      Hast du ein Skript für alle Räume oder eines pro Raum?

                      Merci!

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

                      @ChrisPrefect

                      • Szenen nutze ich nicht
                      • Ich habe ein Skript fuer alles.

                      A.

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

                      ChrisPrefectC 1 Antwort Letzte Antwort
                      0
                      • AsgothianA Asgothian

                        @ChrisPrefect

                        • Szenen nutze ich nicht
                        • Ich habe ein Skript fuer alles.

                        A.

                        ChrisPrefectC Offline
                        ChrisPrefectC Offline
                        ChrisPrefect
                        schrieb am zuletzt editiert von
                        #11

                        @Asgothian Wäre es möglich so ein Skript zu sehen? Danke!

                        AsgothianA 2 Antworten Letzte Antwort
                        0
                        • ChrisPrefectC ChrisPrefect

                          @Asgothian Wäre es möglich so ein Skript zu sehen? Danke!

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

                          @ChrisPrefect ich poste heute Abend mal ein Beispiel.
                          A.

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

                          1 Antwort Letzte Antwort
                          -1
                          • ChrisPrefectC ChrisPrefect

                            @Asgothian Wäre es möglich so ein Skript zu sehen? Danke!

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

                            @ChrisPrefect

                            Anbei so ein Skript - allerdings eingekürzt auf einen aktiven Schalter

                            Im Array "events" findet die Verknüpfung zwischen den Lampen und den Schaltern statt. Aktuell definiert und in Benutzung sind nur on, off und toggle. Die Schalter die ich habe eignen sich nicht für ein Dimmen, da sie beim länger halten nur einen "long press" event auslösen und die Haltezeit nicht verfügbar ist (und auch kein "release" event)

                            Alle Meldungen die ich zu Debug zwecken brauche habe ich absichtlich als "warn" herausgegeben. mit der Constante "debug" können die unterdrückt werden.

                            const debug = 1;
                            
                            let Lampen = {
                                LR_Group: { id: 'zigbee.0.group_1', on: 'state' , level:'brightness'},
                                Bedside: { id: 'zigbee.0.0017880103124dc3', on: 'state' , level:'brightness', ct:'colortemp'},
                                BR_Ceiling: { id: 'zigbee.0.000b57fffeda3ba9', on: 'state' , level:'brightness', ct:''},
                                LR_Glas: { id: 'deconz.0.lights.84182600000ec06a', on: 'on'},
                            };
                            
                            let Schalter = {
                                Bedside: 'zigbee.0.00158d0002b42aef',
                                Ikea_LR: 'zigbee.0.000d6ffffe1dd7c0',
                                LR_BR: 'zigbee.0.00158d00030406c2',
                                LR_HW: 'zigbee.0.00158d0003057b0c',
                                HW_Bath: 'zigbee.0.00158d0002b49c85',
                                Ikea_KU: 'zigbee.0.d0cf5efffe016123',
                                Ikea_HR: 'zigbee.0.d0cf5efffec6d1ed'
                            }
                            
                            let events = [
                                {schalter: 'Bedside', event: 'right_click', light: ['Bedside'], action:'toggle'},
                                {schalter: 'Bedside', event: 'left_click', light: ['BR_Ceiling'], action:'toggle'},
                                {schalter: 'Bedside', event: 'both_click', light: ['Bedside', 'BR_Ceiling'], action:'toggle'},
                                {schalter: 'Bedside', event: 'right_click_double', light: ['Bedside'], action:'on'},
                                {schalter: 'Bedside', event: 'left_click_double', light: ['BR_Ceiling'], action:'on'},
                                {schalter: 'Bedside', event: 'both_click_double', light: ['Bedside', 'BR_Ceiling'], action:'on'},
                                {schalter: 'Bedside', event: 'right_click_long', light: ['Bedside'], action:'off'},
                                {schalter: 'Bedside', event: 'left_click_long', light: ['BR_Ceiling'], action:'off'},
                                {schalter: 'Bedside', event: 'both_click_long', light: ['Bedside', 'BR_Ceiling'], action:'off'},
                            ];
                            
                            
                            function warn(msg)
                            {
                                if (debug) console.warn(msg);
                            }
                            
                            function itemFromObject(obj, control)
                            {
                                const Lamp = Lampen[obj];
                                warn("ifo Lamp " + JSON.stringify(Lamp))
                                if (Lamp == undefined) return undefined;
                                if (Lamp[control] == undefined) return undefined;
                                return Lamp.id + '.' + Lamp[control];
                            }
                            
                            function setOnOff(lights, onOff) {
                                warn("setOnOff " + JSON.stringify(lights) + " " + JSON.stringify(onOff));
                                let dp = ''; 
                                lights.forEach(item => {
                                    dp = itemFromObject(item, 'on');
                                    if (dp != undefined) 
                                        setState(dp, onOff)
                                });
                            }
                            
                            function toggle(lights) { 
                                let dp = ''; 
                                warn("Toggle " + JSON.stringify(lights));
                                lights.forEach(item => {
                                    dp = itemFromObject(item, 'on');
                                    warn("Toggle " + JSON.stringify(dp));
                                    if (dp != undefined) 
                                        setState(dp, !getState(dp).val);
                                });
                            };
                            
                            function dim(lights, offset) { 
                                let dp = ''; 
                                lights.forEach(item => {
                                    dp = itemFromObject(item, 'level');
                                    if (dp != undefined) 
                                        getState(dp, function(err, obj) { setState(dp, Math.max(Math.min(obj.val + offset, 100), 0)) });
                                });
                            };
                            
                            events.forEach(item => {
                                let triggerdp = Schalter[item.schalter]+'.'+item.event;
                                const Lights = item.light;
                                if (item.action == 'toggle') {
                                    on ({ id:triggerdp , change: 'gt'}, function(obj) { warn("toggle triggered"); toggle(Lights)});
                                } 
                                else if (item.action == 'on') {
                                    on ({id:triggerdp, change: 'gt'}, function(obj) { warn("toggle triggered"); setOnOff(Lights, true)});
                                }
                                else if (item.action == 'off') {
                                    on ({id:triggerdp, change: 'gt'}, function(obj) { warn("toggle triggered"); setOnOff(Lights, false)});
                                }
                            });
                            

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

                            ChrisPrefectC 1 Antwort Letzte Antwort
                            0
                            • AsgothianA Asgothian

                              @ChrisPrefect

                              Anbei so ein Skript - allerdings eingekürzt auf einen aktiven Schalter

                              Im Array "events" findet die Verknüpfung zwischen den Lampen und den Schaltern statt. Aktuell definiert und in Benutzung sind nur on, off und toggle. Die Schalter die ich habe eignen sich nicht für ein Dimmen, da sie beim länger halten nur einen "long press" event auslösen und die Haltezeit nicht verfügbar ist (und auch kein "release" event)

                              Alle Meldungen die ich zu Debug zwecken brauche habe ich absichtlich als "warn" herausgegeben. mit der Constante "debug" können die unterdrückt werden.

                              const debug = 1;
                              
                              let Lampen = {
                                  LR_Group: { id: 'zigbee.0.group_1', on: 'state' , level:'brightness'},
                                  Bedside: { id: 'zigbee.0.0017880103124dc3', on: 'state' , level:'brightness', ct:'colortemp'},
                                  BR_Ceiling: { id: 'zigbee.0.000b57fffeda3ba9', on: 'state' , level:'brightness', ct:''},
                                  LR_Glas: { id: 'deconz.0.lights.84182600000ec06a', on: 'on'},
                              };
                              
                              let Schalter = {
                                  Bedside: 'zigbee.0.00158d0002b42aef',
                                  Ikea_LR: 'zigbee.0.000d6ffffe1dd7c0',
                                  LR_BR: 'zigbee.0.00158d00030406c2',
                                  LR_HW: 'zigbee.0.00158d0003057b0c',
                                  HW_Bath: 'zigbee.0.00158d0002b49c85',
                                  Ikea_KU: 'zigbee.0.d0cf5efffe016123',
                                  Ikea_HR: 'zigbee.0.d0cf5efffec6d1ed'
                              }
                              
                              let events = [
                                  {schalter: 'Bedside', event: 'right_click', light: ['Bedside'], action:'toggle'},
                                  {schalter: 'Bedside', event: 'left_click', light: ['BR_Ceiling'], action:'toggle'},
                                  {schalter: 'Bedside', event: 'both_click', light: ['Bedside', 'BR_Ceiling'], action:'toggle'},
                                  {schalter: 'Bedside', event: 'right_click_double', light: ['Bedside'], action:'on'},
                                  {schalter: 'Bedside', event: 'left_click_double', light: ['BR_Ceiling'], action:'on'},
                                  {schalter: 'Bedside', event: 'both_click_double', light: ['Bedside', 'BR_Ceiling'], action:'on'},
                                  {schalter: 'Bedside', event: 'right_click_long', light: ['Bedside'], action:'off'},
                                  {schalter: 'Bedside', event: 'left_click_long', light: ['BR_Ceiling'], action:'off'},
                                  {schalter: 'Bedside', event: 'both_click_long', light: ['Bedside', 'BR_Ceiling'], action:'off'},
                              ];
                              
                              
                              function warn(msg)
                              {
                                  if (debug) console.warn(msg);
                              }
                              
                              function itemFromObject(obj, control)
                              {
                                  const Lamp = Lampen[obj];
                                  warn("ifo Lamp " + JSON.stringify(Lamp))
                                  if (Lamp == undefined) return undefined;
                                  if (Lamp[control] == undefined) return undefined;
                                  return Lamp.id + '.' + Lamp[control];
                              }
                              
                              function setOnOff(lights, onOff) {
                                  warn("setOnOff " + JSON.stringify(lights) + " " + JSON.stringify(onOff));
                                  let dp = ''; 
                                  lights.forEach(item => {
                                      dp = itemFromObject(item, 'on');
                                      if (dp != undefined) 
                                          setState(dp, onOff)
                                  });
                              }
                              
                              function toggle(lights) { 
                                  let dp = ''; 
                                  warn("Toggle " + JSON.stringify(lights));
                                  lights.forEach(item => {
                                      dp = itemFromObject(item, 'on');
                                      warn("Toggle " + JSON.stringify(dp));
                                      if (dp != undefined) 
                                          setState(dp, !getState(dp).val);
                                  });
                              };
                              
                              function dim(lights, offset) { 
                                  let dp = ''; 
                                  lights.forEach(item => {
                                      dp = itemFromObject(item, 'level');
                                      if (dp != undefined) 
                                          getState(dp, function(err, obj) { setState(dp, Math.max(Math.min(obj.val + offset, 100), 0)) });
                                  });
                              };
                              
                              events.forEach(item => {
                                  let triggerdp = Schalter[item.schalter]+'.'+item.event;
                                  const Lights = item.light;
                                  if (item.action == 'toggle') {
                                      on ({ id:triggerdp , change: 'gt'}, function(obj) { warn("toggle triggered"); toggle(Lights)});
                                  } 
                                  else if (item.action == 'on') {
                                      on ({id:triggerdp, change: 'gt'}, function(obj) { warn("toggle triggered"); setOnOff(Lights, true)});
                                  }
                                  else if (item.action == 'off') {
                                      on ({id:triggerdp, change: 'gt'}, function(obj) { warn("toggle triggered"); setOnOff(Lights, false)});
                                  }
                              });
                              
                              ChrisPrefectC Offline
                              ChrisPrefectC Offline
                              ChrisPrefect
                              schrieb am zuletzt editiert von
                              #14

                              @Asgothian Herzlichen Dank! :blush:

                              Das Skript ist sauber und macht Sinn. Ich sehe aber, dass da dringend irgendwas von ioBroker oder einer Extension bereitgestellt werden müsste. Das Problem haben ja eigentlich alle, die Zigbee Lampen und Schalter einsetzen.

                              Versucht das denn sonst jeder mit Blockly-Skripten hinzubasteln? Und dann sind Dinge wie Temperatursteuerung oder Szenen ja noch nicht gelöst.

                              Ist nicht geplant, sowas wie Phoscon für ioBroker bereitzustellen? Das fehlt doch extrem dringend, nicht?

                              AsgothianA 1 Antwort Letzte Antwort
                              0
                              • ChrisPrefectC ChrisPrefect

                                @Asgothian Herzlichen Dank! :blush:

                                Das Skript ist sauber und macht Sinn. Ich sehe aber, dass da dringend irgendwas von ioBroker oder einer Extension bereitgestellt werden müsste. Das Problem haben ja eigentlich alle, die Zigbee Lampen und Schalter einsetzen.

                                Versucht das denn sonst jeder mit Blockly-Skripten hinzubasteln? Und dann sind Dinge wie Temperatursteuerung oder Szenen ja noch nicht gelöst.

                                Ist nicht geplant, sowas wie Phoscon für ioBroker bereitzustellen? Das fehlt doch extrem dringend, nicht?

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

                                @ChrisPrefect Den gibt es doch. Genau dafür ist der Adapter Smartcontrol gemacht.

                                Eine grafische Aufarbeitung wie bei deConz macht auf Grund der Vielfalt der möglichen Endgeräte einfach keinen Sinn.

                                In deinem Fall würdest Du bei dem Adapter primär Target-Devices, Trigger und ggf. Zonen benutzen. Hast Du dir diesen Adapter angeschaut ?

                                Ich dachte du wolltest eine andere Lösung.

                                A.

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

                                ChrisPrefectC 1 Antwort Letzte Antwort
                                0
                                • AsgothianA Asgothian

                                  @ChrisPrefect Den gibt es doch. Genau dafür ist der Adapter Smartcontrol gemacht.

                                  Eine grafische Aufarbeitung wie bei deConz macht auf Grund der Vielfalt der möglichen Endgeräte einfach keinen Sinn.

                                  In deinem Fall würdest Du bei dem Adapter primär Target-Devices, Trigger und ggf. Zonen benutzen. Hast Du dir diesen Adapter angeschaut ?

                                  Ich dachte du wolltest eine andere Lösung.

                                  A.

                                  ChrisPrefectC Offline
                                  ChrisPrefectC Offline
                                  ChrisPrefect
                                  schrieb am zuletzt editiert von
                                  #16

                                  @Asgothian Ja, ich hatte den Adapter auf der Github-Seite und dem Manual dazu angeschaut. Das Interface sieht sehr umständlich aus und ich müsste wieder 250 einzelne Einträge machen um die Grundfunktionalität abdecken zu können. Auch da noch ohne Szenen oder Farbtemperatursteuerung.

                                  Aber ich werde ihn mal installieren und testweise eine Tradfri-Remote belegen, mal sehen wie weit ich da komme.

                                  AsgothianA 1 Antwort Letzte Antwort
                                  0
                                  • ChrisPrefectC ChrisPrefect

                                    @Asgothian Ja, ich hatte den Adapter auf der Github-Seite und dem Manual dazu angeschaut. Das Interface sieht sehr umständlich aus und ich müsste wieder 250 einzelne Einträge machen um die Grundfunktionalität abdecken zu können. Auch da noch ohne Szenen oder Farbtemperatursteuerung.

                                    Aber ich werde ihn mal installieren und testweise eine Tradfri-Remote belegen, mal sehen wie weit ich da komme.

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

                                    @ChrisPrefect Mal ganz im ernst.. auch bei Deconz hast du diese gefühlten 250 Einstellungen machen müssen.

                                    Du musst halt jedem Schalter einen Autor zuweisen. Das nimmt dir keiner Ab. Die Logik ist in allen Fällen die gleiche:

                                    • Gruppen und Szenen definieren
                                    • Zu schaltende Geräte definieren
                                    • den Schaltern die Gruppen / Geräte hinzufügen.

                                    A.

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

                                    ChrisPrefectC 1 Antwort Letzte Antwort
                                    0
                                    • AsgothianA Asgothian

                                      @ChrisPrefect Mal ganz im ernst.. auch bei Deconz hast du diese gefühlten 250 Einstellungen machen müssen.

                                      Du musst halt jedem Schalter einen Autor zuweisen. Das nimmt dir keiner Ab. Die Logik ist in allen Fällen die gleiche:

                                      • Gruppen und Szenen definieren
                                      • Zu schaltende Geräte definieren
                                      • den Schaltern die Gruppen / Geräte hinzufügen.

                                      A.

                                      ChrisPrefectC Offline
                                      ChrisPrefectC Offline
                                      ChrisPrefect
                                      schrieb am zuletzt editiert von
                                      #18

                                      @Asgothian In Deconz geht das Belegen eines Schalters mit einer Funktion mit zwei Klicks. Die Schalter sind bereits einzelnen Gruppen zugewiesen und werden direkt als Vorauswahl mit vordefinierten Funktionen belegt. Ich muss also nie 125 Buttons zu 20 Gruppen zuordnen, sondern immer nur maximal 5 Buttons zu einer Gruppe.

                                      Ich habe den Adapter installiert. Ich sehe aber, dass ich da keine Farbtemperaturen wechseln kann, keine Helligkeiten hoch oder runter setzen kann und keine Szenen durchschalten kann.

                                      Auch muss ich sozusagen alle einzelnen Buttons jeder Fernbedienung (125 Buttons insgesamt) erst definieren mit jeweils dem Namen, Datenpunk und ein- und ausgeschaltetem Wert und die dann auf einer andere Formularseite für jeden dieser Buttons das zu schaltende Gerät angeben.

                                      Ich hätte also in diesem viel zu kleinen Dropdown-Menü 125 Einträge. Da finde ich nichts mehr nach dem ich die ersten 50 Buttons erfasst habe:

                                      e7af5341-c1ab-4ada-93e9-efc44c6056fe-image.png

                                      Oder verstehe ich das alles noch immer komplett falsch?

                                      ChrisPrefectC 1 Antwort Letzte Antwort
                                      0
                                      • ChrisPrefectC ChrisPrefect

                                        @Asgothian In Deconz geht das Belegen eines Schalters mit einer Funktion mit zwei Klicks. Die Schalter sind bereits einzelnen Gruppen zugewiesen und werden direkt als Vorauswahl mit vordefinierten Funktionen belegt. Ich muss also nie 125 Buttons zu 20 Gruppen zuordnen, sondern immer nur maximal 5 Buttons zu einer Gruppe.

                                        Ich habe den Adapter installiert. Ich sehe aber, dass ich da keine Farbtemperaturen wechseln kann, keine Helligkeiten hoch oder runter setzen kann und keine Szenen durchschalten kann.

                                        Auch muss ich sozusagen alle einzelnen Buttons jeder Fernbedienung (125 Buttons insgesamt) erst definieren mit jeweils dem Namen, Datenpunk und ein- und ausgeschaltetem Wert und die dann auf einer andere Formularseite für jeden dieser Buttons das zu schaltende Gerät angeben.

                                        Ich hätte also in diesem viel zu kleinen Dropdown-Menü 125 Einträge. Da finde ich nichts mehr nach dem ich die ersten 50 Buttons erfasst habe:

                                        e7af5341-c1ab-4ada-93e9-efc44c6056fe-image.png

                                        Oder verstehe ich das alles noch immer komplett falsch?

                                        ChrisPrefectC Offline
                                        ChrisPrefectC Offline
                                        ChrisPrefect
                                        schrieb am zuletzt editiert von ChrisPrefect
                                        #19

                                        @ChrisPrefect So sieht das in Phoscon aus:

                                        b82284aa-2558-40c9-80c0-65423c7bc214-image.png

                                        AsgothianA 1 Antwort Letzte Antwort
                                        0
                                        • siggi85S Offline
                                          siggi85S Offline
                                          siggi85
                                          schrieb am zuletzt editiert von
                                          #20

                                          Ich denke, ein Unterschied zwischen Phoscon und ioBroker ist, dass ioBroker noch nicht wirklich mit "Devices" arbeitet, sondern mit einzelnen Datenpunkten. D.h. in Phoscon verknüpfst du eine Lampe mit einem Schalter, und kannst dann intuitiv einstellen, was mit dieser Lampe passieren soll. In ioBroker setzt du einfach für das Auslösen eines Datenpunktes, einen anderen Datenpunkt. ioBroker muss hierbei nicht wissen, um was für ein Gerät es sich handelt oder was es bewirkt diesen Wert um 10% zu erhöhen, er tut es einfach.
                                          Dafür kann ioBroker halt wesentlich mehr abdecken und ist auch wesentlich flexibler.

                                          ChrisPrefectC 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

                                          330

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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