ebus Binding mit adapter v5 und ebusd

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

renek74
Beiträge: 62
Registriert: 26. Nov 2020 08:00
Answers: 0

Re: ebus Binding mit adapter v5 und ebusd

Beitrag von renek74 »

ich wollte versuchen der Wärmepumpe einen Sollwert für die Modulation vorzugeben. SMA und Vaillant sind ja nicht in der Lage den Puffer bei genügend PV Überschuss zu überladen. Geht schon seit letztem Jahr so...

Tokamak
Beiträge: 169
Registriert: 20. Aug 2019 08:37
Answers: 4
Wohnort: Aachen

Re: ebus Binding mit adapter v5 und ebusd

Beitrag von Tokamak »

Unter https://github.com/john30/ebusd-configu ... e/vaillant findest du die Konfigurationsdateien, die durch ebusctl i ausgegeben werden, etwa 08.hmu.csv.
Dort kannst du nach den gewünschten Parametern suchen
Produktiv: Proxmox mit OH 3.4 und HABApp im LXC-Container
Entwicklung: Proxmox mit OH 4.1 und HABApp im LXC-Container

Tokamak
Beiträge: 169
Registriert: 20. Aug 2019 08:37
Answers: 4
Wohnort: Aachen

Re: ebus Binding mit adapter v5 und ebusd

Beitrag von Tokamak »

Modulation sagt mir nichts. Ich könnte bei PC-Überschuss maximal Warmwasser produzieren. Sonst habe ich keinen Puffer
Produktiv: Proxmox mit OH 3.4 und HABApp im LXC-Container
Entwicklung: Proxmox mit OH 4.1 und HABApp im LXC-Container

salexes
Beiträge: 10
Registriert: 6. Jun 2021 14:44
Answers: 0

Re: ebus Binding mit adapter v5 und ebusd

Beitrag von salexes »

Hi, ich habe da ein Frage bzgl. des MQTT und ebusd

Ich habe jetzt alles perfekt eingerichtet. Werte werden gelesen und ich kann auch Werte setzen. Das einzige was nicht klappt ist, das die Werte sich nie aktualisieren von alleine.

So sieht z.B. meine Konfiguration aus:

Code: Alles auswählen

UID: mqtt:topic:ebusd:WaterPressure
label: Heizung Wasserdruck
thingTypeUID: mqtt:topic
configuration: {}
bridgeUID: mqtt:broker:ebusd
channels:
  - id: state
    channelTypeUID: mqtt:string
    label: WaterPressure State
    description: null
    configuration:
      stateTopic: ebusd/bai/WaterPressure
Was übersehe ich hier?

Ich weiß das laut ebusd Wiki wenn man ein /get dahinter setzt quasi force updated.

mosquitto_pub -n -t ebusd/bai/WaterPressure/get

Als ich aber versucht habe das state topic auf ebusd/bai/WaterPressure/get zu setzen hat es nicht mehr funktioniert.

Kann mir jemand sagen was ich falsch mache bzw. wie ich es richtig machen muss?

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

Re: ebus Binding mit adapter v5 und ebusd

Beitrag von udo1toni »

:) Nichts. mqtt ist ein push-Protokoll, das heißt, das Device muss aktiv melden, wenn es eine Änderung des Wertes gibt.

Du erwartest mutmaßlich, ab openHAB Start einen Wert zu sehen, da ist aber keiner, weil das Device eben keinen Wert meldet (weil sich der Wert nicht geändert hat).
  • Je nach Device könntest Du dafür sorgen, dass das Gerät den aktuellen Wert zyklisch sendet.
  • Eventuell kannst Du im Device eine Option setzen, dass der Wert RETAINED gesendet werden soll. Dann speichert mosquitto den Wert im eigenen Speicher, und sobald openHAB das Topic abonniert, bekommt es den zuletzt empfangenen Wert
  • Du sendest beim Start von openHAB über eine Rule den get-Befehl, woraufhin das Device antwortet.
Eine mögliche Rule:

Code: Alles auswählen

rule "System gestartet"
when
    System started
then
    val mqttActions = getActions("mqtt","mqtt:broker:ebusd")
    mqttActions.publishMQTT("ebusd/bai/WaterPressure/get","", false)
end
Die Rule zündet einmalig beim Systemstart.
Natürlich kannst Du die Rule auch zyklisch auslösen, ich gehe aber davon aus, dass das Device sehr wohl auch von sich aus Statusänderungen senden wird, nur halt keine Updates ohne Änderung des aktuellen Wertes.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Tokamak
Beiträge: 169
Registriert: 20. Aug 2019 08:37
Answers: 4
Wohnort: Aachen

Re: ebus Binding mit adapter v5 und ebusd

Beitrag von Tokamak »

salexes hat geschrieben: 19. Mär 2024 19:20 Ich weiß das laut ebusd Wiki wenn man ein /get dahinter setzt quasi force updated.

mosquitto_pub -n -t ebusd/bai/WaterPressure/get

Als ich aber versucht habe das state topic auf ebusd/bai/WaterPressure/get zu setzen hat es nicht mehr funktioniert.
Dein Problem ist, dass ebusd/bai/WaterPressure/get ein Command ist, du es also als commandTopic setzen musst.

Bei mir sieht das für den Kompressor so aus:

Code: Alles auswählen

Thing mqtt:topic:waermepumpe "Wärmepumpe" (mqtt:broker:bridge) {
Channels:
	Type switch: Comp "Status Kompressor" [ stateTopic= "ebusd/ehp/Comp", on= "on", off= "off" ]
	Type switch: CompGet [ commandTopic= "ebusd/ehp/Comp/get" ]
}
Wenn du dann ein ON auf das passende - hier CompGet zugeordnete - Switchitem sendest, erhältst du den aktuellen Statuswert über das andere - hier Comp zugeordnete - Switchitem zurück
Produktiv: Proxmox mit OH 3.4 und HABApp im LXC-Container
Entwicklung: Proxmox mit OH 4.1 und HABApp im LXC-Container

Antworten