Tasmota mit Temperatursensoren in CCU-Jack einbinden

Der CCU-Jack als REST- und MQTT-Schnittstelle für die CCU und virtuelle Geräte für das IoT

Moderator: Co-Administratoren

Wichtelmann007
Beiträge: 222
Registriert: 26.02.2013, 21:11
Hat sich bedankt: 39 Mal

Tasmota mit Temperatursensoren in CCU-Jack einbinden

Beitrag von Wichtelmann007 » 28.10.2023, 10:17

Ich versuche mich gerade mit der Übernahme von Temperaturen (4xDS18B20 an einem tasmota) in meine RaspberryMatic.
Ich habe
-MQTT auf dem Tasmota eingerichtet
-im CCU-Jack ein Virtuells Gerät mit 4x MQTT Analogwertempfänger eingerichtet
-das virtuelle Gerät in der RM eingebunden

Nun komme ich mit den Daten der Sensoren nicht weiter. Diese zeigen ihre Werte im Explorer wie folgt:

Code: Alles auswählen

{"Time":"2023-10-28T09:01:21","DS18B20-1":{"Id":"082211090FEB","Temperature":37.2},"DS18B20-2":{"Id":"0822112C8A94","Temperature":37.9},"DS18B20-3":{"Id":"3DE1D4432441","Temperature":42.0},"DS18B20-4":{"Id":"3DE1D443E76C","Temperature":39.6},"TempUnit":"C"} 
Welche parameter muss ich nun in der RM bei dem virtuellen Gerät für die 4 Kanäle eingeben?
-ANALOG_INPUT_TRANSMITTER|TOPIC
-ANALOG_INPUT_TRANSMITTER|PATTERN

Mathias
Beiträge: 1796
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 262 Mal
Kontaktdaten:

Re: Tasmota mit Temperatursensoren in CCU-Jack einbinden

Beitrag von Mathias » 28.10.2023, 19:54

Das TOPIC wird im MQTT-Explorer bei der Nachricht mit angegeben. EXTRACTOR auf TEMPLATE stellen. REGEXP_GROUP ist egal.

PATTERN für 1. Sensor:

Code: Alles auswählen

{{ index (parseJSON .) "DS18B20-1" "Temperature" }}
PATTERN für 2. Sensor:

Code: Alles auswählen

{{ index (parseJSON .) "DS18B20-2" "Temperature" }}
usw.

Hinweis: Nach dem Speichern stellt die CCU das obige PATTERN wie folgt dar:

Code: Alles auswählen

{{ index (parseJSON .) "DS18B20-1" "Temperature" }} 
Die CCU mag keine " und schreibt diese lieber als " Das ist aber dasselbe.

Wichtelmann007
Beiträge: 222
Registriert: 26.02.2013, 21:11
Hat sich bedankt: 39 Mal

Re: Tasmota mit Temperatursensoren in CCU-Jack einbinden

Beitrag von Wichtelmann007 » 28.10.2023, 20:49

Hey danke :D
Aber leider habe ich wohl noch irgendwo einen Fehler drin...
Kannst Du das anhand meienr Angaben ggf erkennen? :roll:

Code: Alles auswählen

{"Time":"2023-10-28T19:47:21","DS18B20-1":{"Id":"082211090FEB","Temperature":44.8},"DS18B20-2":{"Id":"0822112C8A94","Temperature":47.9},"DS18B20-3":{"Id":"3DE1D4432441","Temperature":53.0},"DS18B20-4":{"Id":"3DE1D443E76C","Temperature":46.4},"TempUnit":"C"}
Dateianhänge
Bildschirmfoto vom 2023-10-28 20-48-04.png
Bildschirmfoto vom 2023-10-28 20-45-11.png

Benutzeravatar
Henke
Beiträge: 1526
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 141 Mal
Danksagung erhalten: 306 Mal

Re: Tasmota mit Temperatursensoren in CCU-Jack einbinden

Beitrag von Henke » 28.10.2023, 21:06

Code: Alles auswählen

{{(parseJSON .).DS18B20-1.Temperature}}

Wichtelmann007
Beiträge: 222
Registriert: 26.02.2013, 21:11
Hat sich bedankt: 39 Mal

Re: Tasmota mit Temperatursensoren in CCU-Jack einbinden

Beitrag von Wichtelmann007 » 28.10.2023, 21:12

hm...
Ob ich irgendwo sonst nen Fehler habe?
Am MGTT-Explorer kanns aber nicht liegen? Die Werte werden dort regelmäßig vom Tasmota aktualisiert.

