eBUS Adapter 3.0 Inbetriebnahme

Begonnen von Reinhart, 25 Januar 2021, 09:00:45

Vorheriges Thema - Nächstes Thema

moe_054

Hallo zusammen,

ich wusste nicht ob ich jetzt einen eigenen Thread aufmachen soll oder ob es Euch lieber ist alles unter "Inbetriebnahme" zu haben.

Erst einmal Danke für den großartigen Adapter 3! Es hat alles sehr gut funktioniert und der Adapter läuft bzw. es kommen Daten von der Heizung an.
Ich habe folgende Installation: Debian 11, Installation über das Debian-Repository.

Nun wollte ich mit MQTT anfangen (das ist alles Neuland für mich). Ich habe im log-file von ebusD folgenden Fehler:
2021-11-22 14:40:31.481 [mqtt error] invalid mosquitto version 2 instead of 1
2021-11-22 14:40:31.482 [main error] error registering data handlers

Hier https://github.com/john30/ebusd/issues/443 sehe ich, dass John demnächst auch ein Update für das Debian-Repository machen wird (https://github.com/john30/ebusd/releases/tag/v21.3).
Soweit scheint der Fehler ,,gelöst" zu sein, wenn ich alles richtig verstanden habe.

Ich warte einfach auf das Update.

Jetzt habe ich aber noch eine blöde Frage (als ebus-Adapter und MQTT Neuling):

Ich habe den MQTT Broker auf einer eigenen virtuellen Maschine mit Debian. Muss ich jetzt auf der Debian-Maschine auf der ebusD läuft noch irgendwas installieren, wenn ich die Version von ebusD mit MQTT Unterstützung installiert habe? Braucht es da noch was um von der ebusD-Maschine auf den Broker zu publishen? Oder ist das in der eBusD Installation alles drin?

Vielen Dank für Eure Hilfe.
vg, Bernd

rellla


TomLee

Zitat von: moe_054 am 23 November 2021, 08:02:26
Jetzt habe ich aber noch eine blöde Frage (als ebus-Adapter und MQTT Neuling):

Ich habe den MQTT Broker auf einer eigenen virtuellen Maschine mit Debian. Muss ich jetzt auf der Debian-Maschine auf der ebusD läuft noch irgendwas installieren, wenn ich die Version von ebusD mit MQTT Unterstützung installiert habe? Braucht es da noch was um von der ebusD-Maschine auf den Broker zu publishen? Oder ist das in der eBusD Installation alles drin?

Vielen Dank für Eure Hilfe.
vg, Bernd

Bin der Meinung in diesem Wiki-Beitrag werden dir diese Fragen beantwortet.

Arek

Zitat von: Reinhart am 22 November 2021, 11:55:03
also ich verstehe jetzt nicht genau wo das Problem ist, kannst du das näher erklären?

{'eBusSet.sollcurve'=>'Hc1HeatCurve_curve_value:uzsuDropDown,0.20,0.30,0.35,0.70,0.90,1.00,1.10,1.20,1.30,1.40,1.50,1.60,1.70',␤'eBusSet.sollwater'=>'HwcTempDesired_temp1_value:uzsuDropDown,50.0,51.0,52.0,53.0,54.0,55.0,56.0,57.0,58.0,59.0,60.0'}

wenn ich den uzsuDropdown so definiere (alles mit 2 Nachkommastellen) dann kann ich die doch auswählen und auch der Variablen "sollcurve" ordentlich übergeben.

<>,<Name>,<&nbsp;Ist>,<&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Soll>
MQTT2_ebusd_430:<%message_tendency_steady>,<Heizkurve>,Hc1HeatCurve_curve_value,<sollcurve>
MQTT2_ebusd_430:<%sani_water_hot>,<Warmwasser>,HwcTempDesired_temp1_value,<sollwater>


oder per setlist so wie im letzten Bild:
state:0.20,0.30,0.35,0.40,0.50,0.60,0.70,0.80,0.90,1.00,1.10,1.20,1.30,1.40,1.50,1.60,1.70

Hier siehst du auch das dieser Wert ordentlich abgesetzt wurde. Der linke Wert ist der ausgelesene Istwert.

LG

Wenn man direkt die Heizkurve abfragt:
ebusctl read -V Hc1HeatCurve
bekommt man:
720 Hc1HeatCurve =0.45 [heating curve of Hc1]

