Mosquitto MQTT bringt Fehlermeldungen

Moderatoren: seppy, udo1toni

ElBombo1
Beiträge: 39
Registriert: 15. Jul 2019 11:17
Wohnort: Münster in Hessen

Re: Mosquitto MQTT bringt Fehlermeldungen

Beitrag von ElBombo1 »

Okay verstanden, kommt sofort.
Die fett geschriebenen sind die Topics also, die übergeordneten Ordner in MQTT Explorer (obere Zeile).

homeassistant/button/dtu_114184608750/turn_inverter_off

Code: Alles auswählen

{"name":"Turn Inverter Off","uniq_id":"114184608750_turn_inverter_off","ic":"mdi:power-plug-off","ent_cat":"config","cmd_t":"solar/114184608750/cmd/power","payload_press":"0","dev":{"name":"Balkonkraftwerk HM-800 Hütte","ids":"114184608750","cu":"http://192.168.1.52","mf":"OpenDTU","mdl":"HM-600/700/800-2T","sw":"v23.12.18","via_device":"openDTU-Bridge-D765A4_14116260"}}
homeassistant/button/dtu_114184608750/turn_inverter_on

Code: Alles auswählen

{"name":"Turn Inverter On","uniq_id":"114184608750_turn_inverter_on","ic":"mdi:power-plug","ent_cat":"config","cmd_t":"solar/114184608750/cmd/power","payload_press":"1","dev":{"name":"Balkonkraftwerk HM-800 Hütte","ids":"114184608750","cu":"http://192.168.1.52","mf":"OpenDTU","mdl":"HM-600/700/800-2T","sw":"v23.12.18","via_device":"openDTU-Bridge-D765A4_14116260"}}
homeassistant/button/dtu_114184608750/restart_inverter

Code: Alles auswählen

{"name":"Restart Inverter","uniq_id":"114184608750_restart_inverter","dev_cla":"restart","ent_cat":"config","cmd_t":"solar/114184608750/cmd/restart","payload_press":"1","dev":{"name":"Balkonkraftwerk HM-800 Hütte","ids":"114184608750","cu":"http://192.168.1.52","mf":"OpenDTU","mdl":"HM-600/700/800-2T","sw":"v23.12.18","via_device":"openDTU-Bridge-D765A4_14116260"}}
homeassistant/number/dtu_114184608750/limit_nonpersistent_relative

Code: Alles auswählen

{"name":"Limit NonPersistent Relative","uniq_id":"114184608750_limit_nonpersistent_relative","ic":"mdi:speedometer","ent_cat":"config","cmd_t":"solar/114184608750/cmd/limit_nonpersistent_relative","stat_t":"solar/114184608750/status/limit_relative","unit_of_meas":"%","min":0,"max":100,"dev":{"name":"Balkonkraftwerk HM-800 Hütte","ids":"114184608750","cu":"http://192.168.1.52","mf":"OpenDTU","mdl":"HM-600/700/800-2T","sw":"v23.12.18","via_device":"openDTU-Bridge-D765A4_14116260"}}
homeassistant/number/dtu_114184608750/limit_persistent_relative

Code: Alles auswählen

{"name":"Limit Persistent Relative","uniq_id":"114184608750_limit_persistent_relative","ic":"mdi:speedometer","ent_cat":"config","cmd_t":"solar/114184608750/cmd/limit_persistent_relative","stat_t":"solar/114184608750/status/limit_relative","unit_of_meas":"%","min":0,"max":100,"dev":{"name":"Balkonkraftwerk HM-800 Hütte","ids":"114184608750","cu":"http://192.168.1.52","mf":"OpenDTU","mdl":"HM-600/700/800-2T","sw":"v23.12.18","via_device":"openDTU-Bridge-D765A4_14116260"}}
homeassistant/number/dtu_114184608750/limit_nonpersistent_absolute

Code: Alles auswählen

{"name":"Limit NonPersistent Absolute","uniq_id":"114184608750_limit_nonpersistent_absolute","ic":"mdi:speedometer","ent_cat":"config","cmd_t":"solar/114184608750/cmd/limit_nonpersistent_absolute","stat_t":"solar/114184608750/status/limit_absolute","unit_of_meas":"W","min":0,"max":2250,"dev":{"name":"Balkonkraftwerk HM-800 Hütte","ids":"114184608750","cu":"http://192.168.1.52","mf":"OpenDTU","mdl":"HM-600/700/800-2T","sw":"v23.12.18","via_device":"openDTU-Bridge-D765A4_14116260"}}
homeassistant/number/dtu_114184608750/limit_persistent_absolute

Code: Alles auswählen

