Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.
Toon posts:

OpenHAB & Zigbee2MQTT

Pagina: 1
Acties:

Verwijderd

Topicstarter
Na een aantal dagen klooien, tijd voor een topic. ;)

Setup:
Raspberry Pi4 met Docker.
Container voor OpenHAB4
Container voor MQTT (Mosquitto)
Container voor Zigbee2MQTT (deze container heeft de USB Sonoff Dongle gekoppeld).
OpenHAB hangt aan 'host' netwerk in docker, de rest aan 'bridge'.
Kan ze prima bereiken via <RaspberryPi IP>:<port>.

Mijn lampen (Hue) zijn gekoppeld aan Z2M, kan ze daarin ook aan/uit zetten, etc.
OpenHAB heeft een connectie (Thingy) met Z2M en geeft status "Online":

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
UID: mqtt:broker:Mosquitto
label: Mosquitto
thingTypeUID: mqtt:broker
configuration:
  lwtQos: 0
  publickeypin: true
  keepAlive: 60
  clientid: <ID>
  hostnameValidated: true
  secure: false
  birthRetain: true
  shutdownRetain: true
  certificatepin: true
  protocol: TCP
  qos: 0
  reconnectTime: 60000
  mqttVersion: V5
  host: <IP>
  lwtRetain: true
  enableDiscovery: true


So far, so good zou je zeggen. :)

Heb deze tutorial gevolgd (t/m stap 3) (incl. Z2M op 'attribute' output stap).
https://community.openhab...lb-via-zigbee2mqtt/111943

Wat resulteert in het volgende voor een lamp:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
UID: mqtt:topic:Mosquitto:<ID>
label: Eetkamer
thingTypeUID: mqtt:topic
configuration:
  payloadNotAvailable: offline
  availabilityTopic: zigbee2mqtt/Eetkamer-Lamp1/availability
  payloadAvailable: online
bridgeUID: mqtt:broker:Mosquitto
location: Eetkamer
channels:
  - id: On-Off
    channelTypeUID: mqtt:switch
    label: On-Off
    description: On-Off
    configuration: {}


Maar de lamp blijft de status "offline" houden in openHAB (stap 3 in de tutorial).
Daarom dus ook niet verdergegaan met de volgende stappen.

Note: Heb al langer MQTT draaien i.c.m. Domoticz (wil daar vanaf) met bijv. de ithobox sensor (die ook via MQTT loopt). Dus ook daarvan lijkt mij dat het niet aan Mosquitto of Z2M zou moeten liggen?

Ik mis dus iets, maar wat?
Wie kan mij in de juiste richting wijzen?

  • emielbf
  • Registratie: Juni 2019
  • Laatst online: 15-11 07:52
volgens mij wordt in post 19 jou probleem beschreven en 3 posts later is het opgelost, heb je dat al geprobeerd?

Verwijderd

Topicstarter
emielbf schreef op maandag 30 oktober 2023 @ 07:14:
volgens mij wordt in post 19 jou probleem beschreven en 3 posts later is het opgelost, heb je dat al geprobeerd?
Dank, heb het een paar keer gelezen. Maar begrijp niet wat er bedoeld wordt met "I spelled things out as text" en hoe dat bereikt is.

Kan me ook niet voorstellen dat ik de enige ben die een Hue lamp via Z2M aan openHAB wil hangen.
Maar kan er niks bruikbaars over vinden.

  • TheDudez
  • Registratie: Mei 2013
  • Laatst online: 15-11 13:47

TheDudez

Usenet stofzuiger!

Verwijderd schreef op maandag 30 oktober 2023 @ 15:41:
[...]

Dank, heb het een paar keer gelezen. Maar begrijp niet wat er bedoeld wordt met "I spelled things out as text" en hoe dat bereikt is.

