Bitte um Hilfe bei Ebus-Configuration

Begonnen von mitulski, 29 Oktober 2017, 13:53:16

Vorheriges Thema - Nächstes Thema

mitulski

Hallo,
also ich bin neu hier und möchte auf diesem Weg um Hilfe bei der Konfiguration des ebusd bitten.
Da John30 hier mitliest möchte ich mich natürlich  als erstes für die Arbeit am ebusd bedanken!

Eigentlich bin ich schon (wie ich finde) recht weit, ich komme nur an einer Stelle nicht weiter. Aber von vorn:
Ich habe einen alten Klöckner Logon M Heizungsregler. Der liegt bei mir auf dem Schreibtisch und ist per Ebus-Konverter an einen Linux-PC angeschlossen.
Der ebusd hat nur die _templates.csv, die unveränderten memory.csv/ broadcast.csv und eine von mir erstellte cyc.csv.

Der Regler sendet in regelmäßigen Abständen die PBSB 0700,0801 und 0802 als Broadcast. Diese Telegramme kann ich auswerten, und habe damit bereits einige Temperaturen und die Uhrzeit. Die entsprechenden Regeln habe ich in meiner cyc.csv erstellt.

Zusätzlich sendet der Regler (Adresse 10)  periodisch noch weitere Daten an einen nicht vorhandenen Slave mit der Adresse 45. Bspw.: <10 45 1100 06 00 00130e3102fc.
Hier ist mir bekannt, dass in der 00 die Regler-Betriebsart steckt.
Also habe ich mir in meiner cyc.csv eine Zeile erstellt:

w,heating,Sonst,sonst,,10,1100,,Steuerbyte,,HEX,,,Steuerbyte


Wenn ich jetzt ein
write -c heating Sonst 01

sende, wechselt der Regler die Betriebsart --- JUHU!!!

und irgenwann kommt vom Master dann:  <1045 1100 06 01 00130e3302b4


Nun mein Problem:
Ich bekomme es nicht hin, dass der ebusd auf die regelmäßig gesendeten Telegramme regiert. Er kennt den aktuellen Zustand von Sonst. nicht.
Ich habe eine Regel erstellt:

r,heating,Sonst1,sonst,,10,1100,,Steuerbyte,,HEX,,,Steuerbyte

und versucht die vom Master zu lesen:

[bus info] send message: 001011000100
[main info] read heating Sonst1:
[bus notice] >00101100010096<00


aber der Master antwortet nicht. Der ebusd müsste also das Telegramm an Slave 45 auswerten, doch das bekomme ich nicht hin.

anbei mal der Start:
2017-10-29 13:40:54.910 [main notice] ebusd 3.0.v3.0-12-g77d2a80 started
2017-10-29 13:40:54.910 [main info] loading configuration files from /etc/ebusd
2017-10-29 13:40:54.910 [main info] reading templates /etc/ebusd
2017-10-29 13:40:54.910 [main info] read templates in /etc/ebusd
2017-10-29 13:40:54.910 [main info] reading file /etc/ebusd/cyc.csv
2017-10-29 13:40:54.911 [main info] successfully read file /etc/ebusd/cyc.csv
2017-10-29 13:40:54.911 [main info] reading file /etc/ebusd/memory.csv
2017-10-29 13:40:54.911 [main info] successfully read file /etc/ebusd/memory.csv
2017-10-29 13:40:54.911 [main info] reading file /etc/ebusd/broadcast.csv
2017-10-29 13:40:54.911 [main info] successfully read file /etc/ebusd/broadcast.csv
2017-10-29 13:40:54.911 [main info] read config files
2017-10-29 13:40:54.931 [bus notice] bus started with own address 00/05
2017-10-29 13:40:54.931 [main info] registering data handlers
2017-10-29 13:40:54.931 [main info] registered data handlers
2017-10-29 13:40:54.937 [bus notice] signal acquired
2017-10-29 13:40:55.311 [bus notice] new master 10, master count 2
2017-10-29 13:41:02.808 [update info] update BC cmd: 10fe080108663b102700420080
2017-10-29 13:41:02.808 [update notice] update heating Temperaturen: 59.398;39.062;no;66;-
2017-10-29 13:41:04.931 [main notice] found messages: 18 (0 conditional on 0 conditions, 0 poll, 7 update)
2017-10-29 13:41:12.741 [update info] update BC cmd: 10fe080108663b102700420080
2017-10-29 13:41:12.741 [update notice] update heating Temperaturen: 59.398;39.062;no;66;-


find


localhost: find
broadcast datetime = no data stored
broadcast error = no data stored
broadcast id = no data stored
broadcast id = no data stored
broadcast signoflife = no data stored
heating Kesselparameter = 90;35;1;12;1
heating Sollwerte = no data stored
heating Sonst1 = no data stored
heating Temperaturen = 59.398;39.062;no;66;-


und grab result


localhost: grab result all
10fe080108643b102700420080 = 20: heating Temperaturen
10fe0803065a23010c0123 = 1: heating Kesselparameter
10fe070009283600431429100717 = 1
10fe0700092a3600421429100717 = 2


und info nach scan:

version: ebusd 3.0.v3.0-12-g77d2a80
update check: revision v3.0 available, broadcast.csv: different version available
signal: acquired
symbol rate: 44
max symbol rate: 61
reconnects: 0
masters: 2
messages: 19
conditional: 0
poll: 0
update: 7
address 00: master #1, ebusd
address 05: slave #1, ebusd
address 10: master #2
address 15: slave #2, scanned "MF=Lamberti;ID=LOG-M;SW=" error: ERR: argument value out of valid range


PS.: Am Regler sind nur Widerstände dran, also bitte nicht über die angezeigten Temperaturen nachdenken.

könnt Ihr mir da weiter helfen?
Grüße

flmma

#1
Hallo Mitulski,

habe das gleiche Problem und den gleichen Regler. (Elco Logon M)

Woher wusstest du, dass du mit ebusctl hex -s 31 1011000100 die Betriebsart wechseln kannst?
Wenn ich den Befehl absetze geht er auf Tagzeiten=Sonne und Nachtzeiten=Aus.
Wenn ich nun aber z.b. 1011000000 sende dann bekomme ich folgende Antwort:

ebusctl hex -s 31 1011000500
ERR: invalid argument


Hast du weitere Hinweise welchen Wert ich für welche Betriebsart senden muss?

Danke!