Openhab connecté a FHEM via une entité MQTT_SERVER dans fhem.
il faut créer une serveur MQTT2
define MQTT_SRV MQTT2_SERVER 1883 global
attr MQTT_SRV autocreate simple
attr MQTT_SRV clientOrder MQTT_GENERIC_BRIDGE MQTT2_DEVICE
attr MQTT_SRV room MQTT
Ensuite un bridge entre le device VMC de type comfoair et le serveur MQTT
define mqtt_vmc MQTT_GENERIC_BRIDGE ComfoAir VMC
attr mqtt_vmc userattr mqttAlias:textField-long mqttDefaults:textField-long mqttDisable:both,incoming,outgoing mqttForward:all,none mqttPublish:textField-long mqttSubscribe:textField-long
attr mqtt_vmc IODev MQTT_SRV
attr mqtt_vmc room MQTT
Voila pour FHEM
on peut aussi créer un client pour voir que le device est bien vu
define mqtt_test MQTT2_CLIENT 127.0.0.1:1883
attr mqtt_test autocreate simple
attr mqtt_test room MQTT
Un device MQTT2 sera automatiquement créer lorsque le client recevra les messages du serveur (broker).
Du côté de openhab:
mqtt.things
Thing mqtt:topic:fhem:vmc "MQTT Thing: VMC"
(mqtt:broker:fhem) @ "VMC"
{
Channels:
Type string : mode "Mode"
[
stateTopic = "/VMC/Stufe"
]
Type number : Temp_Aussen "Température Air Entrant"
[ stateTopic = "/VMC/Temp_Aussen" ]
Type number : Temp_Abluft "Température Air Repris"
[ stateTopic = "/VMC/Temp_Abluft" ]
Type number : Temp_Zuluft "Température Air Pulsé"
[ stateTopic = "/VMC/Temp_Zuluft" ]
Type number : Temp_Fortluft "Température Air Sortant"
[ stateTopic = "/VMC/Temp_Fortluft" ]
Type number : Temp_Komfort "Température de confort"
[ stateTopic = "/VMC/Temp_Komfort" ]
Type number : UPM_Abluft "Vitesse Extraction"
[ stateTopic = "/VMC/UPM_Abluft" ]
Type number : UPM_Zuluft "Vitesse Pulsion"
[ stateTopic = "/VMC/UPM_Zuluft" ]
}
j'ai du configurer l'adresse du server via l'UI ... ai pas trouvé la syntaxe dans la doc.
VMC.items
String VMC_MODE "VMC mode [%s]" (gMQTT, gVMC) {channel = "mqtt:topic:fhem:vmc:mode"}
Number:Temperature Temp_Aussen "T° Air Entrant" <temperature> (gVMC) ["Temperature"] { channel="mqtt:topic:fhem:vmc:Temp_Aussen" }
Number:Temperature Temp_Abluft "T° Air Repris" <temperature> (gVMC) ["Temperature"] { channel="mqtt:topic:fhem:vmc:Temp_Abluft" }
Number:Temperature Temp_Zuluft "T° Air Pulsé" <temperature> (gVMC) ["Temperature"] { channel="mqtt:topic:fhem:vmc:Temp_Zuluft" }
Number:Temperature Temp_Fortluft "T° Air Sortant" <temperature> (gVMC) ["Temperature"] { channel="mqtt:topic:fhem:vmc:Temp_Fortluft" }
Number:Temperature Temp_Komfort "T° de Confort" <temperature> (gVMC) ["Temperature"] { channel="mqtt:topic:fhem:vmc:Temp_Komfort" }
Number UPM_Abluft "Vitesse Extraction (rpm)" (gVMC) { channel="mqtt:topic:fhem:vmc:UPM_Abluft" }
Number UPM_Zuluft "Vitesse Pulsion (rpm)" (gVMC) { channel="mqtt:topic:fhem:vmc:UPM_Zuluft" }
Group gVMC "VMC MQTT" (gbureau) ["Location"]
Group gMQTT "MQTT stuff" ["Location"]
et enfin le sitemap
sitemap bureau label="Domotique Visé Bureau" {
Frame label="Bureau" {
Switch item=Light_etage_bureau_plafond
Switch item=Light_etage_bureau_neon
Group item=gbureau label="Bureau"
Group item=gVMC label="VMC"
}
Frame label="VMC" {
Text item=mode label="VMC Mode"
Text item=Temp_Komfort label="Air Ambiant [%.1f °C]"
Text item=Temp_Aussen label="Air Entrant [%.1f °C]"
Text item=Temp_Fortluft label="Air Sortant [%.1f °C]"
Text item=Temp_Abluft label="Air Extrait [%.1f °C]"
Text item=Temp_Zuluft label="Air Pulsé [%.1f °C]"
Text item=UPM_Abluft label="Extraction [%.0f (rpm)]"
Text item=UPM_Zuluft label="Pulsation [%.0f (rpm)]"
}
}
Au final ca donne cet:
Par contre je sèche encore sur la commande du devise VMC par MQTT ... pas simple de trouver la bonne syntaxe des attributs dans FHEM (et je ne parle pas encore d'openhab).