Das ist auch völlig richtig, allerdings ist das Reading in fhem 0.4, und nicht 0.45.
Ich habe auch folgendes versucht:

attr stateFormat {sprintf("Heizkurve: %.2f", ReadingsVal($name,"Heizkurve",0))}

Das funktioniert auch nicht, die zweite Kommastelle fehlt einfach im Reading. Das Set funktioniert einwandfrei, auch mit zweiter Nachkommastelle.

DS_Starter

Hallo zusammen,

habe meinen Adapter schon etwas Zeit in Betrieb und läuft prima. Die FHEM Integration über MQTT wird immer intensiver/besser.

Eine Abfrage geht bei mir nicht. Betrifft "PrEnergySumHc1".
Über "ebusctl find -V" sehe ich:


bai PrEnergySumHc1 =  (ERR: invalid position for ff08b509030df400 / 020000) [ZZ=08, lastup=2021-11-27 22:37:50, active read]


Kann es sein, dass in der aktuellen CSV (in welcher eigentlich?) speziell für diesen Wert ein Fehler vorliegt ?
Der Aufbau und die Abhängigkeiten voneinander (was wann geladen / benutzt wird) sind mir noch nicht klar. Zu diesem Detail komme ich sicherlich erst später wenn ich soweit fortgeschritten bin dass es ans eingemachte gehen kann.
Für Tipps wie man sich am Besten dieses Wissen dazu aneignet, wäre ich auch dankbar.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Reinhart

was wann geladen wird ist ganz einfach, der Dämon scannt ja beim Start alle Adressen durch und findet so die Geräte mit HW, PROD und SW am eBus.

Hier ein Beispiel der 08.bai.csv, je nachdem was da gefunden wurde, wird das entsprechende CSV File dann nachgeladen, dort sind dann die Definitionen hinterlegt. Ganz unten siehst du dann bei welcher Hardware welches CSV (inc) dann geladen wird, somit werden die verschiedenen Geräte und Definitionen unterschieden und die CSV kombiniert.
Bei den PrEnergySumHc1 ist es leider so, dass nicht alle Geräte die wirklich liefern, mein Heizgerät gibt da auch nix zurück. Warum das so ist, weiß vermutlich nur der Hersteller oder es ist schlicht bei bestimmten Typen nicht vorgesehen. Bei deiner "invalid position" sieht es allerdings so aus, dass bei deiner Hardware die Definition im CSV nicht exakt übereinstimmt.

