SNZB-02D - Temperatursensor

Geflasht oder ungeflasht ...

Moderatoren: Cyrelian, udo1toni

pbpromotion
Beiträge: 28
Registriert: 4. Sep 2023 21:30
Answers: 0

SNZB-02D - Temperatursensor

Beitrag 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
Bild
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.

Harka
Beiträge: 308
Registriert: 30. Apr 2021 13:13
Answers: 15

Re: SNZB-02D - Temperatursensor

Beitrag 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).

pbpromotion
Beiträge: 28
Registriert: 4. Sep 2023 21:30
Answers: 0

Re: SNZB-02D - Temperatursensor

Beitrag 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?

Harka
Beiträge: 308
Registriert: 30. Apr 2021 13:13
Answers: 15

Re: SNZB-02D - Temperatursensor

Beitrag 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.

Benutzeravatar
udo1toni
Beiträge: 13986
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: SNZB-02D - Temperatursensor

Beitrag 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...)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

pbpromotion
Beiträge: 28
Registriert: 4. Sep 2023 21:30
Answers: 0

Re: SNZB-02D - Temperatursensor

Beitrag 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?

Harka
Beiträge: 308
Registriert: 30. Apr 2021 13:13
Answers: 15

Re: SNZB-02D - Temperatursensor

Beitrag 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.

pbpromotion
Beiträge: 28
Registriert: 4. Sep 2023 21:30
Answers: 0

Re: SNZB-02D - Temperatursensor

Beitrag 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

Harka
Beiträge: 308
Registriert: 30. Apr 2021 13:13
Answers: 15

Re: SNZB-02D - Temperatursensor

Beitrag 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.

pbpromotion
Beiträge: 28
Registriert: 4. Sep 2023 21:30
Answers: 0

Re: SNZB-02D - Temperatursensor

Beitrag 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

Antworten