Kan me ook niet voorstellen dat ik de enige ben die een Hue lamp via Z2M aan openHAB wil hangen.
Maar kan er niks bruikbaars over vinden.
Ik heb geen Hue lampen maar wel Z2m en openhab. Is de status topic wel goed ingesteld in je things bestand.

Usenet handleidingen


Verwijderd

Topicstarter
TheDudez schreef op maandag 30 oktober 2023 @ 16:03:
[...]

Ik heb geen Hue lampen maar wel Z2m en openhab. Is de status topic wel goed ingesteld in je things bestand.
Wat ik heb ingesteld staat in de TS tussen de code tags.
Heb je een voorbeeld van hoe jij het gerealiseerd hebt? Wellicht zie ik dan het licht. :+

  • TheDudez
  • Registratie: Mei 2013
  • Laatst online: 15-11 13:47

TheDudez

Usenet stofzuiger!

Verwijderd schreef op maandag 30 oktober 2023 @ 16:05:
[...]

Wat ik heb ingesteld staat in de TS tussen de code tags.
Heb je een voorbeeld van hoe jij het gerealiseerd hebt? Wellicht zie ik dan het licht. :+
Things
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Bridge mqtt:broker:c99ba5fd [ host="localhost", secure=false, username="openhabian", password="xxx" , clientID="$client" ]
{
//Zigbee stick
    Thing topic zigbeeMQTT "Zigbee2mqtt" {
    Channels:
        Type switch : permitJoin                       [ commandTopic="zigbee2mqtt/bridge/config/permit_join", on="true", off="false" ]
        Type string : state                            [ stateTopic="zigbee2mqtt/bridge/state" ]
        Type string : logType                          [ stateTopic="zigbee2mqtt/bridge/log" ]
        Type string : logMessage                       [ stateTopic="zigbee2mqtt/bridge/log" ]
   
   //WaterLeak
    }
    Thing topic zigbeeMQTT "WaterLeakWashingMachine" {
    Channels:
        Type switch : water_leak "water_leak" [ stateTopic = "zigbee2mqtt/WaterLeakWashingMachine/water_leak",on="true", off="false"]
        Type number : voltage "voltage" [ stateTopic = "zigbee2mqtt/WaterLeakWashingMachine/voltage" ]     
        Type number : battery "battery" [ stateTopic = "zigbee2mqtt/WaterLeakWashingMachine/battery" ]     
        Type number : linkquality "linkquality" [ stateTopic = "zigbee2mqtt/WaterLeakWashingMachine/linkquality" ]
        Type datetime : last_seen "last_seen" [ stateTopic= "zigbee2mqtt/WaterLeakWashingMachine/last_seen" ]
    }


item:
code:
1
2
3
4
5
Switch      GF_Leak_LaundryRoom_Leak    "Washok lekage [%s]"              <water>             (GF_LaundryRoom, gLeak)               ["Leak"]                {channel="mqtt:topic:c99ba5fd:WaterLeakWashingMachine:water_leak" }
Number      GF_Leak_LaundryRoom_Voltage "Washok lekage [%d mV]"               <voltage>           (gVoltage)                            ["Voltage"]             {channel="mqtt:topic:c99ba5fd:WaterLeakWashingMachine:voltage"}
Number      GF_Leak_LaundryRoom_Battery "Washok lekage [%.1f %%]"          <battery>           (gBattery)                            ["Battery"]             {channel="mqtt:topic:c99ba5fd:WaterLeakWashingMachine:battery"}
Number      GF_Leak_LaundryRoom_link    "Washok lekage"                   <link>              (gLink)                               ["Link"]                {channel="mqtt:topic:c99ba5fd:WaterLeakWashingMachine:linkquality"}
DateTime    GF_Leak_LaundryRoom_last_seen     "Washok lekage [%1$tY-%1$tm-%1$td - %1$tH:%1$tM:%1$tS]"                      <timefast>           (gLast_Seen)                          ["Voltage"]               {channel="mqtt:topic:c99ba5fd:WaterLeakWashingMachine:last_seen"}

En nog een andere

Things
code:
1
2
3
4
5
6
7
8
9
10
11
12
Bridge mqtt:broker:c99ba5fd[ host="localhost", secure=false, username="openhabian", password="XXX" , clientID="$client" ]
{

    Thing topic DiningRoomDimmer "Eetkamerdimmer" {
        Channels://DeviceID    0x8cf681fffe8d48b8
        
            Type switch : state "state" [ stateTopic = "zigbee2mqtt/DiningRoomDimmer/state", commandTopic = "zigbee2mqtt/DiningRoomDimmer/set/state", on="ON", off="OFF" ]  //togle state?
            Type number : linkquality "linkquality"     [ stateTopic="zigbee2mqtt/DiningRoomDimmer/linkquality" ]
            Type number : brightness "brightness"     [ stateTopic="zigbee2mqtt/DiningRoomDimmer/brightness" , commandTopic = "zigbee2mqtt/DiningRoomDimmer/set/state" ]     
            Type datetime : last_seen "last_seen" [ stateTopic="zigbee2mqtt/DiningRoomDimmer/last_seen" ]
    }
}

item
code:
1
2
3
4
Switch      GF_DiningRoomDimmer_Button_Press            "Eet kamer schakelaaar[%s]"                 <button>            (GF_DiningRoom, gButton)     ["Button"]      {channel="mqtt:topic:c99ba5fd:DiningRoomDimmer:state" }
Number      GF_DiningRoomDimmer_Button_Link             "Eet kamer schakelaaar [%d]"                 <link>              (gButton, gLink)     ["link"]        {channel="mqtt:topic:c99ba5fd:DiningRoomDimmer:linkquality" }
Dimmer      GF_DiningRoomDimmer_Button_Brightness            "Eet kamer schakelaaar [%d]"                 <link>              (GF_DiningRoom,gButton, gLink)     ["link"]        {channel="mqtt:topic:c99ba5fd:DiningRoomDimmer:brightness" }
DateTime    GF_DiningRoomDimmer_Button_last_seen        "Eet kamer schakelaaar[%1$tY-%1$tm-%1$td - %1$tH:%1$tM:%1$tS]"                      <timefast>           (gLast_Seen)                          ["Voltage"]               {channel="mqtt:topic:c99ba5fd:SwitchDinningRoom:last_seen"}

[ Voor 25% gewijzigd door TheDudez op 30-10-2023 18:36 ]

Usenet handleidingen


Verwijderd

Topicstarter
Dank, je doet zo te zien niks met de "availability"?
Klopt het dan dat jouw lamp de status offline/online krijgt op moment dat deze uit of aan is?

(Waarbij offline eigenlijk alleen zou moeten op moment dat de lamp echt offline is, bijv. doordat de schakelaar is omgehaald of als de lamp uit z'n socket is gehaald).

Verwijderd

Topicstarter
Ben er achter. :)
En dus delen met de wereld. :P

Afbeeldingslocatie: https://i.ibb.co/xgfhJJ3/Schermafbeelding-2023-11-05-161225.png

Blijkbaar moest het topic als volgt worden ingegeven: {"state":"online"}.
Uit de logs van Zigbee2MQTT gehaald toen ik maar weer eens met een schakelaar ging spelen.
Het helpt ook niet dat in Z2M de status pas na 10 min wijzigt. Dat dus ook maar gelijk aangepast. ;)

code:
1
2
3
4
5
6
7
8
9
UID: mqtt:topic:Mosquitto:KantoorLamp1
label: Kantoor - Lamp 1
thingTypeUID: mqtt:topic
configuration:
  payloadNotAvailable: '{"state":"offline"}'
  availabilityTopic: zigbee2mqtt/Kantoor - Spot 1/availability
  payloadAvailable: '{"state":"online"}'
bridgeUID: mqtt:broker:Mosquitto
location: Kantoor
Pagina: 1