{"name":"Limit Persistent Absolute","uniq_id":"114184608750_limit_persistent_absolute","ic":"mdi:speedometer","ent_cat":"config","cmd_t":"solar/114184608750/cmd/limit_persistent_absolute","stat_t":"solar/114184608750/status/limit_absolute","unit_of_meas":"W","min":0,"max":2250,"dev":{"name":"Balkonkraftwerk HM-800 Hütte","ids":"114184608750","cu":"http://192.168.1.52","mf":"OpenDTU","mdl":"HM-600/700/800-2T","sw":"v23.12.18","via_device":"openDTU-Bridge-D765A4_14116260"}}
So, das sind die 7 Übeltäter. Hoffe nicht das ich jetzt irgendein copy paste Fehler hatte...

Gruß
Eloy

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

Re: Mosquitto MQTT bringt Fehlermeldungen

Beitrag von udo1toni »

Also, es gibt ein Topic solar/114184608750/cmd/power, über dass Du den Inverter aus- und einschalten kannst. Das wäre ein switch Channel. Es gibt ein weiteres Topic um den Inverter neu zu starten und vier Topics, um die Leistung zu berenzen, und zwar jeweils persistent oder nonpersistent (Also nach dem Neustart wieder auf altem Wert), jeweils absolut und relativ.
alles zusammen sieht als yaml so aus:

Code: Alles auswählen

UID: mqtt:topic:openDTU
label: Balkonkraftwerk HM-800 Hütte
thingTypeUID: mqtt:topic
configuration: {}
channels:
  - id: power
    channelTypeUID: mqtt:switch
    label: Power
    description: ""
    configuration:
      commandTopic: solar/114184608750/cmd/power
      off: "0"
      on: "1"
      stateTopic: solar/114184608750/status/power
  - id: restart
    channelTypeUID: mqtt:switch
    label: Restart Inverter
    description: ""
    configuration:
      commandTopic: solar/114184608750/cmd/restart
      off: "0"
      on: "1"
  - id: speedometer
    channelTypeUID: mqtt:number
    label: Limit NonPersistent Relative
    description: ""
    configuration:
      commandTopic: solar/114184608750/cmd/limit_nonpersistent_relative
      unit: "%"
      min: 0
      stateTopic: solar/114184608750/status/limit_relative
      max: 100
  - id: speedometer2
    channelTypeUID: mqtt:number
    label: Limit Persistent Relative
    description: ""
    configuration:
      commandTopic: solar/114184608750/cmd/limit_persistent_relative
      unit: "%"
      min: 0
      stateTopic: solar/114184608750/status/limit_relative
      max: 100
  - id: speedometer3
    channelTypeUID: mqtt:number
    label: imit NonPersistent Absolute
    description: ""
    configuration:
      commandTopic: solar/114184608750/cmd/limit_nonpersistent_absolute
      unit: W
      min: 0
      stateTopic: solar/114184608750/status/limit_absolute
      max: 2250
  - id: speedometer4
    channelTypeUID: mqtt:number
    label: Limit Persistent Absolute
    description: ""
    configuration:
      commandTopic: solar/114184608750/cmd/limit_persistent_absolute
      stateTopic: solar/114184608750/status/limit_absolute
      min: 0
      max: 2250
      unit: W
Wobei die Rückmeldung des Power Status geraten ist :) denn die ist in der Meldung nicht mit drin.
Keine Ahnung, ob Du das bestehende Thing erweitern kannst...
openHAB4.1.1 stable in einem Debian-Container (bookworm) (Proxmox 8.1.4, LXC), mit openHABian eingerichtet

ElBombo1
Beiträge: 39
Registriert: 15. Jul 2019 11:17
Wohnort: Münster in Hessen

Re: Mosquitto MQTT bringt Fehlermeldungen

Beitrag von ElBombo1 »

Guten Abend.

Hmm, ich weiß jetzt nicht genau was ich anstellen kann.
Habe mal versucht ein weiteres Topic im Thing anzulegen mit solar/114184608750/cmd/power. Sobald ich speichere geht aber das Thing Offline und mag nicht mehr. Der Pfad .../cmd/power existiert nicht wenn man mit MQTT Explorer schaut. Nach solar/114184608750/ kommt status und hier wiederum sind dann 3 topics enthalten, reachable = 0, producing = 0, last-update = 0.
Was ich auch nicht verstehe warum in YAML ein Switch steht und in der Fehlermeldung wird von Button gesprochen...

Ich habe mal den Code aus dem Thing rauskopiert, hier kann man die hinterlegten Topics ganz gut erkennen.

Code: Alles auswählen

