2 Schalter und eine Lampe :D

  • Puh nachdem ich heute auf OH3 aktualisiert habe - seh ich den Wald vor lauter Bäumen nicht mehr ...

    Ich habe eine Deckenlampe (shelly) und einen Schalter (Xiaomi) + den Normalen Wandschalter (nicht Funk sondern Wired an den Shelly)

    Bisherige Rule für den Xiaomi Schalte:

    Jetzt will ich noch einen zusätzlichen Tradfri Schalten in die Rule bauen - damit er mit beiden an und aus machen kann - nehm ich nur in when den Schalter auf oder muss irgendwas noch irgendwohin ein Update senden damit der andere auch weis das das Licht an ist oder bau ich ne Gruppe oder oder ?? :D

    Support ME ! Buy me a Coffee :thumbup:


    Dont Touch ME

    LivingRoom: SilverStone Milo ML03 | Gigabyte B450 | Ryzen 3400G | 250GB NVME | 16GB DDR4-3200| Win10 64 bit | KODI 18 | Logitech Harmony Elite | SONOS Playbar + SUB
    BedRoom: PLAY:3
    Kitchen: PLAY:3
    BathRoom: Play:3

  • tradfri und xiaomi sind doch nur taster oder? die haben dann ja keinen on/off zustand sondern setzen nur einen string ab.
    wenn dem so ist, dann wäre die kürzeste variante zwei trigger mit "or" zu nehmen und dann die jeweiligen signale per case auszuwerten. also genau wie du es jetzt schon hast. es muss nur geschaut werden, ob der tradfri auch "SHORT_PRESSED" sendet oder was anderes. wenns was anderes ist dann einfach diesen string per "case" zusätzlich reinnehmen.

  • also der tradfri hat nen string mit on/off

    sieht so aus in items:

    String Hannes_switch2Click { channel="mqtt:topic:e5d254d7:Hannes_switch2:click" }

    things:

    Type string : click "Click" [
    stateTopic = "zigbee2mqtt/IKEA Tradfri/click"


    mach ich dann: ??

    Support ME ! Buy me a Coffee :thumbup:


    Dont Touch ME

    LivingRoom: SilverStone Milo ML03 | Gigabyte B450 | Ryzen 3400G | 250GB NVME | 16GB DDR4-3200| Win10 64 bit | KODI 18 | Logitech Harmony Elite | SONOS Playbar + SUB
    BedRoom: PLAY:3
    Kitchen: PLAY:3
    BathRoom: Play:3

  • das :)

    Code
    2022-01-24 14:42:37.073 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Hannes_switch2Click' changed from off to on
    
    
    2022-01-24 14:43:00.406 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Hannes_switch2Click' changed from on to off

    Support ME ! Buy me a Coffee :thumbup:


    Dont Touch ME

    LivingRoom: SilverStone Milo ML03 | Gigabyte B450 | Ryzen 3400G | 250GB NVME | 16GB DDR4-3200| Win10 64 bit | KODI 18 | Logitech Harmony Elite | SONOS Playbar + SUB
    BedRoom: PLAY:3
    Kitchen: PLAY:3
    BathRoom: Play:3

  • on/off bei taster...total sinnfrei meines erachtens.....naja, dann ist es halt so.
    so wie du es weiter oben geschrieben hast, verliert der taster natürlich die on/off funktionalität. wobei das meines erachtens auch völlig egal wäre. das brauchst du für deinen einsatzzweck nicht.
    ich würde die anderen drei strings des xiaomi (DOUBLE_PRESSED etc) zusätzlich aus dieser rule entfernen. wenn du diese funktionen nutzen willst, dann nimm ne extra rule. du steuerst damit ja dann auch ein anderes gerät. das dient meines erachtens dann doch der übersichtlichkleit.

    beispiel

    so wäre das meiner meinung nach der sauberste und aufgeräumteste ansatz. einziger negativpunkt ist halt, dass du den on/off status beim taster verlierst. der ist aber sowieso überflüssig. an nem taster kann man den status optisch nicht erkennen. also braucht der auch keinen "software" status.

  • ok ich teste das - in der neuen rule engine was man so zusammenklicken kann gibt es kein else oder ? hab es zumindest nicht gefunden - aber deine rule sieht logisch und einfach aus :D

    der tradfri hat oben und unten einen switch bzw trigger zum drücken

  • @horschte

    Warum sinnfrei? Es muss sich ja nicht um einen Taster handeln, siehe:


    Jetzt will ich noch einen zusätzlichen Tradfri Schalten in die Rule bauen


    Und wenn es bspw. der https://www.ikea.com/de/de/p/tradfr…weiss-70408595/ ist schaltet er ja auch wirklich, wenn es nur so einer ist https://www.ikea.com/de/de/p/tradfr…weiss-40356381/ dann ist es wirklich interessant, aber es ist doch von Vorteil.
    Unter der Annahme das der Status "on" nur gesendet wird wenn das dahinter liegende Gerät auch wirklich "on" ist, wäre diese Meldung ja perfekt zur Statusermittlung nutzbar.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • aber deine rule sieht logisch und einfach aus

    genau so solls nach möglichkeit ja auch sein. wenn du mit nem einfach-klick das licht schalten willst, dann brauchste keine receivedEvent variablen um andere klicks auszuwerten. die rule wird einfach nur lang und unübersichtlich.
    solltest du andere klicks auswerten lassen um andere geräte zu schalten, dann kommt das halt in eine eigene rule. an codezeilen spart man auch nicht wirklich was wenn man das alles mit einem mal auswerten will.

    in der neuen rule engine was man so zusammenklicken kann gibt es kein else oder ?

    grafische rule engine benutzen??????????????

  • Warum sinnfrei? Es muss sich ja nicht um einen Taster handeln, siehe:

    ok das es auch "echte" schalter von ikea gibt wusste ich nicht. hat der taster denn eine "mechanische" on/off stellung? erst dann macht es doch sinn den status auch zu auszuwerten. wenn das licht an ist, dann drücke ich ja nicht auf on.

  • also hab deine rule getestet und geht nicht

    Configuration model 'hannes_lichtschalter.rules' has errors, therefore ignoring it: [5,5]: no viable alternative at input 'Hannes_switch2Click'

    ich denke weil es wirklich 2 "knöpfe" an dem tradfri gibt mit on und off oder ?

    ahhhh Item hat gefehlt

    Support ME ! Buy me a Coffee :thumbup:


    Dont Touch ME

    LivingRoom: SilverStone Milo ML03 | Gigabyte B450 | Ryzen 3400G | 250GB NVME | 16GB DDR4-3200| Win10 64 bit | KODI 18 | Logitech Harmony Elite | SONOS Playbar + SUB
    BedRoom: PLAY:3
    Kitchen: PLAY:3
    BathRoom: Play:3

    Einmal editiert, zuletzt von xSaSx (24. Januar 2022 um 15:30)

  • ich denke weil es wirklich 2 "knöpfe" an dem tradfri gibt mit on und off oder ?

    das war nicht in den ersten beiträgen erkennbar.

    Configuration model 'hannes_lichtschalter.rules' has errors, therefore ignoring it: [5,5]: no viable alternative at input 'Hannes_switch2Click'

    ich denke weil es wirklich 2 "knöpfe" an dem tradfri gibt mit on und off oder ?

    ne das hat damit nichts zu tun. beim zusammenstellen deiner rule habe ich beim trigger nur "Item" vergessen. es muss heissen "Item Hannes_switch2Click changed"

  • Nee die Position wird auch dort nur getastet.
    Ob der Schalter dann eine interne Speicherung der Position vornimmt weiß ich nicht.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • ok ich hab mir mal den schalter angeschaut. er hat keine "mechanische" on/off stellung. weiterhin:

    Triggered action (e.g. a button click). Value can be found in the published state on the action property. It's not possible to read (/get) or write (/set) this value. The possible values are: on, off, brightness_move_down, brightness_move_up, brightness_stop.#

    ein command channel ist also nicht vorhanden. damit ist das synchronisieren des tasters mittels command also auch nicht möglich (wenn man bspw nicht mit dem xiaomi taster oder dem shelly das licht steuert)
    das ganze bringt ein problem mit sich....schaltet man am ikea taster ein, dann geht das licht und der andere schalter (shelly) ein. schaltet man jetzt am xiaomi aus, dann bleibt der ikea schalter trotzdem auf on. die oben gepostete rule würde also nicht triggern wenn man jetzt wieder beim ikea schaltet...weil sich dessen status (der auf on ist) nicht ändert.
    in der o.g. rule würde ich also den trigger von "changed" auf "received update" umstellen.
    falls der schalter auch ohne aktion seinen status sendet (kommt ggf beim neustart vor -> changed from NULL to ON/OFF), dann würde das licht ungewollt schalten. um das zu umgehen, könnte der rule trrigger von changed/received update auf:

    Code
    Channel "mihome:86sw1:158dxxx710316:ch1" triggered SHORT_PRESSED or
        Item Hannes_switch2Click changed from OFF to ON or
        Item Hannes_switch2Click changed from ON to OFF


    ...abgeändert werden. so triggert die rule wirklich nur, wenn am taster was gedrückt wird.
    ein anderer weg (darauf will @bennySB sicher hinaus) wäre mittels "received command" zu triggern und dann auf "SHORT_PRESSED" (vom xiaomi) sowie "ON/OFF" (vom ikea) mittels 3x case (sind ja 3 "zustände") zu reagieren.

    Ob der Schalter dann eine interne Speicherung der Position vornimmt weiß ich nicht.

    er hat ein item angelegt. also wird der status ja (zumindest bei openhab) gespeichert.

  • so sieht das jetzt gut aus und funktioniert :) vielen dank !

    Support ME ! Buy me a Coffee :thumbup:


    Dont Touch ME

    LivingRoom: SilverStone Milo ML03 | Gigabyte B450 | Ryzen 3400G | 250GB NVME | 16GB DDR4-3200| Win10 64 bit | KODI 18 | Logitech Harmony Elite | SONOS Playbar + SUB
    BedRoom: PLAY:3
    Kitchen: PLAY:3
    BathRoom: Play:3

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!