NEWS
Adapter: ebus
-
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?
-
@Hiltex
funktioniert auch nur bei allen DPs unter "broadcast".
read -c 700 Hc1FlowTemp liefert: ERR arbitration lost (-f geht auch nicht)woran kann das liegen? berechtigungsproblem?
-
btw, wenn ich ein "listen -u" mache, kommen unzählige codierte messages, vermutlich die die auch suche
zB: 1026b5230f05ff0000000000ffff000000000000 0101
wie könnte man diese decoden? -
Hallo Leute,
ich konnte mich jetzt auch nochmal um meine Wärmepumpe VW117/4 mit EBus kümmern.
Ich habe es schon letztes Jahr geschafft einige Daten auszulesen , wie z.B Hz Vorlauftemperatur, Hz Rücklauftemperatur und Aussentemperatur diese Werte werde mir vom Ebus Adapter dirket angezeit ( ich brauch dafür nix in der Liste "Komma getrennte Liste aller Datenpunktnamen" eintragen)Jetzt würde mich allerdings würden mich jetzt auch brennent weitere Daten interessieren, z.B. SoleVorlauf, SoleRücklauf, Integrall, HzPumpendrehzahl, Mischerstellung, momentane Leistung, Tageswerte, Wochenwerte....
Ich habe es bis jetzt noch nicht hinbekommen auch nur einen Werte (mal völlig egal welche) über "Komma getrennte Liste aller Datenpunktnamen" abzufragen.
HIer mal mein Log vom IObroker,
ebus.2 2020-04-26 09:09:02.743 info (17411) Terminated (NO_ERROR): Without reason ebus.2 2020-04-26 09:09:02.742 info (17411) all history done (exit) ebus.2 2020-04-26 09:09:02.741 debug (17411) delete ebus.2 2020-04-26 09:09:02.739 debug (17411) delete ebus.2 2020-04-26 09:09:02.690 info (17411) all http done ebus.2 2020-04-26 09:09:02.667 debug (17411) no update since 25.4.2020 14:51:2 hmu.messages.YieldTotal.lastup ebus.2 2020-04-26 09:09:02.587 debug (17411) request data from http://192.168.178.84:8891/data ebus.2 2020-04-26 09:09:02.586 debug (17411) all telnet done ebus.2 2020-04-26 09:09:02.583 error (17411) received ERR: element not found for FlowTempMax ebus.2 2020-04-26 09:09:02.580 error (17411) received ERR: element not found for HwcStarts ebus.2 2020-04-26 09:09:02.577 error (17411) received ERR: element not found for HcStarts ebus.2 2020-04-26 09:09:02.575 error (17411) received ERR: element not found for HwcHours ebus.2 2020-04-26 09:09:02.572 error (17411) received ERR: element not found for HcHours ebus.2 2020-04-26 09:09:02.569 error (17411) received ERR: element not found for Wasserdruck ebus.2 2020-04-26 09:09:02.567 error (17411) received ERR: element not found for WaterPressure ebus.2 2020-04-26 09:09:02.564 error (17411) received ERR: element not found for ACRoomthermostat ebus.2 2020-04-26 09:09:02.561 error (17411) received ERR: element not found for HwcTemp ebus.2 2020-04-26 09:09:02.559 error (17411) received ERR: element not found for StorageExitTemp ebus.2 2020-04-26 09:09:02.556 error (17411) received ERR: element not found for StorageTemp ebus.2 2020-04-26 09:09:02.553 error (17411) received ERR: element not found for HwcStorageTemp ebus.2 2020-04-26 09:09:02.550 error (17411) received ERR: element not found for FlowTempDesired ebus.2 2020-04-26 09:09:02.548 error (17411) received ERR: element not found for ReturnTemp ebus.2 2020-04-26 09:09:02.545 error (17411) received ERR: element not found for FlowTemp ebus.2 2020-04-26 09:09:02.542 error (17411) received ERR: element not found for z1ActualRoomTempDesired ebus.2 2020-04-26 09:09:02.539 error (17411) received ERR: element not found for SolarYieldTotal ebus.2 2020-04-26 09:09:02.536 error (17411) received ERR: element not found for DisplayedOutsideTemp ebus.2 2020-04-26 09:09:02.082 debug (17411) telnet connected ebus.2 2020-04-26 09:09:02.074 debug (17411) connect telnet to IP 192.168.178.84 port 8888 ebus.2 2020-04-26 09:09:02.073 debug (17411) to poll ctr 18 vals: DisplayedOutsideTemp,SolarYieldTotal,z1ActualRoomTempDesired,FlowTemp,ReturnTemp,FlowTempDesired,HwcStorageTemp,StorageTemp,StorageExitTemp,HwcTemp,ACRoomthermostat,Water ebus.2 2020-04-26 09:09:02.046 debug (17411) init common variables ebus.2 2020-04-26 09:09:02.044 debug (17411) init variables ebus.2 2020-04-26 09:09:02.044 debug (17411) start with interface ebusd ebus.2 2020-04-26 09:09:02.043 debug (17411) set timeout to 180 sec ebus.2 2020-04-26 09:09:02.015 info (17411) starting. Version 1.0.0 in /opt/iobroker/node_modules/iobroker.ebus, node: v10.17.0 ebus.2 2020-04-26 09:08:02.836 info (17372) Terminated (NO_ERROR): Without reason ebus.2 2020-04-26 09:08:02.834 info (17372) all history done (exit)
Ich hoff mir kann wer helfen, die Abfragen hin zubekommen
-
@Timmerx
ich habe das gleiche problem, anscheinend gibt es für diese (verschlüsselten) elemente noch kein entschlüsseltes csvwerden bei dir die anderen elemente automatisch aktualisiert im iobroker? bei mir leider nicht, nur die werte die unter broadcast zu finden sind. die anderen werden nur dann aktualisert, wenn ich diese zB mit der vaillant app abrufe.
wie machst du das? -
HI,
ja es werden alle Werte automatisch aktualisiert.
Unter Broadcast gibt es bei mir nur den Wert "outsidetemp" der wird auch automatisch aktualisiert, den wert habe ich aber nicht manuell im EBus Adapter eingetragen, wo kommt der her?Wie kann ich die csv bearbeiten?
-
@Timmerx sagte in Adapter: ebus:
Unter Broadcast gibt es bei mir nur den Wert "outsidetemp" der wird auch automatisch aktualisiert, den wert habe ich aber nicht manuell im EBus Adapter eingetragen, wo kommt der her?
Die Werte unter Broadcast werden ohne Abfrage einfach von der Theme/WP an alle Busteilnehmer gesendet und entsprechend auch in ioBroker angezeigt. Meines Wissens nach kann man dieses Verhalten nicht beeinflussen.
Wie man unbekannte Werte entschlüsselt ist in der Doku von ebusd beschrieben, zu finden im Github Repository
-
HI Hiltes es scheint als ob du das mit dem Ebus wirklich verstanden hast und auch anwenden kannst.
Ich bin bis jetzt noch nicht dahinter gekommen! Ich finden die Beschreibung im Wiki auch sehr kompliziert.
Könntest du vielleicht mir (und auch für andere) ein Beispiel vielleicht auch Bebilder zeigen, wie du manuell Werte abfragst und wo man was eintragen muss? -
@Hiltex sagte in Adapter: ebus:
Die Werte unter Broadcast werden ohne Abfrage einfach von der Theme/WP an alle Busteilnehmer gesendet und entsprechend auch in ioBroker angezeigt. Meines Wissens nach kann man dieses Verhalten nicht beeinflussen.
genau so funktioniert ebusd und damit auch der Adapter: er lauscht, was am Bus vorbei kommt und schreibt sich das auf.
Man kann aber selbst Abfragen auf den Bus legen. Dazu muss man nur die gewünschen (und natürlich im System bekannten) Datenpunkte in diese Liste ("Komma-getrennte Liste von abgefragten Datenpunkte") eintragen.
Der Adapter legt dann bei jedem Aufruf ein read-Kommando auf jeden dieser Datenpunkte auf den Bus.
-
@Rene_HM
und wenn ich das mache, bekomme ich immer ein telnet timeout, obwohl ein http aufruf mir diese DP anzeigt.
warum passiert das? wie kann ich das ändern? -
@MassiveAttack sagte in Adapter: ebus:
@Rene_HM
und wenn ich das mache, bekomme ich immer ein telnet timeout, obwohl ein http aufruf mir diese DP anzeigt.
warum passiert das? wie kann ich das ändern?Ich hatte dich jetzt schon mehrfach gefragt, ob du dich mit telnet <ip> 8888 von hand auf den ebusd verbinden kannst...
Also nicht ebusctl auf der console sondern von einer anderen Maschine auf den ebusd per telnet verbinden... Wenn das nicht klappt, dann kann der Adapter sich auch nicht verbinden..Wenn das klappt, dann im Telnet mal mit info, find, read usw... arbeiten, ob das Daten kommen.
-
@mameier1234
hab doch schon geschrieben dass das mit telnet von einem anderen host auch in ein timeout läuft. die frage ist warum, und was kann ich tun damit das funktioniert?