Ankündigung

Einklappen
Keine Ankündigung bisher.

MQTT <> Smarthome

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    MQTT <> Smarthome

    Hallo,

    hab es mittlerweile hinbekommen, dass ich meine zigbbe2mqtt Sensoren (Aqara) über den smarthomeng auslesen kann. Funktioniert richtig gut.
    Hier mal ein Beispiel für einen Sensor:
    Code:
     zigbeeaqaraWz:
    type: dict
    cache: 'True'
    database: 'yes'
    mqtt_topic_in: zigbee2mqtt/0x00158d00054b4042
    
    aqaraWz_temp:
    type: num
    eval: sh.Wohngeschoss.Wohnzimmer.zigbeeaqaraWz()['temperature']
    eval_trigger: Wohngeschoss.Wohnzimmer.zigbeeaqaraWz
    
    aqaraWz_feucht:
    type: num
    eval: sh.Wohngeschoss.Wohnzimmer.zigbeeaqaraWz()['humidity']
    eval_trigger: Wohngeschoss.Wohnzimmer.zigbeeaqaraWz
    
    aqaraWz_druck:
    type: num
    eval: sh.Wohngeschoss.Wohnzimmer.zigbeeaqaraWz()['pressure']
    eval_trigger: Wohngeschoss.Wohnzimmer.zigbeeaqaraWz
    
    aqaraWz_batt:
    type: num
    eval: sh.Wohngeschoss.Wohnzimmer.zigbeeaqaraWz()['battery']
    eval_trigger: Wohngeschoss.Wohnzimmer.zigbeeaqaraWz
    
    aqaraWz_volt:
    type: num
    eval: sh.Wohngeschoss.Wohnzimmer.zigbeeaqaraWz()['voltage']
    eval_trigger: Wohngeschoss.Wohnzimmer.zigbeeaqaraWz
    
    aqaraWz_link:
    type: num
    eval: sh.Wohngeschoss.Wohnzimmer.zigbeeaqaraWz()['linkquality']
    eval_trigger: Wohngeschoss.Wohnzimmer.zigbeeaqaraWz
    Könnte mir jemand ein Beispiel geben (Item) wie ich Werte an MQTT z.B. Steckdosen senden kann? Habe zigbee Steckdosen die ein "ON" oder "OFF" haben wollen.

    mqtt_topic_out

    habe ich gefunden, weiß aber nicht wo und wie ich Wertlisten hinterlegen kann bzw wie ein Item aussieht.
    Zuletzt geändert von Asterix3; 27.02.2021, 16:28.

    #2
    Da jedes MQTT Device seine eigenen Vorstellungen hat wie das Topic heißen soll und wie die Payload aufgebaut sein muss, musst Du als erstes die Doku Deines Devices zu Rate ziehen. Im Item musst Du dann im Attribut das Attribut mqtt_topic_out auf den vom Device gesetzten Topic setzen. Der Typ des Items muss zum zu übertragenden Wert passen (num, str, bool, dict, list). Das Plugin wandelt dann den Value der Items in die Payload um. In MQTT 3.x kennt die Payload keine Typisierung, sondern ist nur ein Array of Byte.

    Weitere Infos findest Du z.B. hier:
    Viele Grüße
    Martin

    There is no cloud. It's only someone else's computer.

    Kommentar


      #3
      Hi, wie Msinn schreibt ist jedes device anders, vielleicht hilft dir aber meine TRÅDFRI Steckdose:

      items.yaml:
      Code:
      OG:
         Kinderbad:      
             Steckdose:
                  type: str
                  mqtt_topic_out: zigbee2mqtt/0x000b57fffeef9b3f/set/state
                  visu_acl: rw
                  enforce_updates: 'true'
      Geschaltet wird diese bei mir über on_update eines anderen KNX items, ebenso im gleichen yaml:
      Code:
      on_update: OG.Kinderbad.Steckdose = 'ON' if value else 'OFF'
      lg
      Johannes

      Kommentar


        #4
        So hab es jetzt hinbekommen.
        Das Problem war das bei mqtt_topic_in immer ein {state: "on" } oder Off kam. ich brauchte aber ein on oder off ohne das state.
        beim mqtt_topic_out kann man ein on oder off direkt senden.
        Habe mir jetzt über ein Hilfsitem was gebastelt.

        Code:
         zigbeeBarEz:
        type: dict
        cache: 'True'
        mqtt_topic_in: zigbee2mqtt/0x680ae2fffe7242f9
        
        zigbeeBarEz_link:
        type: num
        eval: sh.Wohngeschoss.Esszimmer.zigbeeBarEz()['linkquality']
        eval_trigger: Wohngeschoss.Esszimmer.zigbeeBarEz
        
        zigbeeBarEz_Setin:
        type: str
        eval: sh.Wohngeschoss.Esszimmer.zigbeeBarEz()['state']
        eval_trigger: Wohngeschoss.Esszimmer.zigbeeBarEz
        on_change:
        - Wohngeschoss.Esszimmer.zigbeeBarEz_Switch = value
        
        zigbeeBarEz_Switch:
        type: str
        on_change:
        - Wohngeschoss.Esszimmer.zigbeeBarEz_Setout = value
        
        zigbeeBarEz_Setout:
        type: str
        cache: 'True'
        mqtt_bool_values: ['ON','OFF']
        mqtt_topic_out: zigbee2mqtt/0x680ae2fffe7242f9/set
        Falls es jemand braucht.

        Kommentar

        Lädt...
        X