UID: mqtt:homeassistant_114184608750:4941a429e7:114184608750
label: Hoymiles HM-800 Gartenhütte
thingTypeUID: mqtt:homeassistant_114184608750
configuration:
  topics:
    - binary_sensor/dtu_114184608750/producing
    - binary_sensor/dtu_114184608750/reachable
    - button/dtu_114184608750/restart_inverter
    - button/dtu_114184608750/turn_inverter_off
    - button/dtu_114184608750/turn_inverter_on
    - number/dtu_114184608750/limit_nonpersistent_absolute
    - number/dtu_114184608750/limit_nonpersistent_relative
    - number/dtu_114184608750/limit_persistent_absolute
    - number/dtu_114184608750/limit_persistent_relative
    - sensor/dtu_114184608750/ch0_Current
    - sensor/dtu_114184608750/ch0_Efficiency
    - sensor/dtu_114184608750/ch0_Frequency
    - sensor/dtu_114184608750/ch0_Power
    - sensor/dtu_114184608750/ch0_PowerDC
    - sensor/dtu_114184608750/ch0_PowerFactor
    - sensor/dtu_114184608750/ch0_ReactivePower
    - sensor/dtu_114184608750/ch0_Temperature
    - sensor/dtu_114184608750/ch0_Voltage
    - sensor/dtu_114184608750/ch0_YieldDay
    - sensor/dtu_114184608750/ch0_YieldTotal
    - sensor/dtu_114184608750/ch1_Current
    - sensor/dtu_114184608750/ch1_Irradiation
    - sensor/dtu_114184608750/ch1_Power
    - sensor/dtu_114184608750/ch1_Voltage
    - sensor/dtu_114184608750/ch1_YieldDay
    - sensor/dtu_114184608750/ch1_YieldTotal
    - sensor/dtu_114184608750/ch2_Current
    - sensor/dtu_114184608750/ch2_Irradiation
    - sensor/dtu_114184608750/ch2_Power
    - sensor/dtu_114184608750/ch2_Voltage
    - sensor/dtu_114184608750/ch2_YieldDay
    - sensor/dtu_114184608750/ch2_YieldTotal
  basetopic: homeassistant
bridgeUID: mqtt:broker:4941a429e7
location: Gartenhütte
Bringt uns das irgendwie weiter?

Achso und Status als Switch habe ich bisher keines entdeckt bei den angelegten Items. Habe mal versucht in diesem Thing Hoymiles HM-800 Gartenhütte einen weieren Channel anzulegen, ist jedoch daran gescheitert das er eine Zugehörigkeit zu einem bestehenden Channel haben wollte. Macht ja keinen Sinn wenn der Pfad/ Topic nicht angelegt wurde oder?

Verständnisfrage meinerseits. Wenn in den Untertopics wie du sie vorhin genannt hast, ganz unten steht "via_device": "openDTU-Bridge-D765A4_14116260", dann heißt das doch, das via diesem Device, meiner openDTU, die Daten weitergeleitet werden richtig?

Gruß
Eloy

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

Re: Mosquitto MQTT bringt Fehlermeldungen

Beitrag von udo1toni »