# type (r[1-9];w;u),circuit,name,[comment],[QQ]
#,BAI00,generic file for all BAI types,,
*[PROD],scan,id,,product
*[HW],scan,,,HW
[PROD='0010002315';'0010002316';'0010002317']!load,bai.0010002315.inc,,,
[PROD='0010003958';'0010003959';'0010003960';'0010003961';'0010003962';'0010003963';'0010003964';'0010003965';'0010003966';'0010003967';'0010003968';'0010003969';'0010003970';'0010003971';'0010003972';'0010003973';'0010003974';'0010003975';'0010003976';'0010003977';'0010003991';'0010004015';'0010004016']!load,bai.0010002465.inc,,,
[PROD='0010003857';'0010003858';'0010003860';'0010003861';'0010003862';'0010003863';'0010003864';'0010003865';'0010003869';'0010003872';'0010003874';'0010003875';'0010003876';'0010003877';'0010003878';'0010003881';'0010009340';'0010009341';'0010009342';'0010009343';'0010009344';'0010009345';'0010009346';'0010009347';'0010009348';'0010009349';'0010009350']!load,bai.0010003857.inc,,,
[PROD='0010003882';'0010003883';'0010003886';'0010003887';'0010009351';'0010009352';'167']!load,bai.0010003886.inc,,,
[PROD='0010004110';'0010004111';'0010004112';'0010004113';'0010004114';'0010004121';'0010004122';'0010004123';'0010004124';'0010004125';'209']!load,bai.0010004121.inc,,,
[PROD='0010004126';'0010004127';'0010010384']!load,bai.0010004150.inc,,,
[PROD='0010005400';'0010005401';'0010005402';'0010005403';'0010005404';'0010005405';'0010005406';'0010005407';'0010005408';'0010005409']!load,bai.0010005400.inc,,,
[PROD='0010006080';'0010006081';'0010006082';'0010006083';'0010006084';'0010006085';'0010006086';'0010006087';'0010006088';'0010006089';'0010006090';'0010006091';'0010006092';'0010006093';'0010006094';'0010006095';'0010006096';'0010006097';'0010006098';'0010006099';'0010006100';'0010006101';'0010006102';'0010006103';'0010006104';'0010006105';'0010006106';'0010006107';'0010006108';'0010006109';'0010006110';'0010006111';'0010006112';'0010006113';'0010006114';'0010006115';'0010006118';'0010006119';'0010006120';'0010006121';'0010006122';'0010006123';'0010006126';'0010006127';'0010006129';'0010006130';'0010006131';'0010006134';'0010006135';'0010006136';'0010006137';'0010006138';'0010006139';'0010006140';'0010006141';'188';'BAI__';'']!load,bai.0010006101.inc,,,
[PROD='0010006341']!load,bai.0010006341.inc,,,
[PROD='0010007508';'0010007510';'0010007512';'0010007514';'0010007516';'0010007518';'0010007520';'0010007522';'0010007524';'0010007526';'0010007688';'0010007692';'0010007696';'0010007700';'0010007704']!load,bai.0010007508.inc,,,
[PROD='0010010674';'0010010676';'0010010678';'207']!load,bai.0010010674.inc,,,
[PROD='0010014629';'0010014630';'0010014631';'0010014632';'0010014633';'0010015596';'0010015597';'0010015598';'0010015599';'0010015600';'0010015601';'0010015602';'0010015603';'0010015604';'0010015605';'0010015606';'0010015607';'0010015608';'0010015609';'0010015610';'0010015611';'0010015612';'0010015613';'0010015614']!load,bai.0010015600.inc,,,
[PROD='0020066007';'187']!load,bai.0020066007.inc,,,
[PROD='0010004276';'0010004277';'0010004279';'0010004280';'0010004281';'0010004282';'0010004283';'0010004285';'0010004286';'0010004288';'0010004289';'0010004290';'0010004291';'0010004292';'0010004336';'0010004337';'0010004338';'0010004339';'0010004340';'0010005466';'0010005467';'0010005468';'0010005469';'0010010392';'0010010393';'0010010394';'0010010400';'0020051714';'0020051715';'0020051716';'0020051717';'174']!load,bai.308523.inc,,,
#fallbacks:,,,,
[HW=6701]!load,bai.0010003886.inc,,,
[HW=0902]!load,bai.0010004121.inc,,,
[HW=8801]!load,bai.0010006101.inc,,,
[HW=0702]!load,bai.0010010674.inc,,,
[HW=9602]!load,bai.0010015600.inc,,,
[HW=8701]!load,bai.0020066007.inc,,,
[HW=7401]!load,bai.308523.inc,,,
!load,bai.308523.inc,,,
!include,hcmode.inc,,,


LG
Reinhart
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

moe_054

Danke für die Erklärung!!!

Lässt sich der deutsche Kommentar in den .csv-File (z.B via MQTT) auch irgendwie verwenden? Oder schaut man einfach ins csv-File um dann die Übersetzung quasi für sich zu kennen?

DS_Starter

#352
Danke Reinhart !,

Wenn ich es richtig verstanden habe wird z.B. bei einem erkannten PROD (Produktcode ??) von

'0010002315' oder '0010002316' oder '0010002317' die bai.0010002315.inc Datei

geladen.
Wird die Hardware

    6701

erkannt, wird zusätzlich die bai.0010003886.inc geladen, richtig ?

ZitatBei deiner "invalid position" sieht es allerdings so aus, dass bei deiner Hardware die Definition im CSV nicht exakt übereinstimmt.
Wie könnte ich denn vorgehen um dieses Problem zu lösen ? Ich weiß, die Frage ist evtl. etwas verfrüht weil ich mich mit den tiefen Internas des eBus noch nicht eingehend beschäftigt habe.
Aber vllt. kannst du eine kleine "Roadmap" dafür skizzieren.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

rob

Zitat von: john30 am 06 November 2021, 10:06:14
dazu hilft auch "ebusctl grab result decode", was für alle gegrabbten unknown für jeden Datentyp und jede mögliche und im Resultat gültige Position den dekodierten Wert ausgibt, z.B. so:
Sorry, dass ich wieder frage: ich habe es leider nicht verstanden (habe auch im Wiki geschaut).

