NEWS
Adapter: ebus
-
@rene_hm Sorry aber ich verstehe die Frage nicht. Was meinst du mit "wie sieht es in den Datenpunkten aus"?
Ich habe sowohl unter "pms" als auch bei "sc" und "hwc" z.B. den NTC Sensor 1. Allerdings bekomme ich nur für einen NTC1Sensor, einen NTC2Sensor, einen NTC3Sensor und einen NTC4 Sensor die Daten geliefert. Die anderen Sensoren, welche genauso heißen aktualisiert es nicht
Also Umgehungslösung habe ich es aktuell so gelöst, dass ich auf dem Raspberry mit einem Cron-Trigger
sudo crontab -e
die Daten jetzt aller 5 Minuten mit dem Raspberry abfrage. Danach werden auch die Daten aller NTC-Sensoren sauber importiert.
*/5 * * * * ebusctl r -c sc NTC1Sensor */5 * * * * ebusctl r -c sc NTC2Sensor */5 * * * * ebusctl r -c sc NTC3Sensor */5 * * * * ebusctl r -c sc NTC4Sensor */5 * * * * ebusctl r -c pms NTC1Sensor */5 * * * * ebusctl r -c pms NTC2Sensor */5 * * * * ebusctl r -c pms NTC3Sensor */5 * * * * ebusctl r -c pms NTC4Sensor */5 * * * * ebusctl r -c hwc NTC1Sensor */5 * * * * ebusctl r -c hwc NTC2Sensor */5 * * * * ebusctl r -c hwc NTC3Sensor
Kann ich auch mehrere Kommandos auf ebus.0.cmd legen?
Wenn ja wie ist dann die Syntax? -
@dre83 sagte in Adapter: ebus:
Kann ich auch mehrere Kommandos auf ebus.0.cmd legen?
Du kannst immer nur ein Kommando abschicken. Du kannst das aber per script lösen: erstelle dir ein Kommando nach dem anderen und schicke sie zeitlich versetzt. Alternativ schickst du ein Kommando, wartest auf das Ergebnis in ebus.0.cmdResult und schickst dann das nächste Kommando.
-
@rene_hm
Hi René,
habe es genau so mit dem Script umgesetzt wie von Dir beschrieben. Funktioniert wunderbar. Vielen Dank. Somit habe ich jetzt alles zentral im iobroker.
Da konnte ich auch meine Cron-Jobs auf dem Raspberry auch löschen. (war ja im Endeffekt das selbe Vorgehen) -
Hallo zusammen,
Bei mir läuft es nun auch so la la.
Meine frage: Wenn ich das hier ausführe steht da no data stored
root@ServerEbus:/home/pi# ebusctl find boiler nominal = no data stored boiler status = no data stored boiler tb = no data stored broadcast datetime = 11.398;10:15:34;12.10.2021 buffer boiler_b = no data stored buffer flow = no data stored buffer heating = no data stored buffer nominal = no data stored buffer status_b = no data stored buffer tpm = no data stored buffer tpo = no data stored circuit1config manualT = no data stored circuit1config status = no data stored circuit1mode manualtemp = no data stored circuit1mode modeC1 = no data stored circuit1preferences dayTH = no data stored circuit1preferences heating_limit = no data stored circuit1preferences heatinglimit = no data stored circuit1preferences nightTH = no data stored circuit1preferences outsideTH = no data stored circuit1preferences pointtemp = no data stored circuit1preferences remotecontrol = no data stored circuit1preferences roomfrost = no data stored circuit1preferences supplyTH = no data stored curveC outsideC = no data stored curveC pointC = no data stored curveC supplyC = no data stored curveH outsideH = no data stored curveH pointH = no data stored curveH supplyH = no data stored heatpump coolkwh = no data stored heatpump coolmwh = -;31;00;00;0;0;0 heatpump cycles = no data stored heatpump heatkwh = no data stored heatpump heatmwh = no data stored heatpump hours = no data stored heatpump nominal = no data stored heatpump status = no data stored heatpump tqa = 71;0;0d;02;1000;0;10.8 heatpump tqe = 80;1;1d;00;1;7721;0.0 heatpump twr = 70;0;0d;02;1000;0;6.9 heatpump twv = 7;0;0d;02;1000;0;32.0 heatpump volumekwh = no data stored heatpump volumemwh = no data stored heatpump waterkwh = no data stored heatpump watermwh = no data stored heatpump_m mode = 53;1;00;00;255;0;Extern gesperrt master 10u0503 = 1;0;0;0.0;1;0 master data1 = 32.398;-;0;0;0;0;0;0;1;27.398 master data2 = 0.000;53.000;0;0;2 scan.06 = TEM;25440;0113;0000 scan.08 = TEM;WE_1 ;3632;3030 scan.15 = TEM;24849;0605;0102 scan.18 = TEM;WE_2 ;3632;3030 target dayC = no data stored target dayH = no data stored target limitH = no data stored target nightC = no data stored target nightH = no data stored target SpointS = no data stored target Ssummer = no data stored temperature boiler2 = no data stored temperature buffer1 = 96;0;0d;02;1000;0;32.4 temperature buffer2 = no data stored temperature outside1 = no data stored temperature outside2 = no data stored temperature outside = 0;0;0d;02;500;-500;11.4 temperature tqe1 = no data stored temperature twr1 = no data stored temperature twv1 = no data stored temperature water = 4;0;0d;02;1000;0;52.3 unknow 01940048 = no data stored unknow 01960042 = no data stored unknow 01cc0042 = no data stored unknow 02c60040 = 70;65;04;28;-1;0;192 unknow 02c80040 = 72;65;04;2a;1439;0;103
Dann kann ich mit z.B.
root@ServerEbus:/home/pi# ebusctl r -c heatpump volumekwh 218;10;0d;34;1000;0;0.0
den wert holen.
Nach einen reboot sind diese Werte alle wieder auf no data stored.
Gibt's da ne Lösung für?
-
@winny1900 typischerweise lauscht der ebusd nur, was am Bus vorbeikommt. Wenn kein anderes Gerät die Daten abfragt, gelangen sie nicht auf den Bus und somit auch nicht in ebusd. Zusätzlich speichert ebusd keine Daten. Wenn du also möchtest, das bestimmte Daten aktualisiert werden, musst du sie aktiv abfragen, was du ja mit
ebusctl r
schon machst.
-
@rene_hm also wenn ich dieses einmal eingelesen habe sind die Werte ja einmal da.
Wofür kann ich im ebus Adapter die Abfrage Werte eintragen die mit einem , getrennt werden?
Oder muss ich wenn ich diese Werte alle 5 min aktualisiert haben möchte das über ein Script lösen
-
@winny1900 sagte in Adapter: ebus:
Wofür kann ich im ebus Adapter die Abfrage Werte eintragen die mit einem , getrennt werden?
Oder muss ich wenn ich diese Werte alle 5 min aktualisiert haben möchte das über ein Script lösennein, genau dafür ist die Funktion da. Ich schicke für jeden Wert, der in der Liste steht ein "read" an den ebusd inkl. Parameter, dass der read auch auf den Bus gelegt wird.. Das mit dem script benötigt man, wenn man weitere Parameter nutzen möchte, wie z.bsp. von @Dre83 oben beschrieben wurde
-
@rene_hm okay das heißt wenn ich möchte das heatpump tqa ausgelesen wird, muss ich das dann da eintragen. Der Abfrage Punkt wäre tqa,usw......
-
@winny1900 du musst den Namen des Datenpunktes (z.Bsp. tqa) eintragen. Bei mir sieht das so aus:
-
Wie ist den die richtige Schreibweise ?
hier heißt es buffer nominal und in der HTML nur nominal. Nominal gibt es auch mehrmal.
Müsste ich dann nominal, eitragen oder buffernominal, ??
-
@winny1900 schau bitte die Datenpunkte in ioBroker an. Dort nimmst du den nur Namen des Datenpunktes.
-
@rene_hm muss ich dafür Telnet haben ?
Weil die Werte stehen so in der Config.
-
@winny1900 nein, siehe hier (als Beispiel):
-
hab ich ja so richtig.
Der Wert ist von 17:37 Uhr . Aktuell sind es 22,3
Nach dem ich auf dem PI
ebusctl r -c temperature tqa1
wird wieder Aktualsiert
-
@winny1904 kannst du den Adapter mal auf debug schalten und schauen, welche Meldungen bzgl. tqa1 kommen?
es wird geloggt, was per telnet gesendet wird und was vom ebusd wieder zurück kommt.
Beispiel:2021-10-14 19:25:07.437 debug received on for Hc1Pump 2021-10-14 19:25:07.279 debug send cmd read -f Hc1Pump 2021-10-14 19:25:07.277 debug received on for CirPump 2021-10-14 19:25:07.083 debug send cmd read -f CirPump
Du kannst auch versuchen, anstatt
tqa1
den gleichen string wie am Raspi in die Liste aufzunehmen (ohne "ebusctl r ")
-c temperature tqa1
Komma kommt dann hinter tqa1 und dann das gleiche für den nächsten Wert...
@Dre83 das könnte auch bei dir funktionieren... -
@Dre83 , @winny1904 ich habe mal den Adapter ein wenig umgebaut. Man kann jetzt den circuit und weitere Parameter für die abgefragten Datenpunkte hinzufügen.
Damit sollten die Möglichkeiten des ebusd komplett abbildbar sein. Der circuit und die zusätzlichen Parameter sind optional. Wenn man die weglässt, funktioniert alles wie bisher. Fügt man einen circuit hinzu, wird "-c circuit_name" dem Kommando hinzugefügt. Wenn man weitere Parameter laut ebusd-Doku hinzufügt, werden diese einfach mitgeschickt.
Das ganze sieht im admin so aus:Wenn ihr wollt, könnt ihr das schon testen. Die Version liegt im github (aber noch nicht im NPM).
Achtung: das ganze ist abwärtskompatibel, d.h. die neue Version übernimmt die Einstellungen von der alten Version. ABER: wenn man dann wieder die alte Version installiert, ist die Komma-separierte Liste leer. Dann einfach die Liste wieder eintragen und speichern...Ich baue jetzt die command-Funktion noch um. Damit kann man zukünftig mehrere Befehle wegschicken...
-
@rene_hm sagte in Adapter: ebus:
Im github und NPM liegt die 2.4.0 zum Testen bereit.siehe auch github
Es gibt folgende Änderungen:- die Einstellung für die gepollten Datenpunkte und die für die History-Datenpunkte wurden überarbeitet. Man kann nun den circuit und weitere Parameter (beides optional) angeben.
- Der Datenpunkt ebus.0.cmd interpretiert nun eine Liste von Kommandos.
- Die vielen Warnungen aufgrund fehlender Daten wurde zu debug-Meldungen
Feedback ist wie immer willkommen...
-
Moin danke.
Das Heißt der Circuit ist gleich Schaltkreis. In minem Fall wäre es dann heatpump , buffer usw... ??
Weil den Namen Nominal gibt's 2 mal bei mir. Wenn ich nun buffer nominal haben möchte schreibe ich bei Circuit buffer und bei Name Nominal richtig ?
Eine Frage am Rande. Wie finde ich den Telnet port von Pi raus ??
-
Steht in der Config von ebusd
-
Muss ich telnet nur haben wenn ich die Werte schreiben möchte ?
Oder brauch ich telnet auch wenn ich Werte über cmd abfragen möchte???