mqtt Kommunikation ist grundsätzlich gerichtet. Außerdem kann ein Topic retained sein oder nicht (retain bedeutet, der Broker speichert die Payload iin einer internen Datenbank. Wann immer nun ein Client dieses Topic abonniert, erhält er sofort Antwort vom Broker. das ist aber nur bei einem teil der Topics sinnvoll.
Aus den beiden Punkten von oben ergibt sich, dass im MQTT Explorer gewöhnlich nur ein Teil der Topics sichtbar ist, die verwendet werden können, dies sind vornehmlich die Topics, auf denen openHAB den Zustand eines Device erfahren kann, nicht aber die Topics, mit denen das Device gesteuert werden kann, denn auf denen hört das Device nur zu.

Die drei Status Topics machen mir erst mal keine Sorgen, denn es kann gut sein, dass das Device nur bei Bedarf auf den zugehörigen Status Topics etwas sendet.

Wenn Du die Topics nicht im vorhandenen Thing anlegen kannst, mach es testweise mal mit einem generic Thing und schau, was passiert, kaputt gehen kann da nichts.
openHAB4.1.1 stable in einem Debian-Container (bookworm) (Proxmox 8.1.4, LXC), mit openHABian eingerichtet

ElBombo1
Beiträge: 39
Registriert: 15. Jul 2019 11:17
Wohnort: Münster in Hessen

Re: Mosquitto MQTT bringt Fehlermeldungen

Beitrag von ElBombo1 »

mqtt Kommunikation ist grundsätzlich gerichtet. Außerdem kann ein Topic retained sein oder nicht (retain bedeutet, der Broker speichert die Payload iin einer internen Datenbank. Wann immer nun ein Client dieses Topic abonniert, erhält er sofort Antwort vom Broker. das ist aber nur bei einem teil der Topics sinnvoll.
Aus den beiden Punkten von oben ergibt sich, dass im MQTT Explorer gewöhnlich nur ein Teil der Topics sichtbar ist, die verwendet werden können, dies sind vornehmlich die Topics, auf denen openHAB den Zustand eines Device erfahren kann, nicht aber die Topics, mit denen das Device gesteuert werden kann, denn auf denen hört das Device nur zu.
Danke für die Erläuterung, hilft mir auf jeden Fall für die Zukunft!
Die drei Status Topics machen mir erst mal keine Sorgen, denn es kann gut sein, dass das Device nur bei Bedarf auf den zugehörigen Status Topics etwas sendet.
Das ist das was ich auch vorher in ähnlicher Form vermutet hatte. Kommt nur bei Bedarf...
Wenn Du die Topics nicht im vorhandenen Thing anlegen kannst, mach es testweise mal mit einem generic Thing und schau, was passiert, kaputt gehen kann da nichts.
Habe ich jetzt gemacht. Habe ein Generic MQTT Thing angelegt und ich denke mal das ich es richtig konfiguriert habe (anhand von MQTT Explorer). Ging dann ONLINE, aber sobald ich den Channel anlege (mit Inhalt aus MQTT Explorer --> config) geht das Thing OFFLINE und nixx geht.
Habe das gleiche auch mit Homeassistant MQTT Component Thing probiert, also praktisch von dem einen in den neuen kopiert, kommt die gleiche Meldung im log das entweder NUMBER oder BUTTON unsuportet sind. Habe sowohl die drei Buttons als auch die 4 Numbers "kopiert", gleiches Resultat.
Das mit dem Button, heißt es in Homeassistant so oder woher kommt der Begriff Button? openHAB hat doch gar keinen Button wir verwenden den Switch dafür, oder?

Ich glaube wie schon erwähnt, ich schicke das Teil zurück, da stimmt etwas nicht.

Gruß
Eloy

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

Re: Mosquitto MQTT bringt Fehlermeldungen

Beitrag von udo1toni »

Nein, das ist schon alles in Ordnung (oder jedenfalls sind die von Dir beschriebenen Probleme kein Zeichen einer Fehlfunktion, sondern allenfalls einer Fehlkonfiguration)
Ja, Button kommt von HomeAssistant. Da diese Software am weitesten verbreitet ist, kann sie auch an mancher Stelle Fakten schaffen - und im Falle der Autodiscovery kann openHAB recht einfach nutznießen. Ein Button in HomeAssistant ist ein Knopf, den man drücken kann (also ein Taster). Entsprechend braucht es zwei Buttons, um ein Device gezielt ein- und auszuschalten. In openHAB gibt es nur Switches, ein Switch kann aber durchaus ausschließlich den Befehl ON (oder OFF) senden, auch mehrfach hintereinander. Man kann also einen Switch exakt wie einen Button verwenden (z.B. im Falle des Reset Topics) und man kann sogar in der UI eine Schaltfläche statt des Schiebeschalters darstellen lassen.
openHAB4.1.1 stable in einem Debian-Container (bookworm) (Proxmox 8.1.4, LXC), mit openHABian eingerichtet

ElBombo1
Beiträge: 39
Registriert: 15. Jul 2019 11:17
Wohnort: Münster in Hessen

Re: Mosquitto MQTT bringt Fehlermeldungen

Beitrag von ElBombo1 »

So, da bin ich wieder. War einiges los am WE.
Nein, das ist schon alles in Ordnung (oder jedenfalls sind die von Dir beschriebenen Probleme kein Zeichen einer Fehlfunktion, sondern allenfalls einer Fehlkonfiguration)
Leider glaube ich auch eher an letzteres...
Ja, Button kommt von HomeAssistant. Da diese Software am weitesten verbreitet ist, kann sie auch an mancher Stelle Fakten schaffen - und im Falle der Autodiscovery kann openHAB recht einfach nutznießen. Ein Button in HomeAssistant ist ein Knopf, den man drücken kann (also ein Taster). Entsprechend braucht es zwei Buttons, um ein Device gezielt ein- und auszuschalten. In openHAB gibt es nur Switches, ein Switch kann aber durchaus ausschließlich den Befehl ON (oder OFF) senden, auch mehrfach hintereinander. Man kann also einen Switch exakt wie einen Button verwenden (z.B. im Falle des Reset Topics) und man kann sogar in der UI eine Schaltfläche statt des Schiebeschalters darstellen lassen.
Das ist für mein Verständnis schon wieder einmal ein Fortschritt, Danke!

Antworten