eBUS Adapter 3.0 Inbetriebnahme

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

Vorheriges Thema - Nächstes Thema

Scooby

Zitat von: Reinhart am 17 März 2021, 10:03:37
ich habe gestern noch den (WIFI) Fehler von Mitch in Scooby nachstellen können und wir analysieren gerade woher das kommt.
Der USB/RPI Betrieb funktioniert und ist davon nicht betroffen.
John ist allerdings auswärts und kann erst am Wochenende genauer drüber schauen, bitte um etwas Geduld!

LG
Reinhart

Kurze Meldung: habe mein Problem gelöst.
Ich wollte mal mit Ehernet testen und beim Jumper-umstellen fiel mir auf, daß J1 und J4 beide auf "USB" standen, anstatt RPI.
Ich hatte vor Inbetriebnahme nicht kontrolliert (hatte blind vertraut bei meiner WiFi Version).

Hauptsache es läuft nun:
$ ebusctl i
version: ebusd 21.2.p20210315
access: *
signal: acquired
symbol rate: 26
max symbol rate: 106
min arbitration micros: 4
max arbitration micros: 68
min symbol latency: 9
max symbol latency: 29
reconnects: 0
masters: 3
messages: 559
conditional: 20
poll: 0
update: 10
address 03: master #11
address 04: slave #25, ebusd
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0703;HW=7401", loaded "vaillant/bai.0010006101.inc" ([PROD='']), "vaillant/08.bai.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=43000;SW=0215;HW=2002", loaded "vaillant/15.430.csv"
address 50: slave, scanned "MF=Vaillant;ID=V6100;SW=0211;HW=1902", loaded "vaillant/50.v61.mc.csv"
address ff: master #25, ebusd


Vielen Dank noch mal an alle die geholfen haben !

Scooby

Zitat von: Reinhart am 16 März 2021, 12:17:24
Du musst dir also einen Timer definieren, der zB: alle 10 Minuten die Messwerte holt die du wünschst. Du kannst auch mehrere Timer definieren, die dann als Beispiel nur 2x täglich Werte abholen, wie Wasserdruck oder Zählerstände etc. Die wenigen Messdaten die jetzt schon kommen sind Broadcasts, die kommen auch ohne Timer!

define EBUS.MQTT at +*00:10:00 set ebusMQTT publish ebusd/430/Hc1HeatCurve/get;;\
set ebusMQTT publish ebusd/430/HwcTempDesired/get;;\
set ebusMQTT publish ebusd/bai/WaterPressure/get;;\
set ebusMQTT publish ebusd/bai/FlowTemp/get;;\
set ebusMQTT publish ebusd/bai/ReturnTemp/get;;\
set ebusMQTT publish ebusd/bai/FanSpeed/get;;\
set ebusMQTT publish ebusd/bai/WPPWMPower/get;;\
set ebusMQTT publish ebusd/bai/Status02/get;;\
set ebusMQTT publish ebusd/bai/HcHours/get;;\
set ebusMQTT publish ebusd/bai/HwcStarts/get

Muster einer zeitgesteuerten Abfrage, die alle 10 Minuten Daten abholt.

Hi, ich brauche bitte noch etwas Hilfe zu diesem Thema:
ebusd schmeisst immer Fehler wenn ich versuche den Timer anzulegen:

$ ebusctl
localhost: define EBUS.MQTT at +*00:10:00 set ebusMQTT publish ebusd/430/Hc1HeatCurve/get;;\
set ebusMQTT publish ebusd/430/HwcTempDesired/get;;\
set ebusMQTT publish ebusd/bai/WaterPressure/get;;\
set ebusMQTT publish ebusd/bai/FlowTemp/get;;\
usage: define [-r] DEFINITION
Define a new message.
  -r          replace an already existing definition
  DEFINITION  message definition to add

localhost: set ebusMQTT publish ebusd/bai/ReturnTemp/get;;\
ERR: command not found

localhost: set ebusMQTT publish ebusd/bai/FanSpeed/get;;\
set ebusMQTT publish ebusd/bai/WPPWMPower/get;;\
set ebusMQTT publish ebusd/bai/Status02/get;;\
set ebusMQTT publish ebusd/bai/HcHours/get;;\
ERR: command not found

