Seite 1 von 1

ebusd/mqtt mit Adapter v3

Verfasst: 28. Aug 2025 09:04
von mgwb
Hallo,
Bei einem Umzug von OH 4.3.5 auf einen neuen Server B möchte ich ebusd auf mqtt umstellen. mqtt und ebusd laufen auf Sever A. mqtt läuft bereits und erhält Daten von Sensoren eines ESP32 die erfolgreich in OH angezeigt werden.

ebusd wird gestartet mit

Code: Alles auswählen

EBUSD_OPTS="--scanconfig -d ens:/dev/ttyAMA0 -p 8888 --latency=50 --enablehex --
access=*i --httpport=8888 --mqtthost=192.168.178.38 --mqttport=1883 --mqttjson -
-mqttretain --mqtttopic=ebusd/%circuit/%name"
Ein generic MQTT Thing für ebusd mit Channel für HwcTemp ist angelegt und wird "online" angezeigt.

Code: Alles auswählen

UID: mqtt:topic:5e2bdaf524:cbcd96c9f6
label: ebusd
thingTypeUID: mqtt:topic
configuration:
  transformationPattern:
    - ""
  availabilityTopic: ebusd/global/running
  payloadAvailable: "true"
bridgeUID: mqtt:broker:5e2bdaf524
location: Keller
channels:
  - id: mqtt_hwctemp
    channelTypeUID: mqtt:number
    label: mqtt_hwctemp
    description: ""
    configuration:
      retained: true
      unit: °C
      qos: 1
      formatBeforePublish: "%.2f"
      step: 0.01
      stateTopic: ebusd/ehp/HwcTemp
      transformationPattern:
        - JSONPATH:$.temp.value
Anbei auch noch ein Screenshot vom MQTT Explorer.

Bin dankbar für Hinweise weshalb HwcTemp nicht in Channel angezeigt wird.
Vielen Dank,
Martin

Re: ebusd/mqtt mit Adapter v3

Verfasst: 28. Aug 2025 09:17
von Tokamak
Erklären kann ich dir das leider nicht.

Ich nutze das ähnlich wie du, aber nicht --mqttjson. Viele Werte lassen sich dann MQTT-seitig dann einfacher extrahieren.
Vor allem das Schreiben ist dann einfacher.

Bei mir sieht HwcTemp so aus:
Screenshot 2025-08-28 091057.jpg
Ausgelesen wird das dann mittels

Code: Alles auswählen

REGEX:(.*);.*

Re: ebusd/mqtt mit Adapter v3

Verfasst: 28. Aug 2025 09:41
von mgwb
@Tokamak, vielen Dank, geht ja einfacher als gedacht.

Re: ebusd/mqtt mit Adapter v3

Verfasst: 28. Aug 2025 11:43
von mgwb
... und was mache ich falsch wenn ich die erste Uhrzeit von ebusd/hwc/Time_Monday auslesen will?
Bildschirmfoto vom 2025-08-28 11-39-51.png
Das sollte doch mit dem gleichen REGEX:(.*);.* funktionieren - oder?

Code: Alles auswählen

  - id: mqtt_hwc_start
    channelTypeUID: mqtt:datetime
    label: mqtt_hwc_start
    description: ""
    configuration:
      retained: true
      qos: 0
      stateTopic: ebusd/hwc/Timer_Monday
      transformationPattern:
        - REGEX:(.*);.*

Re: ebusd/mqtt mit Adapter v3

Verfasst: 28. Aug 2025 14:02
von mgwb
channelTypeUID muss mqtt:string sein, damit klappt es!