Auch mit Deiner Hilfe wills noch nicht funktionieren :(
Dateianhänge
Bildschirmfoto vom 2023-10-28 21-11-45.png

Benutzeravatar
Henke
Beiträge: 1526
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 141 Mal
Danksagung erhalten: 306 Mal

Re: Tasmota mit Temperatursensoren in CCU-Jack einbinden

Beitrag von Henke » 28.10.2023, 21:20

Vielleicht bringt ihn noch da "-1" aus dem Takt.
Keine Ahnung, ob das durch " zu umgehen ist:

Code: Alles auswählen

{{(parseJSON .)."DS18B20-1".Temperature}}

Wichtelmann007
Beiträge: 222
Registriert: 26.02.2013, 21:11
Hat sich bedankt: 39 Mal

Re: Tasmota mit Temperatursensoren in CCU-Jack einbinden

Beitrag von Wichtelmann007 » 28.10.2023, 21:22

Henke hat geschrieben:
28.10.2023, 21:20
Vielleicht bringt ihn noch da "-1" aus dem Takt.
Keine Ahnung, ob das durch " zu umgehen ist:

Code: Alles auswählen

{{(parseJSON .)."DS18B20-1".Temperature}}
Könnte man etwas mit der ID anfangen?
"Id":"082211090FEB"

Benutzeravatar
Henke
Beiträge: 1526
Registriert: 27.06.2022, 20:51
System: CCU
Hat sich bedankt: 141 Mal
Danksagung erhalten: 306 Mal

Re: Tasmota mit Temperatursensoren in CCU-Jack einbinden

Beitrag von Henke » 28.10.2023, 21:32

Wichtelmann007 hat geschrieben:
28.10.2023, 21:22
Könnte man etwas mit der ID anfangen?
Nein

Etwas formatiert sieht das JSON so aus:

Code: Alles auswählen

{
  "Time": "2023-10-28T19:47:21",
  "DS18B20-1": {
    "Id": "082211090FEB",
    "Temperature": 44.8
  },
  "DS18B20-2": {
    "Id": "0822112C8A94",
    "Temperature": 47.9
  },
  "DS18B20-3": {
    "Id": "3DE1D4432441",
    "Temperature": 53.0
  },
  "DS18B20-4": {
    "Id": "3DE1D443E76C",
    "Temperature": 46.4
  },
  "TempUnit": "C"
}
Reduziert auf die interessanten Teile:

Code: Alles auswählen

{
  "DS18B20-1": {
    "Temperature": 44.8
  },
  "DS18B20-2": {
    "Temperature": 47.9
  },
  "DS18B20-3": {
    "Temperature": 53.0
  },
  "DS18B20-4": {
    "Temperature": 46.4
  }
}
Unter Javascript wäre der Zugriff theoretisch:

Code: Alles auswählen

xx.DS18B20-1.Temperature
Das hat aber auch Probleme mit dem -, daher:

Code: Alles auswählen

xx["DS18B20-1"].Temperature

Mathias
Beiträge: 1796
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 262 Mal
Kontaktdaten:

Re: Tasmota mit Temperatursensoren in CCU-Jack einbinden

Beitrag von Mathias » 29.10.2023, 10:51

So wie ich das TEMPLATE angegeben habe, funktionert es. Ich habe es getestet. Du musst nur noch den ersten Satz beherzigen und das TOPIC eintragen.

Die Dokumentation zum TEMPLATE-Syntax ist hier und hier zu finden. Der zweite Link ist leider etwas mehr für Programmierer. Es handelt sich nicht um Java-Script.

Also:

Code: Alles auswählen

index (parseJSON .) "DS18B20-1" "Temperature" -> funktioniert
(parseJSON .)."DS18B20-1".Temperature -> funktioniert nicht
(parseJSON .)."DS18B20-1".Temperature -> funktioniert nicht
(parseJSON .).["DS18B20-1"].Temperature -> funktioniert nicht

volbuss
Beiträge: 99
Registriert: 07.03.2016, 10:19
Hat sich bedankt: 1 Mal
Danksagung erhalten: 9 Mal

Re: Tasmota mit Temperatursensoren in CCU-Jack einbinden

Beitrag von volbuss » 29.10.2023, 11:10

Vielleicht hilft das weiter (kopiert aus meiner Test-RaspberryMatic):
2023-10-29.png
(TEMPERATURE_TOPIC) tele/tasmota_DD4518/SENSOR
(TEMPERATURE_PATTERN) "Temperature":
volbuss

Antworten

Zurück zu „CCU-Jack“