Wenn ich obigen Befehl eingebe, kommt:

root@512bb76debe5:/# ebusctl grab result decode
grab disabled


Also starte ich mit:

root@512bb76debe5:/# ebusctl grab     
grab started


... und dann nochmals

root@512bb76debe5:/# ebusctl grab result decode
done


Mehr als done kommt bei mir anscheinend nicht. Wie mach ich das richtig?

Vielen Dank und beste Grüße
rob

john30

Zitat von: rob am 02 Dezember 2021, 08:09:00
... und dann nochmals

root@512bb76debe5:/# ebusctl grab result decode
done


Mehr als done kommt bei mir anscheinend nicht. Wie mach ich das richtig?
nach dem grab start muss man natürlich warten, bis nicht dekodierte Nachrichten auftauchen, das passiert ja nicht sofort
author of ebusd

MassiveAttack

hallo!

würde gerne von v21.2 auf v21.3 updaten, wie kann man das am einfachsten machen?
warum werden die neuen csv's nicht automatisch (ohne update) geladen?

lG

john30

Zitat von: MassiveAttack am 15 Dezember 2021, 08:32:26
würde gerne von v21.2 auf v21.3 updaten, wie kann man das am einfachsten machen?
warum werden die neuen csv's nicht automatisch (ohne update) geladen?
wenn das repo eingerichtet ist, dann apt-get update && apt-get upgrade.
z.B. weil es ein reload Kommando dafür gibt
author of ebusd

bumaas

Zitat von: Arek am 23 November 2021, 11:40:07
Wenn man direkt die Heizkurve abfragt:
ebusctl read -V Hc1HeatCurve
bekommt man:
720 Hc1HeatCurve =0.45 [heating curve of Hc1]

Das ist auch völlig richtig, allerdings ist das Reading in fhem 0.4, und nicht 0.45.

Ich habe genau das gleiche Problem, allerdings nicht in FHEM, sondern in Ip-Symcon. Das setzen der Hc1HeatCurve über MQTT funktioniert in 0.05er Schritten tadellos. Wird er sofort danach wieder gelesen, dann ist er ebenfalls in 0.05er Schritten. Aber kurze Zeit später ist er dann plötzlich auf 0.1er Schritte gerundet.

In Debug des MQTT Brokers von Symcon sieht es so aus:


