Anbindung and ebusd mit modul 98_GAEBUS.pm

Begonnen von jamesgo, 14 September 2015, 10:18:17

Vorheriges Thema - Nächstes Thema

jamesgo

Hallo Frederik,
ich versuche das mal zu implementieren.

Ich hatte auch mal einen Raumregler an meiner Heizung angeschlossen und versucht das Protokoll zu entschlüsseln. Das Thema habe ich aber sehr schnell aufgegeben, da es für diese Regelungstelegramme ziemlich enge Timeouts gibt. D.h. es gab sofort Fehlermedungen an der Heizung wenn die Verbindung mal kurz unterbrochen war oder ich versucht habe was zu schicken was der bai nicht gefallen hat.

Aber Versuch macht kluch ;-)

Grüße
Andy

freetz

Ja, aber damit habe ich zumindest etwas Erfahrung von meinem BSB-LAN Projekt, ein Unterprotokoll (PPS) erwartet da innerhalb von Millisekunden eine Antwort vom Raumgerät, bei SetMode sind es zum Glück "nur" 10 Sekunden ;). Aber mal schauen, wichtiger ist als erster Schritt das Auswerten der Werte, die das Raumgerät jetzt als Soll-VL-Temps schickt...

Dank' Dir und VG, F.
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

jamesgo

Hi Frederik,

versuch mal die Version aus dem Anhang. Dort sind jetzt auch die "u" Meldungen berücksichtigt.
(wobei bei mir nur ein paar aktuelle Werte liefern).

Grüße
Andy

freetz

Wow, danke, das ging ja fix! Leider kann ich das Ganze wohl erst in ein paar Wochen testen, denn die Heizung ist in meiner Zweitwohnung, wo ich arbeite und ich komme seit ein paar Tagen aus der Ferne nicht mehr auf den Raspi :(, und die 150km fahre ich dann im Urlaub doch eher ungern ;). Vielleicht kriege ich meinen Nachbarn irgendwie dazu, Router und Raspi neu zu starten, dann klappt es hoffentlich früher, trotzdem auf jeden Fall schon mal ein großes Dankeschön für die schnelle Umsetzung!
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

freetz

Hallo Andy,

tut mir leid für die lange Verzögerung, aber nach dem Urlaub war ich dann noch krank und bin erst jetzt wieder mal in der Wohnung gewesen. Habe auch gleich Deine neue Version ausprobiert und bekomme er ruft auch nun find -f -r -w -p ab, was bei mir zumindest auf der Kommandozeile auch den Parameter "SetMode" abruft. Leider erscheint er dann aber trotzdem nicht in der Auswahlliste, wenn ich get reading aufrufen will.
Im ebusd.log erscheint aber in regelmäßigen Abständen
2019-05-16 11:55:33.577 [update notice] received update-write bai SetMode QQ=10: auto;0.0;-;-;1;0;1;0;0;0

Muss ich noch etwas Anderes konfigurieren, was ich vergessen haben könnte?

Dank' Dir auf jeden Fall noch mal für den Einsatz und VG,

F.
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

freetz

Sorry, Kommando zurück, jetzt erscheinen bei "get" noch ein paar mehr Einträge, u.a. auch "u-bai", damit kann ich dann auch "SetMode" über "get" abfragen. Das Hinzufügen als Attribut über attr hat dann auch geklappt und ich bekomme nun für "SetMode" in den Readings auch das Ergenis "auto" angezeigt, was dem ersten der Semikolon-Werte entspricht. Da muss ich dann also nur noch die anderen Werte rausziehen, aber das sollte ich hinkriegen ;)...

Vielen Dank noch mal, wirklich! Wirst Du die neue Version dann auch auf dem Repository einspielen, so dass sie mir bei einem Update nicht zerschossen wird?

VG, F.
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

freetz

Hm, jetzt muss ich doch noch mal fragen: Ich habe es zwar initial hinbekommen, dass mir die erweiterten Parameter in der DropDown-Liste bei "get" angezeigt werden, aber nachdem ich FHEM ein paar Mal neu gestartet hatte, bleibt es bei den vier Einträgen ebus_find, ebus_hex, ebus_info und reading. Bei reading werden mir dann auch nur die  Parameter ohne u~... angezeigt. Erst wenn ich wieder ein ebus_find manuell initiiere, erweitert sich die DropDown Liste bei "get" wieder und ich kann z.B. u-bai-SetMode abrufen. Auch der Abfrageintervall (bei mir 300 Sekunden) ändert nichts daran. Kann man das irgendwie automatisieren oder muss ich das selber nach einem Neustart aufrufen?

