Zwave-js-ui + MQTT2 + MQTTdiscovery: découverte équipements

Salut

Je me lance dans le DIY avec zwave-js-ui <> mosquitto <> MQTT2 + MQTTdiscovery
Comme j’ai deja une GW theengs et que le plugin-mqtt2 (préreq) n’accepte qu’un topic racine j’ai tout mis sous /home:

Je vois bien le device apparaitre dans plugin-mqttdiscovery mais aucun attribut n’est créé…


Voila le json:

{
	"binary_sensor": {
		"cover_status": {
			"payload_on": 3,
			"payload_off": 0,
			"value_template": " value_json.value ",
			"device_class": "opening",
			"state_topic": "home/zwave/Salon/Fenetre/notification/endpoint_0/Home_Security/Cover_status",
			"availability": [
				{
					"payload_available": "true",
					"payload_not_available": "false",
					"topic": "home/zwave/Salon/Fenetre/status",
					"value_template": "'true' if value_json.value else 'false'"
				},
				{
					"topic": "home/zwave/_CLIENTS/ZWAVE_GATEWAY-zwave-js-ui/status",
					"value_template": "'online' if value_json.value else 'offline'"
				},
				{
					"payload_available": "true",
					"payload_not_available": "false",
					"topic": "home/zwave/driver/status"
				}
			],
			"availability_mode": "all",
			"json_attributes_topic": "home/zwave/Salon/Fenetre/notification/endpoint_0/Home_Security/Cover_status",
			"device": {
				"identifiers": [
					"zwavejs2mqtt_0xe0d48973_node12"
				],
				"manufacturer": "Everspring",
				"model": "Door/Window Detector (SM810)",
				"name": "Salon-Fenetre",
				"sw_version": "1.1"
			},
			"name": "Salon-Fenetre_cover_status",
			"unique_id": "zwavejs2mqtt_0xe0d48973_12-113-0-Home_Security-Cover_status"
		},
		"power_status": {
			"payload_on": 1,
			"payload_off": 0,
			"value_template": " value_json.value ",
			"state_topic": "home/zwave/Salon/Fenetre/notification/endpoint_0/Power_Management/Power_status",
			"availability": [
				{
					"payload_available": "true",
					"payload_not_available": "false",
					"topic": "home/zwave/Salon/Fenetre/status",
					"value_template": "'true' if value_json.value else 'false'"
				},
				{
					"topic": "home/zwave/_CLIENTS/ZWAVE_GATEWAY-zwave-js-ui/status",
					"value_template": "'online' if value_json.value else 'offline'"
				},
				{
					"payload_available": "true",
					"payload_not_available": "false",
					"topic": "home/zwave/driver/status"
				}
			],
			"availability_mode": "all",
			"json_attributes_topic": "home/zwave/Salon/Fenetre/notification/endpoint_0/Power_Management/Power_status",
			"device": {
				"identifiers": [
					"zwavejs2mqtt_0xe0d48973_node12"
				],
				"manufacturer": "Everspring",
				"model": "Door/Window Detector (SM810)",
				"name": "Salon-Fenetre",
				"sw_version": "1.1"
			},
			"name": "Salon-Fenetre_power_status",
			"unique_id": "zwavejs2mqtt_0xe0d48973_12-113-0-Power_Management-Power_status"
		},
		"door_state_simple": {
			"payload_on": 22,
			"payload_off": 23,
			"value_template": " value_json.value ",
			"device_class": "door",
			"state_topic": "home/zwave/Salon/Fenetre/notification/endpoint_0/Access_Control/Door_state_simple",
			"availability": [
				{
					"payload_available": "true",
					"payload_not_available": "false",
					"topic": "home/zwave/Salon/Fenetre/status",
					"value_template": "'true' if value_json.value else 'false'"
				},
				{
					"topic": "home/zwave/_CLIENTS/ZWAVE_GATEWAY-zwave-js-ui/status",
					"value_template": "'online' if value_json.value else 'offline'"
				},
				{
					"payload_available": "true",
					"payload_not_available": "false",
					"topic": "home/zwave/driver/status"
				}
			],
			"availability_mode": "all",
			"json_attributes_topic": "home/zwave/Salon/Fenetre/notification/endpoint_0/Access_Control/Door_state_simple",
			"device": {
				"identifiers": [
					"zwavejs2mqtt_0xe0d48973_node12"
				],
				"manufacturer": "Everspring",
				"model": "Door/Window Detector (SM810)",
				"name": "Salon-Fenetre",
				"sw_version": "1.1"
			},
			"name": "Salon-Fenetre_door_state_simple",
			"unique_id": "zwavejs2mqtt_0xe0d48973_12-113-0-Access_Control-Door_state_simple"
		},
		"battery_islow": {
			"payload_on": true,
			"payload_off": false,
			"value_template": " value_json.value ",
			"device_class": "battery",
			"state_topic": "home/zwave/Salon/Fenetre/battery/endpoint_0/isLow",
			"availability": [
				{
					"payload_available": "true",
					"payload_not_available": "false",
					"topic": "home/zwave/Salon/Fenetre/status",
					"value_template": "'true' if value_json.value else 'false'"
				},
				{
					"topic": "home/zwave/_CLIENTS/ZWAVE_GATEWAY-zwave-js-ui/status",
					"value_template": "'online' if value_json.value else 'offline'"
				},
				{
					"payload_available": "true",
					"payload_not_available": "false",
					"topic": "home/zwave/driver/status"
				}
			],
			"availability_mode": "all",
			"json_attributes_topic": "home/zwave/Salon/Fenetre/battery/endpoint_0/isLow",
			"device": {
				"identifiers": [
					"zwavejs2mqtt_0xe0d48973_node12"
				],
				"manufacturer": "Everspring",
				"model": "Door/Window Detector (SM810)",
				"name": "Salon-Fenetre",
				"sw_version": "1.1"
			},
			"name": "Salon-Fenetre_battery_islow",
			"unique_id": "zwavejs2mqtt_0xe0d48973_12-128-0-isLow"
		}
	},
	"sensor": {
		"notification_access_control_door_state": {
			"value_template": " {22: \"Window/door is open\",23: \"Window/door is closed\",5632: \"Window/door is open in regular position\",5633: \"Window/door is open in tilt position\"}[value_json.value] | default(value_json.value) ",
			"icon": "mdi:alarm-light",
			"state_topic": "home/zwave/Salon/Fenetre/notification/endpoint_0/Access_Control/Door_state",
			"availability": [
				{
					"payload_available": "true",
					"payload_not_available": "false",
					"topic": "home/zwave/Salon/Fenetre/status",
					"value_template": "'true' if value_json.value else 'false'"
				},
				{
					"topic": "home/zwave/_CLIENTS/ZWAVE_GATEWAY-zwave-js-ui/status",
					"value_template": "'online' if value_json.value else 'offline'"
				},
				{
					"payload_available": "true",
					"payload_not_available": "false",
					"topic": "home/zwave/driver/status"
				}
			],
			"availability_mode": "all",
			"json_attributes_topic": "home/zwave/Salon/Fenetre/notification/endpoint_0/Access_Control/Door_state",
			"device": {
				"identifiers": [
					"zwavejs2mqtt_0xe0d48973_node12"
				],
				"manufacturer": "Everspring",
				"model": "Door/Window Detector (SM810)",
				"name": "Salon-Fenetre",
				"sw_version": "1.1"
			},
			"name": "Salon-Fenetre_notification_access_control_door_state",
			"unique_id": "zwavejs2mqtt_0xe0d48973_12-113-0-Access_Control-Door_state"
		},
		"battery_level": {
			"value_template": " value_json.value ",
			"unit_of_measurement": "%",
			"device_class": "battery",
			"state_topic": "home/zwave/Salon/Fenetre/battery/endpoint_0/level",
			"availability": [
				{
					"payload_available": "true",
					"payload_not_available": "false",
					"topic": "home/zwave/Salon/Fenetre/status",
					"value_template": "'true' if value_json.value else 'false'"
				},
				{
					"topic": "home/zwave/_CLIENTS/ZWAVE_GATEWAY-zwave-js-ui/status",
					"value_template": "'online' if value_json.value else 'offline'"
				},
				{
					"payload_available": "true",
					"payload_not_available": "false",
					"topic": "home/zwave/driver/status"
				}
			],
			"availability_mode": "all",
			"json_attributes_topic": "home/zwave/Salon/Fenetre/battery/endpoint_0/level",
			"device": {
				"identifiers": [
					"zwavejs2mqtt_0xe0d48973_node12"
				],
				"manufacturer": "Everspring",
				"model": "Door/Window Detector (SM810)",
				"name": "Salon-Fenetre",
				"sw_version": "1.1"
			},
			"name": "Salon-Fenetre_battery_level",
			"unique_id": "zwavejs2mqtt_0xe0d48973_12-128-0-level"
		}
	}
}

