ahoy icon indicating copy to clipboard operation
ahoy copied to clipboard

MQTT benötige Hilfestellung bei Home Assistant with MQTT Broker

Open rmayergfx opened this issue 10 months ago • 7 comments

In den alten Versionen von AhoyDTU war das Topic bei MQTT so aufgebaut, das im Channel0 die Infos zur FW etc einzeln abgefragt werden konnten:

state_topic: ".../ch0/FWBuildYear" .../ch0/FWVersion"

In den aktuellen Versionen findet man diese Daten unter .../firmware in diesem Format: firmware = {"version":10010,"build_year":"2021","build_month_day":1101,"build_hour_min":842,"bootloader":104}

Wie kann ich nun diese einzelnen Auflistungen wieder in HA einbetten?

rmayergfx avatar Apr 16 '24 16:04 rmayergfx

Indem Du dein HA auf JSON-Payload umstellst.

knickohr avatar Apr 17 '24 16:04 knickohr

@knickohr Verstehe nicht ganz was du meinst. HA läuft im Docker und auch MQTT (eclipse-mosquitto). Es wird alles automatisch eingelesen, ich habe nichts geändert.

rmayergfx avatar Apr 17 '24 17:04 rmayergfx

Du hast nichts geändert, aber es ändern sich hin und wieder Dinge im Ahoy. Dieses automatische Discovery wird halt gerne vergessen anzupassen 😉

knickohr avatar Apr 17 '24 17:04 knickohr

kann man sich das nicht manuell reinholen? Ist das eine so dringende Information?

lumapu avatar Apr 17 '24 20:04 lumapu

Wenn ich wüsste wie ich das manuell einpflegen kann dann gerne. Mein Problem ist, das die Topics umgestellt wurden und ich finde zu dem ganzen Thema auch nicht wirklich eine Anleitung, was wann wo und wie in den verschiedenen Versionen bei MQTT umgestellt oder geändert wurde. Das ist problematisch, wenn ich Werte abfrage und diese plötzlich nicht mehr so erreichbar sind wie ursprünglich eingepflegt. Am Beispiel: .../ch0/FWVersion" Hier wurde die FWVersion des WR unter Channel0 mit Topic FWVersion ausgelesen, es gab nur einen Wert. Das war relativ einfach in einem mqtt.yaml umsetzbar:

  • name: "TSUN M800 FWVersion" unique_id: 0tsunm800ch0FWVersion state_topic: "M800/TSUN_M800/ch0/FWVersion" unit_of_measurement: '' icon: mdi:symbol

Nun liegt das aber unter M800/TSUN_M800/firmware { "version": 10010, "build_year": "2021", "build_month_day": 1101, "build_hour_min": 842, "bootloader": 104 }

Und somit muss alles umgebaut werden. Denn es hat sich sowohl der Name FWVersion >> firmware als auch der Pfad und die Formatierung geändert.

Mir würde hier schon ein Beispiel für die Abfrage genügen, die man ein die mqtt.yaml passend eintragen kann, das ganze scheint ja JSON formatiert zu sein.

rmayergfx avatar Apr 18 '24 09:04 rmayergfx

Für alle die an dieser Stelle auch ein Problem haben, hier der Auszug aus einer mqtt.yaml die funktioniert:

 - name: "TSUN M800 Firmware"
   unique_id:  0tsunm800fw   
   state_topic: "M800/TSUN_M800/firmware"
   value_template: '{{ value_json.version }}'
   json_attributes_topic: "M800/TSUN_M800/firmware"
   json_attributes_template: '{{ value_json | tojson }}'
   icon: mdi:information
   
 - name: "TSUN M800 Firmware Year"
   unique_id:  0tsunm800fwyear   
   state_topic: "M800/TSUN_M800/firmware"
   value_template: '{{ value_json.build_year }}'
   json_attributes_topic: "M800/TSUN_M800/firmware"
   json_attributes_template: '{{ value_json | tojson }}'
   icon: mdi:information   

rmayergfx avatar Apr 18 '24 10:04 rmayergfx

@rmayergfx - vielen Dank für das mqtt.yaml - Beispiel. Ich konnte das erfolgreich in meinem HA umsetzten. Wieder was dazugelernt....

andewo avatar May 12 '24 11:05 andewo