NEWS
Adapter: ebus
-
@mameier1234 said in Adapter: ebus:
@MassiveAttack Na Also.. siehste, ohne lesen ist da auch nix mit verstehen
jetzt geht es weiter: verbinde dich mit telnet auf den ebusd mit port 8888
dann mal ein ? als Kommando...
Dann ein find als Kommando, dann werden Dir alle Geräte und Parameter angezeigt, die es gibt...
Beispiel:
hwc CirPump2 = no data stored hwc currenterror = no data stored hwc DateTime = no data stored hwc errorhistory = no data stored hwc FlowTempDesired2 = no data stored hwc HcParallelStorageFillingEnabled2 = no data stored hwc HwcLaggingTime2 = no data stored hwc HwcLoadingDelay2 = no data stored hwc IsInParty = no data stored hwc LegioPump2 = no data stored hwc LegioStartTime2 = no data stored hwc Mode = 63;auto;off;hwc;00;day hwc NativeHwcCircuitDisabled = no data stored hwc NormalHwcHysteresis = no data stored hwc OneTimeCirSwitch = no data stored hwc OperatingMode2 = no data stored hwc Params = no data stored hwc SpreadingHwcLoading = no data stored hwc Stat15MinBusTimeout = no data stored hwc StatMonthOfInstallation = no data stored hwc StatOperatingHours = no data stored hwc StatPowerOn = no data stored hwc StatRestarts = no data stored hwc StatRTOSErrorcode = no data stored hwc StatRTOSErrorCounter = no data stored hwc Status0a = no data stored hwc Status16 = no data stored hwc Status = 0;off;63.50;63 hwc StatYearOfInstallation = no data stored hwc Storage1Sensor2 = no data stored hwc TeleSwitch = no data stored
hwc = HotWaterCircuit ... da gibt es für jedes Gerät eine abkürzung .. und mit Read kannst du jetzt auslesen..
Die Datenpunkte, die dich interessieren und nicht von alleine kommen forderst du dann mit dem ebusd an.. z.B. StatRestarts ... Die werden beim Poll dann abgerufen...
Und dann ist es ein Vorantasten ....
leider bekomme ich mit "find" auch nicht alle DPs, die ich sehen möchte. Die Stats sehe ich gar nicht, Stromverbrauch (PrEnergySumHC, etc) sehe ich, sind aber auch nicht die live werte während eines kompressorstarts.
welche DPs pollst du aktiv? -
noch was, im live log sehe ich dauernd "received unknown MS command". Sind das DPs, die nicht aufgelöst werden können?
Wie kann man die DP-liste (automatisch) updaten bzw. manuell erweitern? hat sonst noch jemand eine VWF 87/4 mit allen DPs? -
@MassiveAttack unknown command... Das sind Datenpakete, die nicht bekannt sind...
Ich habe auch andere Geräte als du... hilft nicht viel.
Das was find findet, ist bekannt..
Mit read kannst du auslesen, wenn die noch keine Werte haben...
Unbekannte ?... da steht im Github einiges drüber drin, wie man die selber einpflegen kann... Weiss ich aber auch nicht...
-
Vielleicht hat jemand hier auch eine Flexotherm 87/4, der seine DP zur Verfügung stellen würde?
habe aktuell nur begrenzt zeit, mich dem thema intensiv zu widmen -
@MassiveAttack sagte in Adapter: ebus:
Vielleicht hat jemand hier auch eine Flexotherm 87/4, der seine DP zur Verfügung stellen würde?
habe aktuell nur begrenzt zeit, mich dem thema intensiv zu widmenDas geht uns wohl allen so...
-
ok ich habe neue DPs gefunden, die nicht schon vom ebusd angelegt wurden. zB "700 Hc1HeatCurve"
zum testen habe ich dann im iobroker Hc1HeatCurve bei Komma-getrennte Liste von abgefragten Datenpunkten eingetragen, dann bekomme ich aber folgendes im log:ebus.0 2020-04-22 12:35:06.876 error (15643) Telnet Server timeout ebus.0 2020-04-22 12:35:01.874 debug (15643) telnet connected ebus.0 2020-04-22 12:35:01.869 debug (15643) connect telnet to IP 192.168.0.87 port 8888 ebus.0 2020-04-22 12:35:01.868 debug (15643) to poll ctr 1 vals: Hc1HeatCurve org Hc1HeatCurve org length 12
muss ich diesen DP dann manuell unter ebus.0.700.messages.Hc1HeatCurve erstellen?
was hat es mit dem ebus history widget auf sich? müssen dort die gleichen DPs stehen? das verstehe ich nicht
Mod-Edit: Code/Log in Code Tags gepackt. Bitte benutzt die Code Tags Funktion -> </>
Hier gehts zur Hilfe. -
@MassiveAttack Nein, Du musst die Datenpunkte nicht manuell erstellen..
Die Fehlermeldung deutet darauf hin, dass sich der ioBroker Adapter ebus nicht per Telnet mit dem ebusd verbinden kann...
Worauf läuft denn dein ioBroker ? Windows / Linux ?Kannst Du von der Maschine, auf der ioBroker läuft mit telnet auf den ebusd zugreifen ?
hat der ebusd die IP 192.168.0.87 ?
Der ebus Adapter im Iobroker kann eigene VIS-Diagramme darstellen... sprich, solange Du die nicht verwendest... Schnuppe !
So.. alles auf die Schnelle beantwortet
-
habe iobroker, ebusd, grafana und influx alles als docker auf meinem nas laufen.
ja IP passt, ein telnet vom windows rechner lieferte mir ja die werte...
telnet vom iobroker funktioniert sicher, da viele andere werte ja kommen und im log zu lesen ist:
ebus.0 2020-04-22 12:35:01.874 debug (15643) telnet connectednach 5 sekunden kommt dann:
ebus.0 2020-04-22 12:35:06.876 error (15643) Telnet Server timeoutalles klar, die vis lasse ich mir mit grafana generieren
-
hmm bekomme jetzt einen anderen fehler, nachdem ich die config angepasst habe:
ebus.0 2020-04-22 13:30:02.089 debug (16241) all telnet done ebus.0 2020-04-22 13:30:02.087 error for Hc1HeatCurve ebus.0 2020-04-22 13:30:02.087 error (16241) received ERR: element not found ebus.0 2020-04-22 13:30:02.084 debug (16241) telnet connected ebus.0 2020-04-22 13:30:02.075 debug (16241) connect telnet to IP 192.168.0.87 port 8888 ebus.0 2020-04-22 13:30:02.074 debug (16241) to poll ctr 1 vals: Hc1HeatCurve org Hc1HeatCurve org length 12
Mod-Edit: Code/Log in Code Tags gepackt. Bitte benutzt die Code Tags Funktion -> </>
Hier gehts zur Hilfe. -
@MassiveAttack zeig mal nen screenshot vom ebus abdapter (da wo die abfragen drinstehhen)
-
da steht nur eine abfrage drin:
-
habe jetzt leider erfolglos versucht, dass ganze über udp (bessere performance) laufen zu lassen. dazu habe ich am koppler auf udp umgestellt, am ebusd meine auf config geändert auf -d udp:192.168.0.65:5000
leider bekomme ich kein signal aus der ebusctl info...
jemand eine ahnung? -
@MassiveAttack Also Udp ist hier sicher nicht performanter.. wir sprechen von ein paar bytes, die übertragen werden.. Was soll es also helfen, auf die Bestätigung der Packete zu verzichten ? dass es 10 milisekunden schneller geht ?
Grundsätzlich sieht meiner meinung die Abfrage gut aus ..
In welchem Circuit ist der Datenpunkt ...
Wenn du im Telnet read -c CC Hc1.... machst, dann kommt ein Ergebniss ? (das CC ist ein Beispiel, da ich nicht weiss, in welchem Circuit...)
-
@MassiveAttack sagte in Adapter: ebus:
hmm bekomme jetzt einen anderen fehler, nachdem ich die config angepasst habe:
ebus.0 2020-04-22 13:30:02.089 debug (16241) all telnet done
ebus.0 2020-04-22 13:30:02.087 error for Hc1HeatCurve
ebus.0 2020-04-22 13:30:02.087 error (16241) received ERR: element not found
ebus.0 2020-04-22 13:30:02.084 debug (16241) telnet connected
ebus.0 2020-04-22 13:30:02.075 debug (16241) connect telnet to IP 192.168.0.87 port 8888
ebus.0 2020-04-22 13:30:02.074 debug (16241) to poll ctr 1 vals: Hc1HeatCurve org Hc1HeatCurve org length 12Diese Meldungen zeigen, dass alles gut läuft. Element not found bedeutet, dass dieser Datenpunkt nicht bekannt ist - also eine ganz normale Rückmeldung
Man muss sich immer vor Augen halten, dass es keine (öffentlich verfügbare) Dokumentation seitens der Hersteller gibt, das ist alles per Reverse-Engineering entstanden. Da das sehr aufwändig ist und die Hersteller ihre Geräte auch weiterentwickeln, kann es durchaus zu fehlerhaften Datenpunkten kommen. Vielleicht unterstützt dein Gerät bestimmte Funktionen auch einfach nicht.
Ich empfehle dir, einfach mal mit einfachen Datenpunkten anzufangen. Einfach mal alles durchprobieren und schauen was da kommt. Speziell für Hwc bietet meine Therme mehrere Datenpunkte am Regler, aber auch am BAI. Es funktionieren jedoch nicht alle
-
im browser wird mir das aber schon angezeigt, zB
"Hc1HeatCurve": {
"name": "Hc1HeatCurve",
"passive": false,
"write": false,
"lastup": 0iobroker hat aber keinen DP erstellt, und wenn ich den extra pollen möchte, kommt eben der fehler. also er existiert, kann aber nicht abgefragt werden.
befindet sich in 700.messages.Hc1HeatCurve
Die Multimatic Fachhandwerkebene sowie die WP selbst sind doch mit codes geschützt, liegt es vielleicht daran dass man diese values nicht abfragen kann/darf?? wie kann man das dann umgehen?
bei einigen DP kommt im telnet der fehler: ERR arbitration lost
outsidetemp liefert einen wert (liegt unter broadcast)
Hc1FlowTemp liefert einen fehler (liegt unter 700) -
@MassiveAttack Dass dieser Datenpunkt im Browser auftaucht liegt daran, dass er im Config-File vorhanden ist. Das bedeutet jedoch nicht zwangsläufig, dass dein Gerät diesen auch kennt - daher kommt sicherlich auch der Fehler. Wie ich zuvor angedeutet hatte, sind die Datenpunkte/Config-Files zumeist per Reserve-Engineering entstanden. Wahrscheinlich war dieser Datenpunkt bei demjenigen vorhanden, der das Config-File erstellt hat. Vorstellbar wäre, dass dein Regler eine andere Firmware besitzt und dieser Datenpunkt nicht mehr vorhanden ist, oder aber einen anderen Namen hat.
Mein VRC700 kennt zum Beispiel den Datenpunkt
z1Name2
nicht, obwohl er im Config-File vorhanden ist,Hc1HeatCurve
allerdings schon.Ich meine oben gelesen zu haben, dass du garkeinen VRC700 besitzt. Da ist natürlich von vornherein ein gewisses Gap zwischen Config-Files und tatsächlich vorhandenen Datenpunkten zu erwarten.
In meinen Ausführungen ist viel hätte, könnte und wäre enthalten. Das liegt einfach daran, dass ich kein Profi bin, was das Thema ebus angeht. Allerdings hatte ich mich anfangs auch über viele Sachen gewundert und hab im Trüben gefischt, aber irgendwann wird es klarer.
Du kannst dir ja mal die Mühe machen und alle Datenpunkte aus dem Browser per ebus abzufragen (copy&paste, im Texteditor von Unrat befeien und im ebus-Adapter eintragen). So hatte ich das anfangs gemacht und recht schnell einen überblick bekommen, welche Werte meine Therme liefert.
Den Code für die Fachhandwerkerebene kann man übrigens ebenfalls per eBus auslesen. Der Datenpunkt heißt bei mir
KeyCodeforConfigMenu
. Die Datenpunkte lassen sich auch auslesen, wenn dir dieser Code bisher unbekannt war. Das hat also nichts miteinander zu tun. -
ebusctl info liefert folgendes:
ebusctl info
version: ebusd 3.4.v3.3-51-g57eae05
access: *
signal: acquired
symbol rate: 97
max symbol rate: 177
reconnects: 0
masters: 5
messages: 421
conditional: 0
poll: 0
update: 8
address 00: master #1
address 03: master #11
address 08: slave #11
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=70000;SW=0509;HW=6403", loaded "vaillant/15.700.csv"
address 26: slave
address 31: master #8, ebusd
address 36: slave #8, ebusd
address 71: master #9
address 76: slave #9vaillant/15.700.csv kann ich aber nirgendwo editieren. wird das nicht lokal gespeichert? unter /etc/ebusd finde ich nichts.
wenn ich mir ältere (2.1.1) ebusd-configs runterlade, finde ich dieses csv auch nichtdoch ich habe eine VRC700. ich habe auch testweise ein paar DP aus dem browser kopiert und im ebus adapter eingetragen, jedoch bekomme ich dann einen fehler (timeout) siehe oben weiter
ich kenne natürlich die codes, wollte nur wissen ob diese menüpunkte vom ebus auch ohne ausgelesen werden können, ok.
ich vermute es hat was mit den config files. werden die nicht lokal abgelegt, und bei einem update überschrieben? wie wird das zyklisch geprüft? was ist der unterschied zwischen "scanconfig" und "scanconfig=full"?
meine aktuelle config:
-f --scanconfig=full -d 192.168.0.65:5000 -n --latency=80000 -p 8888 --configpath=http://ebusd.eu/config/ -l /var/log/ebusd.log --accesslevel=* --httpport=8889 -
@MassiveAttack Mit deinen Startparametern werden die notwendigen Config-Files aus dem Internet geladen. Wenn du das ändern möchtest solltest du mal die zugegebenermaßen nicht besonders leicht verständliche Dokumentation von ebusd bei Github konsultieren.
-
naja happy bin ich mit dem ganzen noch nicht. ich bekomme zwar viele DPs in iobroker geladen, jedoch nicht alle (für mich) relevanten.
weiters habe ich das problem, dass nur werte unter "broadcast" von selbst aktualisiert werden, alle anderen aktualisieren sich einfach nicht, außer ich frage diese (zB mit der vaillant app) ab. das macht statistiken und auswertungen überflüssig.
wie kann man updates triggern?sobald ich einen DP in der ebus liste zum aktiven pollen eintrage, bekomme ich ein timeout. egal ob er bereits als DP existiert, oder nicht.
-
@MassiveAttack sagte in Adapter: ebus:
wie kann man updates triggern?
Indem du sie in den Adapter-Einstellungen -> Tab
EBUSD
-> im FeldKomma-getrennte Liste von abgefragten Datenpunkten
einträgst.
Etwa so:
DisplayedOutsideTemp,SolarYieldTotal,z1ActualRoomTempDesired,FlowTemp,ReturnTemp,FlowTempDesired,HwcStorageTemp,StorageTemp,StorageExitTemp,HwcTemp
@MassiveAttack sagte in Adapter: ebus:
sobald ich einen DP in der ebus liste zum aktiven pollen eintrage, bekomme ich ein timeout. egal ob er bereits als DP existiert, oder nicht.
Funktioniert die Abfrage denn auf der Kommandozeile oder kommt da auch ein Timeout?