localhost: set ebusMQTT publish ebusd/bai/HwcStarts/getERR: command not found

localhost: publish ebusd/bai/HcHours/get
ERR: command not found

localhost: publish ebus/430/HwcTempDesired/get
ERR: command not found


Was mache ich da falsch ?

Dank im voraus :)

Wolle02

#107
Machst du das direkt auf der Konsole des RPi auf dem ebusd läuft ?  :o

Das musst du in Fhem definieren!

Ist hier gut erklärt:
https://wiki.fhem.de/wiki/EBUS-MQTT2

Scooby

@Wolle02: Danke dir, hab's jetzt begriffen :D

Ich benutze nicht FHEM sondern Jeedom.
Ich versuchte zweifelhaft einen Zusammenhang zu finden und ebusd hat auch einen Befehl "define", deshalb die Verwechslung.
Ich werde das einfach mit cron machen.

  ;D

timekeeper

#109
Ich habe heute meinen ebus-Adapter (per LAN) in Betrieb genommen.

Der ebusd (mit MQTT) ist installiert mit folgenden Optionen (port 8888 ist belegt):
EBUSD_OPTS="--port=8889 --scanconfig --accesslevel=* --latency=20000 -d enh:HeizungEBusAdapter3:9999 --address=ff"

HeizungEBusAdapter3 ist dessen IP-Adresse, sie ist erreichbar:
openhabian@openHABianDevice:~ $ ping HeizungEBusAdapter3
PING HeizungEBusAdapter3.fritz.box (192.168.178.58) 56(84) bytes of data.
64 bytes from HeizungEBusAdapter3.fritz.box (192.168.178.58): icmp_seq=1 ttl=128 time=0.414 ms
64 bytes from HeizungEBusAdapter3.fritz.box (192.168.178.58): icmp_seq=2 ttl=128 time=0.349 ms
64 bytes from HeizungEBusAdapter3.fritz.box (192.168.178.58): icmp_seq=3 ttl=128 time=0.348 ms


ebusctl info sieht für mich gut aus:

[19:03:39] root@openHABianDevice:/home/openhabian# ebusctl --port=8889 info
version: ebusd 21.2.v21.2
update check: OK
access: *
signal: acquired
symbol rate: 22
max symbol rate: 98
min arbitration micros: 5
max arbitration micros: 13
min symbol latency: 6
max symbol latency: 23
reconnects: 0
masters: 3
messages: 451
conditional: 16
poll: 0
update: 10
address 03: master #11
address 04: slave #25, ebusd
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0703;HW=7401", loaded "vaillant/bai.0010006101.inc" ([PROD='']), "vaillant/08.bai.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=43000;SW=0215;HW=2002", loaded "vaillant/15.430.csv"
address ff: master #25, ebusd