Ich habe leider auch noch nicht ganz verstanden, wie das mit dem Extrahieren mehrerer Parameter aus einem Rückgabewert funktioniert. Ich habe für die folgende Ausgabe von get SetMode:
bai SetMode hcmode=auto;flowtempdesired=90.0;hwctempdesired=-;hwcflowtempdesired=-;disablehc=0;disablehwctapping=0;disablehwcload=1;remoteControlHcPump=0;releaseBackup=0;releaseCooling=0
das folgende Attribut angelegt:
u~bai~SetMode
bai-HcMode;bai-FlowTempDesired2;bai-HwcTempDesired;bai-HwcFlowTempDesired;bai-DisableHc;bai-DisableHwcTapping;bai-DisableHwcLoad;bai-RemoteControlHcPump;bai-ReleaseBackup;bai-ReleaseCooling

Es werden dabei allerdings nur zwei Readings angelegt (HcMode und FlowTempDesired2) und diese wurden zwar initial einmal befüllt, aber seitdem ändern sich die Werte nicht, weder nach einem get SetMode noch nach einem ebus_find.
Was sollte ich dafür tun, damit das passiert?

Vielen Dank schon einmal und VG,

F.
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

jamesgo

Hallo Freetz,

das mit dem "ebusd_find" ist so richtig. Nach dem Neustart musst du es starten um die aktuellen Werte vom ebusd zu bekommen.
Werte die mit "set" über das Attribut zu einem reading führen benötigen das ebusd_find nicht. Alles was notwendig ist wir im Attribut gespeichert.

Um ein reading zu aktualisieren musst du "get reading ..." ausführen. Die Werte von SetMode werden sich aber nicht so oft ändern.

Ich habe dein Attribut bei mir angelegt und für jeden Wert ein reading bekommen.

Viele Grüße
Andy

freetz

Hallo Andy,

so hatte ich es auch verstanden, dass für die Aktualisierung der Readings das Anlegen eines Attributs reicht, und für die normalen "r"-Readings klappt das mit der Aktualisierung auch. Über SetMode wird ja aber auch die Vorlaufsolltemperatur übermittelt, die gleichzeitig auch vom Raumgerät über das Attribut r~350~ActualRoomTempDesiredHc1 reinkommt. Trotzdem wird das von SetMode abgeleitete Reading nicht aktualisiert, obwohl eine Abfrage über get den aktualisierten Wert zeigt. Die Werteveränderungen habe ich dadurch hervorgerufen, dass ich die Solltemperatur hoch und runter setze und in den zehnsekündlichen SetMode-Telegrammen spiegelt sich das auch im ebusd.log wider.

Hier ein Ausschnitt aus meiner fhem.cfg, die SetMode betreffen:

attr Vaillant u~bai~SetMode bai-HcMode;;bai-FlowTempDesired2;;bai-HwcTempDesired;;bai-HwcFlowTempDesired;;bai-DisableHc;;bai-DisableHwcTapping;;bai-DisableHwcLoad;;bai-RemoteControlHcPump;;bai-ReleaseBackup;;bai-ReleaseCooling

attr Vaillant userattr r~350~ActualRoomTempDesiredHc1 r~350~CirPump r~350~Date r~350~DisplayedHc1RoomTempDesired r~350~DisplayedHwcStorageTemp r~350~DisplayedRoomTemp r~350~GlobalSystemOff r~350~Hc1ActualFlowTempDesired r~350~Hc1AutoOffMode r~350~Hc1DayTemp r~350~Hc1HeatCurve r~350~Hc1ManualOPRoomTempDesired r~350~Hc1MinimalFlowTempDesired r~350~Hc1NightTemp r~350~Hc1OPMode r~350~Hc1Pump r~350~Hc1PumpLast24started r~350~Hc1QuickVetoActive r~350~Hc1QuickVetoTemp r~350~Hc1RoomTempSwitchOn r~350~Hc1SFMode r~350~Hc1SummerOffset r~350~HwcActualTempDesired r~350~HwcCircuitActive r~350~HwcOPMode r~350~HwcQuickVetoActive r~350~HwcQuickVetoTemp r~350~HwcTempDesired r~350~IsInHoliday r~350~OutsideTemp r~350~RaumtempIstUnten r~350~RoomTemp r~350~Time r~bai~AATemp r~bai~AITemp r~bai~BlockTimeHcMax r~bai~CirPump r~bai~DCRoomthermostat r~bai~DeltaFlowReturnMax r~bai~Flame r~bai~FlowSetPotmeter r~bai~FlowTemp r~bai~FlowTempDesired r~bai~FlowsetHcMax r~bai~FlowsetHwcMax r~bai~HcHours r~bai~HcPumpMode r~bai~HcPumpStarts r~bai~HcStarts r~bai~HeatingSwitch r~bai~PrEnergyCountHc1 r~bai~PrEnergySumHc1 r~bai~PumpHours r~bai~ReturnRegulation r~bai~ReturnTemp r~bai~ReturnTempMax r~bai~Statenumber r~bai~Status01 r~bai~Status02 r~bai~WaterPressure u~bai~SetMode w~350~Hc1DayTemp w~350~Hc1NightTemp w~350~Hc1OPMode w~bai~FlowsetHcMax


