Hast du schon geprüft, wie der Parameter
output in der "configuration.yaml" gesetzt ist ?
Code: Alles auswählen
Auszug aus der configuration.yaml
.......
pan_id: 4567
log_level: info
log_namespaced_levels:
z2m:mqtt: warning
channel: 25
output: attribute_and_json
log_directory: /var/log/zigbee2mqtt/%TIMESTAMP%al
log_file: log.txt
homeassistant_legacy_entity_attributes: false
legacy_api: false
legacy_availability_payload: false
last_seen: ISO_8601_local
......
Ich habe beide Möglichkeiten ausgewählt und kann deshalb sowohl mit Attributen als auch mit JSON-Strings arbeiten.
Diese kannst du entweder in der "configuration.yaml" mit einem Editor (evtl. "nano") anpassen.
Es besteht aber auch die Möglichkeit diese Anpassung mit dem "Frontend" von Z2M vorzunehmen. Unter "Einstellungen/Erweitert" findest du etwas weiter unten die Möglichkeit "
MQTT output type". Dort kannst du dann deine Optionen anwählen.
z2m_mqtt.jpg
Hier ein Thing-Beispiel aus meinem SetUp mit den dazu passenden Channels (sowohl Attribut als auch JSON)
Code: Alles auswählen
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++ Bewegungs-Sensoren +++++++++++++++++++++++++++++++++++++++++
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Thing mqtt:topic:danny:snzb0301 "Bewegungs-Sensor SZNB-03-01" (mqtt:broker:danny ) @ "zigbee2mqtt"
[ availabilityTopic="zigbee2mqtt/snzb_03_01/availability", transformationPattern="JSONPATH:$.state", payloadNotAvailable="offline", payloadAvailable= "online" ]
{
Channels:
Type number : voltage "SNZB-03-01 Spannung" [ stateTopic="zigbee2mqtt/snzb_03_01/voltage", unit="mV" ]
Type number : battery "SNZB-03-01 Batterie" [ stateTopic="zigbee2mqtt/snzb_03_01/battery", unit="%" ]
Type contact : batterylow "SNZB-03-01 Batterie Niedrig" [ stateTopic="zigbee2mqtt/snzb_03_01/battery_low", on="true", off="false" ]
Type switch : occupancy "SNZB-03-01 Bewegung" [ stateTopic="zigbee2mqtt/snzb_03_01/occupancy", on="true", off="false" ]
Type contact : tamper "SNZB-03-01 Sabotage" [ stateTopic="zigbee2mqtt/snzb_03_01/tamper", on="true", off="false" ]
Type number : linkquality "SNZB-03-01 Empfangsstäreke LQI" [ stateTopic="zigbee2mqtt/snzb_03_01", transformationPattern="JSONPATH:$.linkquality", unit="lqi" ]
Type switch : reachable "SNZB-03-01 Reachable" [ stateTopic="zigbee2mqtt/snzb_03_01/availability", transformationPattern="JSONPATH:$.state", on="online", off="offline" ]
}
und die passende .item-Datei
Code: Alles auswählen
//**********************************************************************************************************************************************************************************************************************
//Gruppe ZigBee Sonoff Bewegungs-Sensoren
//**********************************************************************************************************************************************************************************************************************
Group gMoSo "Sonoff SNTB-03 Motion-Properties" <motion>
// Tür- Bewegungs-Sensor SNZB-03
Group gsnzb03_01 "Bewegung SNZB-03 01" <motion> (gEG_Buero) ["MotionDetector"]
Number:ElectricPotential snzb03_01_voltage "Bewegung SNZB-03 01 Spannung [%.1f]" <energy> (gsnzb03_01) ["Voltage"] { channel="mqtt:topic:danny:snzb0301:voltage"}
Number:Dimensionless snzb03_01_battery "Bewegung SNZB-03 01 Batterie" <batterylevel> (gsnzb03_01,gBattLevelEG) ["LowBattery"] { channel="mqtt:topic:danny:snzb0301:battery", unit="%", stateDescription="pattern" [pattern="%.0f %unit%"] }
Contact snzb03_01_batt "Bewegung SNZB-03 01 Batterie niedrig" <lowbattery> (gsnzb03_01,gBatt) ["Alarm"] { channel="mqtt:topic:danny:snzb0301:batterylow" }
Switch snzb03_01_occupancy "Bewegung SNZB-03 01 Bewegung" <motion> (gsnzb03_01,gMoSo) ["Presence","Status"] { channel="mqtt:topic:danny:snzb0301:occupancy" }
Contact snzb03_01_tamper "Bewegung SNZB-03 01 Manipulation [%s]" <siren1> (gsnzb03_01) ["Tampered"] { channel="mqtt:topic:danny:snzb0301:tamper" }
Number snzb03_01_linkquality "Bewegung SNZB-03 01 LQI [%.1f %unit%]" <qualityofservice> (gsnzb03_01) ["Level"] { channel="mqtt:topic:danny:snzb0301:linkquality", stateDescription="" [pattern="%.0f LQI"] }
Switch snzb03_01_Unreach "Bewegung SNZB-03 01 Erreichbarkeit [%s]" <siren1> (gsnzb03_01,gLWT) ["Point"] { channel="mqtt:topic:danny:snzb0301:reachable" }
Vielleicht hilft dir das weiter.
Ansonsten solltest du dir, wie von Udo beschrieben, mit einem "MQTT-Explorer/Sniffer" mal anschauen, was da an den Broker geschickt wird.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.