Im log dest ebusd kommen andauernd Zeilen wie diese:
openhabian@openHABianDevice:~ $ tail -f /var/log/ebusd.log
2021-03-18 19:03:53.058 [main notice] found messages: 451 (16 conditional on 32 conditions, 0 poll, 10 update)
2021-03-18 19:03:55.951 [update notice] received update-write bai SetMode QQ=10: auto;49.5;55.0;-;0;0;0;0;0;0
2021-03-18 19:04:02.036 [update notice] received read bai Status01 QQ=10: 49.0;44.0;4.250;-;59.0;on
2021-03-18 19:04:04.005 [update notice] received update-read broadcast vdatetime QQ=10: 19:04:04;18.03.2021
2021-03-18 19:04:04.256 [update notice] received update-write bai StatusCirPump QQ=10: on
2021-03-18 19:04:06.085 [update notice] received update-write bai SetMode QQ=10: auto;49.5;55.0;-;0;0;0;0;0;0
2021-03-18 19:04:12.122 [update notice] received read bai Status01 QQ=10: 49.0;45.0;4.250;-;59.0;on
2021-03-18 19:04:14.130 [update notice] received read bai DateTime QQ=10: sync;19:04:21;-.-.-;4.250
2021-03-18 19:04:14.397 [update notice] received read bai Status02 QQ=10: auto;60;75.0;80;60.0
2021-03-18 19:04:16.175 [update notice] received update-write bai SetMode QQ=10: auto;49.5;55.0;-;0;0;0;0;0;0
2021-03-18 19:04:20.179 [update notice] received read bai Status01 QQ=10: 49.0;45.0;4.250;-;59.0;on
2021-03-18 19:04:22.175 [update notice] received update-read broadcast outsidetemp QQ=10: 4.250
2021-03-18 19:04:26.269 [update notice] received update-write bai SetMode QQ=10: auto;49.5;55.0;-;0;0;0;0;0;0
2021-03-18 19:04:30.315 [update notice] received read bai Status01 QQ=10: 49.0;45.0;4.250;-;59.0;on
2021-03-18 19:04:32.303 [update notice] received read bai Status02 QQ=10: auto;60;75.0;80;60.0
2021-03-18 19:04:36.350 [update notice] received update-write bai SetMode QQ=10: auto;49.5;55.0;-;0;0;0;0;0;0
2021-03-18 19:04:40.392 [update notice] received read bai Status01 QQ=10: 49.0;45.0;4.250;-;59.0;on
2021-03-18 19:04:42.446 [update notice] received read bai DateTime QQ=10: sync;19:04:50;-.-.-;4.250
2021-03-18 19:04:42.668 [update notice] received unknown BC cmd: 10feb505020400
2021-03-18 19:04:46.491 [update notice] received update-write bai SetMode QQ=10: auto;49.5;55.0;-;0;0;0;0;0;0
2021-03-18 19:04:50.487 [update notice] received read bai Status01 QQ=10: 50.0;46.0;4.250;-;58.0;on
2021-03-18 19:04:54.573 [update notice] received update-write bai SetMode QQ=10: auto;49.5;55.0;-;0;0;0;0;0;0
2021-03-18 19:05:00.610 [update notice] received read bai Status01 QQ=10: 50.0;46.0;4.250;-;58.0;on
2021-03-18 19:05:02.623 [update notice] received update-read broadcast vdatetime QQ=10: 19:05:03;18.03.2021
2021-03-18 19:05:02.877 [update notice] received update-write bai StatusCirPump QQ=10: on
2021-03-18 19:05:04.655 [update notice] received update-write bai SetMode QQ=10: auto;49.5;55.0;-;0;0;0;0;0;0
2021-03-18 19:05:10.738 [update notice] received read bai Status01 QQ=10: 50.0;46.0;4.250;-;58.0;on
2021-03-18 19:05:12.747 [update notice] received read bai DateTime QQ=10: valid;19:05:13;18.03.2021;4.250
2021-03-18 19:05:13.011 [update notice] received read bai Status02 QQ=10: auto;60;75.0;80;60.0
2021-03-18 19:05:14.743 [update notice] received update-write bai SetMode QQ=10: auto;49.5;55.0;-;0;0;0;0;0;0
2021-03-18 19:05:20.781 [update notice] received read bai Status01 QQ=10: 50.0;46.0;4.250;-;58.0;on
2021-03-18 19:05:22.773 [update notice] received update-read broadcast outsidetemp QQ=10: 4.250



Im MQTT Broker kommt aber nichts an. Was mache ich falsch?


Für eure Mühe im Voraus herzlichen Dank

Hermann

Wolle02

Zitat von: Scooby am 18 März 2021, 16:29:17

Ich werde das einfach mit cron machen.

  ;D

Oder du benutzt einfach Fhem  ;)

Wolle02

Zitat von: timekeeper am 18 März 2021, 18:44:15