TXT: 24.02.2021, 11:14:46 | MQTT:TX:PUBLISH (Forward) | TXT: 24.02.2021, 11:14:49 |      MQTT:TX:PUBLISH | Topic: ebusd/700/Hc1HeatCurve/get, Payload:
TXT: 24.02.2021, 11:14:49 |      MQTT:TX:PUBLISH | Sending to ebusd_3.4_20027 (192.168.178.100:36934)
TXT: 24.02.2021, 11:14:50 |            BUFFER IN | 0@<NUL><SYN>ebusd/700/Hc1HeatCurve{<LF>     "0": {"name": "", "value": 0.65}}
TXT: 24.02.2021, 11:14:50 |      MQTT:RX:PUBLISH | Topic: ebusd/700/Hc1HeatCurve, Payload: {<LF>     "0": {"name": "", "value": 0.65}}
TXT: 24.02.2021, 11:14:50 |            BUFFER IN | 0�<STX><NUL><DC2>ebusd/bai/Status01{<LF>     "0": {"name": "temp1", "value": 29.0},<LF>     "1": {"name": "temp1", "value": 27.5},<LF>     "2": {"name": "temp2", "value": 15.562},<LF>     "3": {"name": "temp1", "value": null},<LF>     "4": {"name": "temp1", "value": 61.0},<LF>     "5": {"name": "pumpstate", "value": "off"}}0?<NUL><SYN>ebusd/700/Hc1HeatCurve{<LF>     "0": {"name": "", "value": 0.6}}
TXT: 24.02.2021, 11:14:50 |      MQTT:RX:PUBLISH | Topic: ebusd/bai/Status01, Payload: {<LF>     "0": {"name": "temp1", "value": 29.0},<LF>     "1": {"name": "temp1", "value": 27.5},<LF>     "2": {"name": "temp2", "value": 15.562},<LF>     "3": {"name": "temp1", "value": null},<LF>     "4": {"name": "temp1", "value": 61.0},<LF>     "5": {"name": "pumpstate", "value": "off"}}
TXT: 24.02.2021, 11:14:50 |      MQTT:RX:PUBLISH | Topic: ebusd/700/Hc1HeatCurve, Payload: {<LF>     "0": {"name": "", "value": 0.6}}
TXT: 24.02.2021, 11:14:54 |            BUFFER IN | 0�<ETX><NUL><DC1>ebusd/bai/SetMode{<LF>     "hcmode": {"value": "auto"},<LF>     "flowtempdesired": {"value": 29.5},<LF>     "hwctempdesired": {"value": null},<LF>     "hwcflowtempdesired": {"value": null},<LF>     "disablehc": {"value": 0},<LF>     "disablehwctapping": {"value": 0},<LF>     "disablehwcload": {"value": 0},<LF>     "remoteControlHcPump": {"value": 0},<LF>     "releaseBackup": {"value": 0},<LF>     "releaseCooling": {"value": 0}}
TXT: 24.02.2021, 11:14:54 |      MQTT:RX:PUBLISH | Topic: ebusd/bai/SetMode, Payload: {<LF>     "hcmode": {"value": "auto"},<LF>     "flowtempdesired": {"value": 29.5},<LF>     "hwctempdesired": {"value": null},<LF>     "hwcflowtempdesired": {"value": null},<LF>     "disablehc": {"value": 0},<LF>     "disablehwctapping": {"value": 0},<LF>     "disablehwcload": {"value": 0},<LF>     "remoteControlHcPump": {"value": 0},<LF>     "releaseBackup": {"value": 0},<LF>     "releaseCooling": {"value": 0}}
TXT: 24.02.2021, 11:14:54 |            BUFFER IN | 0?<NUL><SYN>ebusd/700/Hc1HeatCurve{<LF>     "0": {"name": "", "value": 0.6}}
TXT: 24.02.2021, 11:14:54 |      MQTT:RX:PUBLISH | Topic: ebusd/700/Hc1HeatCurve, Payload: {<LF>     "0": {"name": "", "value": 0.6}}
TXT: 24.02.2021, 11:14:58 |            BUFFER IN | 0<EM><NUL><DC3>ebusd/global/uptime2384
TXT: 24.02.2021, 11:14:58 |      MQTT:RX:PUBLISH | Topic: ebusd/global/uptime, Payload: 2384


Vielleicht hat ja noch jemand eine Idee.

Burkhard

z1marco

Leider komme ich mit der Inbetriebnahme des eBUS Adapter 3.0 nicht weiter.

Ich nutze den Adapter auf dem Raspberry PI 4. Ich hab den zwar als Netzwerkversion gekauft mich aber dann umentschieden und eine Sockelleiste aufgelötet und die Jumper umgestellt. Die Umkonfiguration im RPI habe ich auch wie in der Anleitung vorgenommen.
Die grüne LED blink auch und es scheinen eBUS Signale vorhanden zu sein. Ich hatte auch vor Jahren mal einen anderen Adapter am Ebus am laufen. Insofern sollte die Verbindung zur Heizung passen.

Ich starte zum Test den Ebus wie folgt:

ebusd -f --loglevel=debug -d enh:/dev/ttyAMA0 -l /var/log/ebusd.log --scanconfig --latency=20000 --address=ff --readonly --accesslevel=*

Leider wird kein Signal erkannt und die Ausgabe von ebusctl info lautet wie folgt:

ebusctl info
version: ebusd 21.3.v21.3
device: /dev/ttyAMA0, enhanced, readonly
access: *
signal: no signal
reconnects: 0
masters: 0
messages: 11
conditional: 0
poll: 0
update: 4


Der Jumper auf dem Adapter steht auf Enhanced Mode wie in der Auslieferung.

Ich bin nun mit meinem Latein am Ende. Wie kann ich hier den Fehler weiter eingrenzen.

Ich danke Euch schonmal für Eure Mühe. Ich hab auch den ganzen Thread gelesen aber keinen Anhaltspunkt für Fehlereingrenzung erhalten.

Wolle02

Lass mal das --readonly weg. Das hat bei mir am Anfang auch zu Problemen geführt.