Seite 1 von 2
SNZB-02D - Temperatursensor
Verfasst: 10. Sep 2023 19:09
von pbpromotion
Hallo zusammen,
ich habe 4 dieser Sensoren, aber irgendwie bekomme ich keine Daten in Openhab angezeigt.
Hier mal der Auszug aus dem MQTT Explorer
https://share-your-photo.com/a15a01a793
Und hier die Einstellungen aus openhab.
Code: Alles auswählen
UID: mqtt:topic:sensor_wohnzimmer
label: Sensor Wohnzimmer
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:16a7ce4469
channels:
- id: temp_wohnzimmer
channelTypeUID: mqtt:string
label: Temperatur Wohnzimmer
description: ""
configuration:
stateTopic: zigbee2mqtt/Temp_Wohnzimmer
transformationPattern: JSONPATH:$.temperature
- id: hum_wohnzimmer
channelTypeUID: mqtt:string
label: Luftfeuchtigkeit Wohnzimmer
description: ""
configuration:
stateTopic: zigbee2mqtt/Temp_Wohnzimmer
transformationPattern: JSONPATH:$.humidity
Wo liegt mein Fehler?
In der Weboberfläche von zigbee2mqtt tauchen alle Sensoren auf.
Re: SNZB-02D - Temperatursensor
Verfasst: 10. Sep 2023 19:41
von Harka
Moin,
hast Du unter Settings/Other Add-ons/Transformation Add-ons/JSONPATH transformation installiert?
Ich habe die gleichen Sensoren. Zwar sind hier die Werte als Typ Number übernommen aber daran dürfte es nicht liegen (gerade getestet).
Re: SNZB-02D - Temperatursensor
Verfasst: 10. Sep 2023 20:38
von pbpromotion
ja das war mein Fehler.
Jetzt hab ich die Werte rausbekommen.
Den Batteriestand will er mir allerdings nicht anzeigen. Was muss ich da anders machen?
PS: Werden die Werte jetzt gespeichert und protokolliert?
Re: SNZB-02D - Temperatursensor
Verfasst: 10. Sep 2023 21:23
von Harka
Das sieht hier so aus:
Code: Alles auswählen
- id: Batterieladung_Sensor_Bad
channelTypeUID: mqtt:number
label: Batterieladung_Sensor_Bad
description: null
configuration:
stateTopic: zigbee2mqtt/MultiSensor_Bad
transformationPattern: JSONPATH:$.battery
Für die Auswertung brauchst du ein Persistence Services, z.b. rrd4j oder Influxdb. Schau mal am gleichen Ort ob bei dir was installiert ist.
Wenn ich das richtig sehe bist du mit Docker unterwegs womit ich mich nicht auskenne.
Re: SNZB-02D - Temperatursensor
Verfasst: 11. Sep 2023 06:46
von udo1toni
Welche Version von openHAB verwendest Du?
Grundsätzlich handelt es sich bei den Werten um Zahlen, es wäre also besser, Number als Channel zu verwenden.
Weiterhin: die Thing UID enthält bereits das Wort "wohnzimmer", entsprechend ist es eine unnötige Redundanz, dies nochmal im Channel zu verwenden. Die UID des Temp-Channels lautet z.B. mqtt:topic:16a7ce4469:sensor_wohnzimmer:temp_wohnzimmer. Unnötig...
Wenn Du einen Number Channel verwendest, kannst Du von UoM (Units of Measurement) profitieren. Dazu gibst Du zusätzlich noch den Parameter unit im Channel an
Code: Alles auswählen
UID: mqtt:topic:sensor_wohnzimmer
label: Sensor Wohnzimmer
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:16a7ce4469
channels:
- id: temp
channelTypeUID: mqtt:number
label: Temperatur Wohnzimmer
description: ""
configuration:
stateTopic: zigbee2mqtt/Temp_Wohnzimmer
transformationPattern: JSONPATH:$.temperature
unit: °C
- id: hum
channelTypeUID: mqtt:number
label: Luftfeuchtigkeit Wohnzimmer
description: ""
configuration:
stateTopic: zigbee2mqtt/Temp_Wohnzimmer
transformationPattern: JSONPATH:$.humidity
unit: %
- id: bat
channelTypeUID: mqtt:number
label: Batteriestand Wohnzimmer
description: ""
configuration:
stateTopic: zigbee2mqtt/Temp_Wohnzimmer
transformationPattern: JSONPATH:$.battery
unit: %
Die Items müssen dann natürlich auch vom Typ
Number:Temperature bzw.
Number:Dimensionless (für %) sein, weiterhin sollte ab OH4.0 unbedingt in den QuantityType Items der
unit Parameter passend gesetzt werden. unit im Item bestimmt unter anderem, wie der Wert in der Persistence gespeichert wird. Über das state Description Pattern (Metadaten) kann man zudem die Formatierung für die Anzeige setzen (z.B. auch die Temperatur in °F statt in °C, ohne weitere Umrechnung...)
Re: SNZB-02D - Temperatursensor
Verfasst: 11. Sep 2023 11:54
von pbpromotion
Harka hat geschrieben: ↑10. Sep 2023 21:23
Das sieht hier so aus:
Code: Alles auswählen
- id: Batterieladung_Sensor_Bad
channelTypeUID: mqtt:number
label: Batterieladung_Sensor_Bad
description: null
configuration:
stateTopic: zigbee2mqtt/MultiSensor_Bad
transformationPattern: JSONPATH:$.battery
Für die Auswertung brauchst du ein Persistence Services, z.b. rrd4j oder Influxdb. Schau mal am gleichen Ort ob bei dir was installiert ist.
Wenn ich das richtig sehe bist du mit Docker unterwegs womit ich mich nicht auskenne.
Ist installiert und aktiviert.
Muss man noch etwas konfigurieren?
Re: SNZB-02D - Temperatursensor
Verfasst: 11. Sep 2023 16:57
von Harka
Hi,
schau mal ob beim Persistence Service schon was vorbelegt ist. Dazu klickst Du den Service außerhalb vom "Remove"-Button an, dann das kleine Zahnrad und anschließend oben "Persistence configuration". Du solltest für Deine Items/Gruppen mindestens everyChange, everyMinute und restoreOnStartup haben. Wenn Du die influxDB nutzt brauchst Du natürlich noch einen extra Container mit der Datenbank, dessen Daten Du auch dort mit angeben musst.
Wichtig: Du braucht, wie von Udo ausführlich beschrieben, Channals und Items mit dem Typ Number. Strings werden glaube nicht gespeichert.
Re: SNZB-02D - Temperatursensor
Verfasst: 11. Sep 2023 22:23
von pbpromotion
Harka hat geschrieben: ↑11. Sep 2023 16:57
Hi,
schau mal ob beim Persistence Service schon was vorbelegt ist. Dazu klickst Du den Service außerhalb vom "Remove"-Button an, dann das kleine Zahnrad und anschließend oben "Persistence configuration". Du solltest für Deine Items/Gruppen mindestens everyChange, everyMinute und restoreOnStartup haben. Wenn Du die influxDB nutzt brauchst Du natürlich noch einen extra Container mit der Datenbank, dessen Daten Du auch dort mit angeben musst.
Wichtig: Du braucht, wie von Udo ausführlich beschrieben, Channals und Items mit dem Typ Number. Strings werden glaube nicht gespeichert.
OK das hatte ich natürlich noch nicht eingestellt
Habs jetzt so eingestellt. Ich hoffe das ist so richtig.
Code: Alles auswählen
configurations:
- items:
- Wohnung*
- Sensor_Bad_Batteriestand_Bad
- Sensor_Bad_Luftfeuchtigkeit_Bad
- Sensor_Bad_Temperatur_Bad
- Sensor_Fitness_Batteriestand_Fllur
- Sensor_Fitness_Luftfeuchtigkeit_Flur
- Sensor_Fitness_Temperatur_Flur
- Sensor_Schlafzimmer_Batteriestand_Schlafzimmer
- Sensor_Schlafzimmer_Luftfeuchtigkeit_Schlafzimmer
- Sensor_Schlafzimmer_Temperatur_Schlafzimmer
- Sensor_Wohnzimmer_Batteriestand_Wohnzimmer
- Sensor_Wohnzimmer_Luftfeuchtigkeit_Wohnzimmer
- Sensor_Wohnzimmer_Luftfeuchtigkeit_Wohnzimmer1
- Sensor_Wohnzimmer_Temperatur_Wohnzimmr
strategies:
- everyChange
- everyUpdate
- everyMinute
filters: []
cronStrategies:
- name: everyMinute
cronExpression: 0 * * ? * *
- name: everyHour
cronExpression: 0 0 * * * ?
- name: everyDay
cronExpression: 0 0 0 * * ?
defaultStrategies:
- everyChange
thresholdFilters: []
timeFilters: []
equalsFilters: []
includeFilters: []
Jetzt hab ich das Problem, dass die Formatierung nicht passt. Beim Batterielevel wird meist 1% angezeigt bei 100%. Auch bei der Luftfeuchtigkeit werden komische Dinge angezeigt. Luftfeuchtigkeit wird in der Standorte Übersicht mit 1% angegeben, wenn ich dann reinklicke steht da 57.500%, auch eine 0 zu viel.
mfg
Re: SNZB-02D - Temperatursensor
Verfasst: 12. Sep 2023 16:34
von Harka
Mmmh,
schau mal ob du Udos Hinweise auch alle umgesetzt hast.
Die Anzeige der Nachkommastellen kannst du anpassen in dem in der Modellansicht bei Metadata/stateDescription/Pattern %.1f %unit% eingetragen wird. Die 1 steht hier für die Anzahl der Nachkommastellen.
Re: SNZB-02D - Temperatursensor
Verfasst: 13. Sep 2023 20:47
von pbpromotion
Harka hat geschrieben: ↑12. Sep 2023 16:34
Mmmh,
schau mal ob du Udos Hinweise auch alle umgesetzt hast.
Die Anzeige der Nachkommastellen kannst du anpassen in dem in der Modellansicht bei Metadata/stateDescription/Pattern
%.1f %unit% eingetragen wird. Die 1 steht hier für die Anzahl der Nachkommastellen.
Ja das hab ich glaub ich alles gemacht.
Dieses Units of Measurement finde ich nirgends.
So sieht Schlafzimmer aus
Code: Alles auswählen
label: Luftfeuchtigkeit Schlafzimmer
type: Number:Dimensionless
category: humidity
groupNames:
- schlafzimmer
groupType: None
function: null
tags:
- Measurement
- Humidity
Gibts da nicht irgendwo eine Schritt für Schritt Anleitung?
Es kann doch eigentlich nicht so schwer sein.
Ich verbringe mittlerweile so viele Abende damit und ich komme einfach nicht weiter.
mfg