Der ebusd (mit MQTT) ist installiert mit folgenden Optionen:
EBUSD_OPTS="--scanconfig --accesslevel=* --latency=20000 -d enh:HeizungEBusAdapter3:9999 --address=ff
HeizungEBusAdapter3 ist dessen IP-Adresse, sie ist erreichbar:
openhabian@openHABianDevice:~ $ ping HeizungEBusAdapter3
PING HeizungEBusAdapter3.fritz.box (192.168.178.58) 56(84) bytes of data.
64 bytes from HeizungEBusAdapter3.fritz.box (192.168.178.58): icmp_seq=1 ttl=128 time=0.414 ms
64 bytes from HeizungEBusAdapter3.fritz.box (192.168.178.58): icmp_seq=2 ttl=128 time=0.349 ms
64 bytes from HeizungEBusAdapter3.fritz.box (192.168.178.58): icmp_seq=3 ttl=128 time=0.348 ms


Im log dest ebusd kommen andauernd Zeilen wie diese:
2021-03-18 18:41:27.239 [update notice] received read bai Status01 QQ=10: 51.0;47.0;4.500;-;59.0;on
2021-03-18 18:41:29.188 [update notice] received update-read broadcast outsidetemp QQ=10: 4.500
2021-03-18 18:41:31.286 [update notice] received update-write bai SetMode QQ=10: auto;49.5;55.0;-;0;0;0;0;0;0
2021-03-18 18:41:31.602 [bus error] unable to open 192.168.178.56:9999: ERR: generic I/O error
2021-03-18 18:41:31.602 [bus notice] device invalid
2021-03-18 18:41:36.603 [bus error] unable to open 192.168.178.56:9999: ERR: generic I/O error
2021-03-18 18:41:36.603 [bus notice] device invalid

Im MQTT Broker kommt aber nichts an. Was mache ich falsch?
Für eure Mühe im Voraus herzlichen DankHermann

HeizungEBusAdapter3 ist keine IP-Adresse; allenfalls ein Host-Name. Damit die Konfiguration zu machen kann funktionieren, muss aber nicht. Ich würde es nicht machen, sondern tatsächlich IP-Adressen verwenden.

Dein HeizungEBusAdapter3 hat von deiner Fritzbox scheinbar die IP-Adresse 192.168.178.58 zugewiesen bekommen. Das sagt jedenfalls der ping
Im ebus-Log siehst du aber, dass scheinbar versucht wird ein Device mit der IP-Adresse 192,168.178.56 zu öffnen.
Das stimmt also was nicht.

Reinhart

Zitat von: timekeeper am 18 März 2021, 18:44:15
Der ebusd (mit MQTT) ist installiert mit folgenden Optionen (port 8888 ist belegt):
EBUSD_OPTS="--port=8889 --scanconfig --accesslevel=* --latency=20000 -d enh:HeizungEBusAdapter3:9999 --address=ff"

Im MQTT Broker kommt aber nichts an. Was mache ich falsch?

in deiner Config ist kein MQTT Protokoll definiert!
EBUSD_OPTS="--port=8889 --scanconfig --accesslevel=* --latency=80 -d enh:HeizungEBusAdapter3:9999 --mqttport=1883 --mqttjson --mqtthost=IP_vom_MQTTBroker --mqtttopic=ebusd/%circuit/%name --mqttchanges --address=ff"
hier eine typische Config für MQTT, also Host, Port, JsonFormat, Topic definieren!

Außerdem musst du dann deine gewünschten MQTT Daten mit "GET" anfordern!
set ebusMQTT publish ebusd/bai/ReturnTemp/get

LG

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

Reinhart

Zitat von: Wolle02 am 18 März 2021, 18:54:31
HeizungEBusAdapter3 ist keine IP-Adresse; allenfalls ein Host-Name. Damit die Konfiguration zu machen kann funktionieren, muss aber nicht. Ich würde es nicht machen, sondern tatsächlich IP-Adressen verwenden.

Dein HeizungEBusAdapter3 hat von deiner Fritzbox scheinbar die IP-Adresse 192.168.178.58 zugewiesen bekommen. Das sagt jedenfalls der ping
Im ebus-Log siehst du aber, dass scheinbar versucht wird ein Device mit der IP-Adresse 192,168.178.56 zu öffnen.
Das stimmt also was nicht.

