NEWS
Adapter: ebus
-
@MassiveAttack
Für mich sieht das alles richtig gut aus. Im Browser werden doch jede Menge Werte angezeigt. Wirf mal einen Blick in die Beschreibung des Adapters. Da steht drin, dass nur Werte übernommen werden, bei denen „lastup“ nicht 0 ist.Die wenigsten Werte werden aktiv vom Regler gesendet, du musst sie stattdessen aktiv abfragen, indem du sie in den Adaptereinstellungen einträgst - einfach die Namen der Werte, getrennt durch ein Komma. Beim nächsten Durchlauf werden diese dann abgefragt, „lastup“ enthält dann Datum/Uhrzeit der letzten Aktualisierung und sie erscheinen automatisch in ioBroker, weil der Adapter alles übernimmt, was aktualisiert wurde (lastup != 0).
Bei meiner Aurotherm muss ich so gut wie alles aktiv abfragen. Außer Datum und Uhrzeit kommt da nix von alleine.
Wichtig zu wissen ist noch, dass es durchaus Werte geben kann, die kein Ergebnis, sondern eine Fehlermeldung liefern. Typisch ist das bei Heizzonen, die nicht in Verwendung sind.
-
alles klar, danke. ich bekomme auch schon ziemlich viele werte, outside/inside temp, flow temp, warmwasser usw..., alles wunderbar.
was mich noch interessiert sind aber die werte der fachhandwerkebene, wie zB kompressor starts, pumpen starts, komp. hysterese usw. können die auch gepollt werden? wenn ja, wie?
außerdem natürlich kWh, umweltertrag, AZ, ... sehe da jetzt auch nichts dazu.gibt es eine liste der werte, die gepollt werden können? wie gesagt, die eben genannten würden mich interessieren.
-
@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 ....
-
Ich hab anfangs einfach alle Werte abgefragt und zuerst geschaut, welche überhaupt eine Rückmeldung liefern, und anschließend, ob sich die Werte über längere Zeit ändern. Mittlerweile frage ich noch ca. 15 Werte ab und schreibe nur einen.
-
@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.