Als Reading werden aber nur die ersten beiden Werte angelegt (bai-HcMode und bai-FlowTempDesired2), die anderen (ab bai-HwcTempDesired) erscheinen nicht. Irgendwas muss ich da doch noch falsch machen, oder?

Ansonsten ist mir noch aufgefallen, dass folgender Fehler auftritt, wenn ich über das Webinterface den attr-Befehl in der ersten Zeile des obigen Ausschnitts absenden will:
jquery.min.js line 2:
Error: Syntax error, unrecognized expression: a[name=u~bai~SetMode]

Das Attribut wird aber trotzdem wie oben der fhem.cfg entnommen abgespeichert. Nur zur Info, falls das irgendwie doch relevant sein sollte...
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

jamesgo

Erscheinen die doppelten semikolons beim attr auch im GUI?

Gesendet von meinem BTV-DL09 mit Tapatalk


freetz

Nein, ich habe sie als einfache Semikola eingetragen, das ist jetzt der Auszug aus der Raw Definition. Die Doppelungen kommen aber auch bei anderen Devices vor und hatte ich schon mal nachgeschlagen, hat wohl was mit der Interpretation über Perl zu tun. Wenn ich die Semikola in der fhem.cfg auf eins kürze, verschwinden sie im Webinterface gänzlich.
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

jamesgo

bei mir sieht das so aus:

Zitat
attr ebus1 u~bai~SetMode xbai-HcMode;;xbai-FlowTempDesired2;;xbai-HwcTempDesired;;xbai-HwcFlowTempDesired;;xbai-DisableHc;;xbai-DisableHwcTapping;;xbai-DisableHwcLoad;;xbai-RemoteControlHcPump;;xbai-ReleaseBackup;;xbai-ReleaseCooling

und die readings siehe Bild.

Wo bekommst du die Fehlermeldung? Als Popup oder im fhem logfile?

jamesgo

und ein "get Vaillant u~bai SetMode~Betriebsart" liefert sowas?


Zitatbai SetMode hcmode=auto;flowtempdesired=0.0;hwctempdesired=53.0;hwcflowtempdesired=-;disablehc=1;disablehwctapping=0;disablehwcload=0;remoteControlHcPump=0;releaseBackup=0;releaseCooling=0

freetz

Die zitierte Fehlermeldung kommt im Webinterface; im Log erscheint nichts dazu. Sie kommt auch schon in dem Moment, wo ich u~bai~Setmode im Dropdown auswähle, noch vor dem Speichern.

Ich habe jetzt mal Deinen attr-String in die attr-Befehlszeile kopiert und nur den Devicenamen ausgetauscht und die Semikola reduziert. Vorher den alten attr Eintrag gelöscht und set u~bai SetMode~Betriebsart ausgeführt, damit u~bai~SetMode wieder in der DropDown-Liste von attr auftaucht. Den neuen attr Eintrag gespeichert, FHEM config gespeichert, shutdown restart, ebusd find, aber die Einträge erscheinen nicht in den Readings. Die bisher vorhandenen, aber nicht aktualisierenden Readings bai-HcMode und bai-FlowTempDesired2 sind aus den Readings verschwunden. Polling ist auf 30 Sekunden gesetzt und die anderen Werte aktualisieren sich auch. In userattr taucht nur u~bai~SetMode auf, müssen da auch die zustäzlichen Readings manuell hinzugefügt werden?
Macht es Sinn, den Debug-Level zu erhöhen, um da noch weitere Informationen für die Fehlersuche zu bekommen?

Danke und VG, F.
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan

freetz

...ein get u~bai SetMode~Betriebsart meldet im Moment das hier:
bai SetMode hcmode=auto;flowtempdesired=0.0;hwctempdesired=-;hwcflowtempdesired=-;disablehc=1;disablehwctapping=0;disablehwcload=1;remoteControlHcPump=0;releaseBackup=0;releaseCooling=0
Also so, wie in einem der vorherigen Posts beschrieben, nur halt jetzt mit Temperatur 0 und nicht 90...
Alle Infos zur Anbindung von Heizungssystemen mit PPS-, LPB- bzw. BSB-Bus ans LAN gibt es hier:
https://github.com/fredlcore/bsb_lan

Alle Infos zum WLAN-Interface "Robotan" für Ambrogio/Stiga/Wolf und baugleiche Rasenmähroboter:
https://github.com/fredlcore/robotan