zwave-js-ui: 9.8.3.3e632db
zwave-js: 12.4.3
version jeedom et plugins: dernière release stable

Est ce que ca peut fonctionner avec ce plugin ou dois-je passer par plugin-jmqtt ?

Merci

update:
ca y est ca remonte!
c’est bizarre mes devices de test sont sur piles je les avais pourtant reveilles mais il a fallu attendre…

Question subsidaire: pour certains de mes devices j’avais du rajouter des commandes à la main.
ex ici pour changer les modes de sonnerie de ma sierene Aeotec
y aurait-il un moyen de le faire ici?

On s’en fiche
Mqtt2 n’est même pas utilisé

=> remet la config par défaut pour zwavejs

Si la commande est supportée par zwave js c’est inutile elle devrait déjà être créée; si c’est pas le cas on peut voir pourquoi.
Si pas supporté par zwavejs, c’est inutile car ca ne fonctionnera pas.

Donc non ce n’est pas possible d’ajouter des commandes manuellement car dans tous les cas c’est inutile.

Ok merci je vais creuser cote zwave-js-ui
Pour le plugin-mqtt2 que dois je mettre comme topic racine?

Je ne comprends pas ta question

Je répète: mqtt2 n’est pas utilisé par mqttdiscovery.

ah je viens de comprendre: je l’ai installé quand j’ai fait le test du plugin-tgw et je me suis laissé tromper par la config automatique depuis le plugin-mqtt2
désolé :grin:

Pas de soucis
Et effectivement il peut servir pour installer mosquitto car mqttdiscovery ne s’en charge pas (il y a déjà assez de plugins qui s’en chargent)

Notes que même pour les plugins qui utilisent mqtt2 (comme tgw) ce que tu configures comme topic racine dans mqtt2 n’a pas d’importance, cela ne sert que pour le plugin lui même, pas les autres plugins.

Merci pour ces précisions. De toute manière au final je ne m’en sers plus j’ai tout mis sur docker :wink:

Bonjour @mips

Il y a ca dans la doc zwave-js-ui:

Donc j’en conclus que l’auto-découverte homeassistant peut s’arrêter d’un jour à l’autre…
C’est dommage MQTTDiscovery marchait bien avec zwave-js-ui.

Je vais donc retourner sur la méthode avec JMQTT

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.