ich sehe das auch so und würde solche Adressen als statisch konfigurieren und mit der IP Adresse anreden. DN geht nur wenn es auch zu 100% richtig definiert wurde und ob die SOHO Router das wirklich so machen zweifle ich immer etwas an. Warum hätten den Firmen Netzwerke einen ( meist einen Primary und Backup ) DNS mit Reverse Lookup eigenen Zonen usw. Ob die Fritz Box das so kann weiß ich nicht, meine Router ( Netgear Mesh 6 ) können das nicht wie gewünscht.

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

timekeeper

Die Verwendung des hostnamens anstatt der IP-Adresse funktioniert mit meiner Fritzbox tadellos. Ich habe die Adresse auf dhcp stehen, jedoch in der Fritzbox eingestellt, dass der Adapter immer dieselbe bekommen soll.

Herzlichen Dank für die EBUSD_OPTS, jetzt kommt endlich etwas im MQTT-Broker an. Hurra!

Noch eine Frage: Woher weiss ich, welche Daten ich anfordern kann? Kann mir das ebusctl irgendwie mitteilen?
set ebusMQTT publish ebusd/bai/ReturnTemp/get

Reinhart

ganz einfach, schau in die csv die geladen wurden und du kennst die Namen der Datenpunkte.
Ich hänge sie dir hier an.

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

timekeeper

Ganz einfach? Die Dateien sehen nicht danach aus, als ob ich damit jemals fertig würde. Gibt es da keinen anderen Weg?

john30

Zitat von: timekeeper am 18 März 2021, 21:12:48
Ganz einfach? Die Dateien sehen nicht danach aus, als ob ich damit jemals fertig würde. Gibt es da keinen anderen Weg?
einfach `ebusctl find` aufrufen, dann werden die bekannten read Nachrichten ausgespuckt. Ich persönlich schaue nur selten in die CSVs rein, weil mit `ebusctl find -f -a` die zur Anlage gefundenen Messages auch ausgegeben werden können
author of ebusd

Reinhart

#118
Zitat von: timekeeper am 18 März 2021, 21:12:48
Ganz einfach? Die Dateien sehen nicht danach aus, als ob ich damit jemals fertig würde. Gibt es da keinen anderen Weg?

egal ob in der csv oder mit find gefundene Datenpunkte ( das Format ist ja dasselbe ) , du siehst immer ganz rechts eine Beschreibung was das ist.

Beispiel:

r,bai,HcHours,d.80 Hz. Betriebsstunden,,08,b509,0d2800,hoursum2,s,UIN,,h,Betriebsstunden im Heizbetrieb

ganz rechts steht: Betriebsstunden im Heizbetrieb, und der Name des Datenpunktes steht links in der dritten Spalte und heißt: HcHours

pi@eBus:~ $ ebusctl r -f HcHours
9637

eine Abfrage von HcHours ergibt dann den Wert 9637, das ist dann der Wert in Stunden.

Das ist aber nun wirklich nicht kompliziert und macht man ja nur einmal. Und bitte solche Werte nicht jede Minute abfragen, die ändern sich maximal nur einmal pro Stunde und genügen im Prinzip höchstens einmal am Tag.

Aber entscheiden was du willst und brauchst musst du selber. Das ist wie beim Can Bus im Fahrzeug, was der Luftmengenmesser im Augenblick misst ist nur für den Mechaniker interessant der einen Fehler sucht, dir wird es viel wichtiger erscheinen was das Fahrzeug gerade verbraucht.

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

Reinhart

WICHTIG

ich möchte alle Anwender ersuchen bei technischen Fragen sich hier im Forum zu melden und NICHT per Mail.
Da aus dem Bestellformular automatisch auch der gesamte Mailverkehr mit einer Kopie an mich geht und bei mir eine automatische Regel das in einen Archivordner verschiebt sehe ich meist nur durch Zufall solche Anfragen! In diesem Ordner liegen bereits 861 Mails und alle fragen sind hier im Forum  besser aufgehoben da sie dann nur einmal beantwortet werden müssen weil sie dadurch auch anderen helfen!

Es braucht sich niemand zu scheuen hier zu posten, es gibt grundsätzlich keine "dummen" Fragen. alles hat seinen Sinn!

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