Läuft: Heizung mit eBus-Schnittstelle

Begonnen von Prof. Dr. Peter Henning, 29 November 2014, 13:36:59

Vorheriges Thema - Nächstes Thema

Reinhart

ich kenne die Beschaltung des Esera nicht, bei unseren Adaptern ist da nicht der Fall.

Das würde ja dann bedeuten, dass bei Stromabschaltung des Adapters die Heizung steht. Der eBus shiftet ja zwischen 12 - 15 Volt, wobei 12V ein Sendesignal darstellt und 15 V den Empfang. Ich kann mir ehrlicherweise nicht vorstellen, das der Esera nach Spannungsausfall die Busspannung nach unten zieht.

Wenn du die Möglichkeit hast die Spannung zu messen, dann miss doch bitte die Spannung am Bus wenn du den Adapter abschaltest.

Daher machst du gar nix falsch würde ich jetzt behaupten.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

chri123

Zitat von: mikesmiles am 06 April 2021, 18:52:34
Hallo zusammen,
ich habe meinen eBus-Koppler von esera an meine Vaillant arotherm, parallel zur Raumsteuerung geklemmt. Wenn ich den eBus-Koppler stromlos mache steigt meine Heizung aus und meldet einen Kommunikationsfehler... das kann ja so nicht richtig sein? was mache ich falsch?
Nichts, diese Erfahrung habe ich auch mit dem Esera gemacht. Von denen kam wahrscheinlich keiner auf die Idee, dass die Spannungsversorgung mal weg sein könnte. Ich habe daher ein 5V Relais vor den Esera geklemmt, damit der beim Fehlen der USB Spannung nicht die Heizung lahmlegt.

Gruss
Christoph

mikesmiles

Danke Christoph - das ist ja spannend. Frage - wie genau hast du das mit dem 5V Relais gelöst? Das benötigt doch auch eine Spannungsversorgung?

chri123

Zitat von: mikesmiles am 10 April 2021, 10:14:10
Frage - wie genau hast du das mit dem 5V Relais gelöst? Das benötigt doch auch eine Spannungsversorgung?
Die Spannung habe ich von einem USB Port des Raspberry abgezweigt. 5Volt Relais, weil da eben nur 5Volt rauskommen (150Ohm Spule ~ 30mA). Den EBUS dann über den Schliesser schleifen. Da tut's jedes Miniaturrelais für 2€.

Gruss
Christoph

Domin2000

#3304
Hallo Zusammen,

Meine konkrete Frage ist: Wie bekommen ich die Daten aus der Multimatic 700 ausgelesen. Das Gerät wird zwar erkannt (MF=Vaillant;ID=70000;SW=0209;HW=4103", loaded "vaillant/15.700.csv) aber schreibt irgendwie nichts auf den ebus. Wie kann ich gezielt das Gerät auslesen? Habt ihr da Beispiele?

kurz: Meine Konfig: respberry pie3+ (FHEM) und ein seperater raspberry pie 3+ im Keller Technikraum der am ebus an der Gastherme hängt als "ebus Datensammler"

Vaillant Komponenten wären:
Gastherme: VC146-5-5
Regler: Multimatic 700 VRC700
Solarmodul VR70
400 L Warmwasserspeicher
Lüftungsanlage Recovair 260/4

Alle Geräte hängen am ebus.

ebusd konfig:
# Options to pass to ebusd (run "ebusd -?" for more info):
EBUSD_OPTS="-d /dev/ttyebus --configpath=http://ebusd.eu/config/ --scanconfig --accesslevel=* --mqttport=1883 --mqttjson --mqtthost=192.168.178.30 --mqtttopic=ebusd/%circuit/%name"


ein ebusctl info auf dem ebus Raspi bringt:
pi@raspberrypi:~ $ ebusctl info
version: ebusd 21.2.v21.2-28-gc8a4ad5
update check: revision v21.2 available
access: *
signal: acquired
symbol rate: 23
max symbol rate: 118
min arbitration micros: 2
max arbitration micros: 3
min symbol latency: 4
max symbol latency: 4
reconnects: 0
masters: 3
messages: 640
conditional: 3
poll: 0
update: 10
address 03: master #11
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0609;HW=5502", loaded "vaillant/bai.308523.inc", "vaillant/08.bai.csv"
address 10: master #2
address 15: slave #2, scanned "MF=Vaillant;ID=70000;SW=0209;HW=4103", loaded "vaillant/15.700.csv"
address 31: master #8, ebusd
address 36: slave #8, ebusd
address 52: slave, scanned "MF=Vaillant;ID=VR_70;SW=0109;HW=2903", loaded "vaillant/52.vr_70.csv"


Ich sehe also dass 3 Geräte/Module (Gastherme, Regler und Solarmodul) erkannt werden. Die Lüftungsanlege wird komischerweise nicht erkannt.

Zusätzlich habe ich noch im log Nachrichten die nicht decodiert werden können:

pi@raspberrypi:~ $ ebusctl grab result
1008b5110100 / 08860209001f100000 = 884
1008b5160111 / 00 = 1
1052b5160111 / 090103010e0130010301 = 1
1008b5120204ff / 0101 = 884
1008b513020508 / 00 = 88
1008b5100305ff03 / 0101 = 884
1052b5030c0700ffffffffffffffffffff / 0101 = 59
1052b516081000ffff0304212a / 0b2000ff0304de2a00000000 = 3
1052b516081002ffff0304c12a / 0b2200ff0304c12a00000000 = 28
1052b52309000000000000000100 / 0101 = 1


Aber die unkbekannten Nachrichten sind erstmal weniger wichtig...

Auf dem Raspi mit der laufenden FHEM Instanz sehe ich jedoch nur 2 angelegte Geräte (Gastherme und das Solarmodul VR70). Vom Regler multimatic 700 sehe ich nix (siehe Bild)
Kann man das fehlende Modul irgendwie aus FHEM zum auslesen zwingen?

Ist noch was an der Konfig falsch auf dem Raspi mit der FHEM Instanz?

Dre83

Hallo in die Runde,
habe seit gestern den Ebus 3 Adapter im Einsatz und habe schon sehr viel über Grafana visualisiert. Echt top!

Wie komme ich an die Temperatur des Kollektors ran?
update: 10
address 01: master #6
address 03: master #11
address 06: slave #6, scanned "MF=Vaillant;ID=PMS02;SW=0209;HW=8402", loaded "vaillant/06.pms.csv"
address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0104;HW=7803", loaded "vaillant/bai.308523.inc", "vaillant/08.bai.csv"
address 0a: slave, scanned "MF=Vaillant;ID=PMW01;SW=0206;HW=8302", loaded "vaillant/0a.pmw.hwc.csv"
address 10: master #2
address 12: slave, scanned "MF=Vaillant;ID=PMW01;SW=0206;HW=8302"
address 15: slave #2, scanned "MF=Vaillant;ID=70000;SW=0613;HW=6903", loaded "vaillant/15.700.csv"
address 26: slave, scanned "MF=Vaillant;ID=VR_71;SW=0104;HW=0503", loaded "vaillant/26.vr_71.csv"
address 31: master #8, ebusd
address 36: slave #8, ebusd
address ec: slave, scanned "MF=Vaillant;ID=SOL00;SW=0613;HW=6903", loaded "vaillant/ec.sol.sc.csv"
address ed: slave, scanned "MF=Vaillant;ID=PMS02;SW=0209;HW=8402"
address f7: master #20
address fc: slave #20, scanned "MF=Vaillant;ID=PMW01;SW=0206;HW=8302"


In der vaillant/ec.sol.sc.csv finde ich folgendes:
r,,Col,KOL,,,,"0400",,,tempsensor,,,value and sensorstate of the collector sensor

Diese Abfrage bringt leider keinen Erfolg:
pi@raspberrypi:~ $ ebusctl read -c sc Col
ERR: invalid position in decode

Winny1904

Hallo zusammen,

Ich habe gestern meinen Ebus adapter für den Raspi bekommen.

Er liefert mir auc schon ein paar Daten. Aber ich denke nicht alles.

Könnt ihr mir bitte mal helfen ??
# /etc/default/ebusd:
# config file for ebusd service.

# Options to pass to ebusd (run "ebusd -?" for more info):
EBUSD_OPTS="-d enh:/dev/ttyAMA0 -p 8888  --latency=50 --receivetimeout=100000 -l /var/log/ebusd.log  --scanconfig c /etc/ebusd  --configpath=/etc/ebusd  --httpport=8889 --htmlpath=/var/ebu$

# MULTIPLE EBUSD INSTANCES WITH SYSV
# In order to run multiple ebusd instances on a SysV enabled system, simply
# define several EBUSD_OPTS with a unique suffix for each. Recommended is to
# use a number as suffix for all EBUSD_OPTS settings. That number will then be
# taken as additional "instance" parameter to the init.d script in order to
# start/stop an individual ebusd instance instead of all instances.
# Example: (uncomment the EBUSD_OPTS above)
#EBUSD_OPTS1="--scanconfig -d /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0 -p 8888 -l /var/log/ebusd1.log"
#EBUSD_OPTS2="--scanconfig -d /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900acTF-if00-port0 -p 8889 -l /var/log/ebusd2.log"
#EBUSD_OPTS3="--scanconfig -d /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900beCG-if00-port0 -p 8890 -l /var/log/ebusd3.log"

# MULTIPLE EBUSD INSTANCES WITH SYSTEMD
# In order to run muiltiple ebusd instances on a systemd enabled system, just
# copy the /usr/lib/systemd/system/ebusd.service file to /etc/systemd/system/
# with a different name (e.g. ebusd-2.service), remove the line starting with
# 'EnvironmentFile=', and replace the '$EBUSD_OPTS' with the options for that
# particular ebusd instance.


root@ServerEbus:/etc/ebusd# ls -al
insgesamt 32
drwxr-xr-x 3 root root 4096 Okt  7 11:37 .
drwxr-xr-x 4 root root 4096 Okt  6 20:21 ..
-rw-r--r-- 1 root root 5620 Okt  7 08:20 22102.csv
-rw-r--r-- 1 root root 1253 Okt  6 20:21 broadcast.csv
-rw-r--r-- 1 root root  754 Okt  6 20:21 memory.csv
-rw-r--r-- 1 root root 2377 Okt  7 08:20 _templates.csv
drwxr-xr-x 2 root root 4096 Okt  6 20:21 vaillant


root@ServerEbus:/etc/ebusd# ebusd --checkconfig
2021-10-07 11:41:38.090 [main error] invalid configpath without scanconfig
root@ServerEbus:/etc/ebusd#



{
"scan.06": {
  "messages": {
   "": {
    "name": "",
    "passive": false,
    "write": false,
    "lastup": 1633598767,
    "zz": 6,
    "fields": {
     "MF": {"value": "TEM"},
     "ID": {"value": "25440"},
     "SW": {"value": "0113"},
     "HW": {"value": "0000"}
    }
   }
  }
},
"scan.08": {
  "messages": {
   "": {
    "name": "",
    "passive": false,
    "write": false,
    "lastup": 1633598769,
    "zz": 8,
    "fields": {
     "MF": {"value": "TEM"},
     "ID": {"value": "WE_1 "},
     "SW": {"value": "3632"},
     "HW": {"value": "3030"}
    }
   }
  }
},
"scan.15": {
  "messages": {
   "": {
    "name": "",
    "passive": false,
    "write": false,
    "lastup": 1633598771,
    "zz": 21,
    "fields": {
     "MF": {"value": "TEM"},
     "ID": {"value": "24849"},
     "SW": {"value": "0605"},
     "HW": {"value": "0102"}
    }
   }
  }
},
"scan.18": {
  "messages": {
   "": {
    "name": "",
    "passive": false,
    "write": false,
    "lastup": 1633598773,
    "zz": 24,
    "fields": {
     "MF": {"value": "TEM"},
     "ID": {"value": "WE_2 "},
     "SW": {"value": "3632"},
     "HW": {"value": "3030"}
    }
   }
  }
},
"global": {
  "version": "21.2.v21.2",
  "updatecheck": "OK",
  "signal": true,
  "symbolrate": 38,
  "maxsymbolrate": 108,
  "minarbitrationmicros": 5,
  "maxarbitrationmicros": 5,
  "minsymbollatency": 10,
  "maxsymbollatency": 37,
  "qq": 49,
  "reconnects": 0,
  "masters": 5,
  "messages": 4,
  "lastup": 1633598773
}
}


Ich habe die CSV datein für die Ochsner heizung genommen und in den Ordner kopiert.

Dre83


Winny1904

Das wird angezeigt.

root@ServerEbus:/etc/ebusd# ebusctl info
version: ebusd 21.2.v21.2
update check: OK
signal: acquired
symbol rate: 33
max symbol rate: 99
min arbitration micros: 4
max arbitration micros: 327
min symbol latency: 10
max symbol latency: 32
reconnects: 0
masters: 5
messages: 4
conditional: 0
poll: 0
update: 0
address 01: master #6
address 03: master #11
address 06: slave #6, scanned "MF=TEM;ID=25440;SW=0113;HW=0000"
address 08: slave #11, scanned "MF=TEM;ID=WE_1 ;SW=3632;HW=3030"
address 10: master #2
address 13: master #12
address 15: slave #2, scanned "MF=TEM;ID=24849;SW=0605;HW=0102"
address 18: slave #12, scanned "MF=TEM;ID=WE_2 ;SW=3632;HW=3030"
address 31: master #8, ebusd
address 36: slave #8, ebusd


Grüße

Dre83

Pass das mal bitte den configpfad wie folgt an:

--configpath=http://ebusd.eu/config/

Winny1904

hab ich gemacht.

Ich habe das so verstanden, da es eine Ochsner Heizung ist müsste ich CSV dateien aus dem Ebus ordner nehme. Also diese https://github.com/john30/ebusd-configuration/tree/master/ebusd-1.x.x

# /etc/default/ebusd:
# config file for ebusd service.

# Options to pass to ebusd (run "ebusd -?" for more info):
EBUSD_OPTS="-d enh:/dev/ttyAMA0 -p 8888  --latency=50 --receivetimeout=100000 -l /var/log/ebusd.log  --scanconfig=full  --configpath=http://ebusd.eu/config/  --httpport=8889 --htmlpath=/va$

Winny1904

Nun zeigt er mir schon mal wieder die Außen Temp. an.

root@ServerEbus:/etc/ebusd# ebusctl info
version: ebusd 21.2.v21.2
signal: acquired
symbol rate: 70
max symbol rate: 110
min arbitration micros: 4
max arbitration micros: 19
min symbol latency: 10
max symbol latency: 32
reconnects: 0
masters: 5
messages: 15
conditional: 0
poll: 0
update: 4
address 01: master #6
address 03: master #11
address 06: slave #6, scanned "MF=TEM;ID=25440;SW=0113;HW=0000"
address 08: slave #11, scanned "MF=TEM;ID=WE_1 ;SW=3632;HW=3030"
address 10: master #2
address 13: master #12
address 15: slave #2, scanned "MF=TEM;ID=24849;SW=0605;HW=0102"
address 18: slave #12, scanned "MF=TEM;ID=WE_2 ;SW=3632;HW=3030"
address 31: master #8, ebusd
address 36: slave #8, ebusd

root@ServerEbus:/etc/ebusd# ebusctl grab result
1003050a00 = 1
1013050a00 = 1
100305020101 = 1
101305020101 = 1
10fe080109661f00800000001a00 = 2
10fe0802080000003500000300 = 1
100305010a00003510000000000000 = 3
101305010a00183510000000000100 = 3
011506210400800040 / 0a00800d02f4010cfe9d00 = 6
011506210400840040 / 0a04800d02e8030000e201 = 8
011506210400e00040 / 0a60800d02e80300003a01 = 8
011506210402b50040 / 0a35810000ff0000000000 = 8
011506210402c60040 / 0a46410428ffff0000bbad = 8
011506210402c80040 / 0a4841042a9f050000f102 = 8
031005030c010000003014ff3f00000500 = 6
131005030c011a000030ffff3f43000100 = 6

Dre83

Hallo in die Runde,
ich habe eine Frage zum Import der Temperatur des Kollektors auf dem Dach. An meiner Solarstation (VAILLANT auroFLOW exclusive) kann ich die Temperatur des Kollektors auf dem Dach auslesen.
Dies möchte ich auch gern über Ebus um die Temperatur in Grafana einzubinden.

Die csv-Datei wird aus meiner Sicht auch korrekt eingelesen.

address ec: slave, scanned "MF=Vaillant;ID=SOL00;SW=0613;HW=6903", loaded "vaillant/ec.sol.sc.csv"


Die Temperatur des Kollektors finde ich in den csv. Datei hier:
r,,Col,KOL,,,,"0400",,,tempsensor,,,value and sensorstate of the collector sensor,,,

Wenn ich die Temperatur abfrage, erhalte ich das:
pi@raspberrypi:~ $ ebusctl r -c sc col
ERR: invalid position in decode


Auch über ./readall.sh

erhalte ich diesen Fehler.
sc Col = ERR: invalid position in decode

Wo könnte der Fehler liegen? Ich vermute das irgendwas an der csv-Datei nicht passt.

Prof. Dr. Peter Henning

ZitatWo könnte der Fehler liegen? Ich vermute das irgendwas an der csv-Datei nicht passt.
Bestimmt.

Ich habe schon ungefähr 200 Seiten vorher geraten, nicht mit den CSV-Dateien zu arbeiten. Sondern diese in ein Programm wie Excel oder LibreOffice Calc zu importieren und von dort aus zu exportieren. Irgendwo im contrib-Ordner gibt es auch noch die Beispieldatei mit den entsprechenden Makros.

LG

pah

Winny1904

Ja aber ich muss ja anscheinend mit der CSV arbeiten wegen der Ochsner Heizung.

Ich bräuchte da mal Hilfe.


root@ServerEbus:/etc/ebusd# ebusctl info
version: ebusd 21.2.v21.2
update check: OK
signal: acquired
symbol rate: 81
max symbol rate: 119
min arbitration micros: 2
max arbitration micros: 20
min symbol latency: 10
max symbol latency: 37
reconnects: 0
masters: 5
messages: 15
conditional: 0
poll: 0
update: 4
address 01: master #6
address 03: master #11
address 06: slave #6, scanned "MF=TEM;ID=25440;SW=0113;HW=0000"
address 08: slave #11, scanned "MF=TEM;ID=WE_1 ;SW=3632;HW=3030"
address 10: master #2
address 13: master #12
address 15: slave #2, scanned "MF=TEM;ID=24849;SW=0605;HW=0102"
address 18: slave #12, scanned "MF=TEM;ID=WE_2 ;SW=3632;HW=3030"
address 31: master #8, ebusd
address 36: slave #8, ebusd


root@ServerEbus:/etc/ebusd# ebusctl grab result all
10fe070009800c32171011100121 = 1527: broadcast datetime
10fefe010a53453630202045204f4b = 255: broadcast error
1003050a00 = 573
1013050a00 = 573
3106070400 / 0a10323534343001130000 = 3: scan.06
3108070400 / 0a1057455f312036323030 = 3: scan.08
3115070400 / 0a10323438343906050102 = 3: scan.15
3118070400 / 0a1057455f322036323030 = 3: scan.18
100305020101 = 573
101305020101 = 573
10fe050d0a0000800000800080ffff = 573
10fe080109002000800000331e00 = 108
10fe0801091920008000c0b31a01 = 121
10fe0801093320008000c0b31a01 = 206
10fe0801094d1f00800008e61900 = 186
10fe080109661d00800008b31900 = 80
10fe080109801f00800008191a00 = 121
10fe0801099a1f00800008661a00 = 316
10fe080109b31f00800008191b00 = 100
10fe080109cd1f008000084d1c00 = 187
10fe080109e61f00800000001d00 = 102
10fe0802080000003500000300 = 1527
10fe10150b0204020101d10100800080 = 53
100305010a0000350b000000000000 = 744
100305010a0000350c000000000000 = 1243
100305010a554e350b646401000001 = 114
100305010aee1a350c00a101000000 = 93
100305010aee1a350b00a101000000 = 96
101305010a001a350b000000000100 = 840
101305010a004e350b000001000101 = 114
101305010a0019350c000000000100 = 1
101305010a001a350c000000000100 = 1335
011506210400800040 / 0a00800d02f4010cfe7d00 = 6911
011506210400840040 / 0a04800d02e8030000fb01 = 6915
011506210400e00040 / 0a60800d02e80300004101 = 6912
011506210402b50040 / 0a35810000ff0000000300 = 6907
011506210402c60040 / 0a46410428ffff0000bfad = 6908
011506210402c80040 / 0a4841042a9f0500006902 = 6904
0115062104068e0040 / 0a0e430000020001000100 = 51
031005030c010000003414ff3f00000500 = 4872
031005030c010040003f19ff3f00000500 = 17
031005030c010240003218ff3f00000500 = 40
031005030c010300003313ff3f81000500 = 81
031005030c010148644019ff3f00000500 = 717
131005030c0103000033ffff3fc3000100 = 81
131005030c011a000034ffff3f43000100 = 5646


# /etc/default/ebusd:
# config file for ebusd service.

# Options to pass to ebusd (run "ebusd -?" for more info):
EBUSD_OPTS="-d enh:/dev/ttyAMA0 --latency=50 --receivetimeout=100000 -l /var/log/ebusd.log --scanconfig=full  -c, --configpath=/etc/ebusd/22102.csv
  --httpport=8889  --htmlpath=/va$"

# MULTIPLE EBUSD INSTANCES WITH SYSV
# In order to run multiple ebusd instances on a SysV enabled system, simply
# define several EBUSD_OPTS with a unique suffix for each. Recommended is to
# use a number as suffix for all EBUSD_OPTS settings. That number will then be
# taken as additional "instance" parameter to the init.d script in order to
# start/stop an individual ebusd instance instead of all instances.
# Example: (uncomment the EBUSD_OPTS above)
#EBUSD_OPTS1="--scanconfig -d /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A50285BI-if00-port0 -p 8888 -l /var/log/ebusd1.log"
#EBUSD_OPTS2="--scanconfig -d /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900acTF-if00-port0 -p 8889 -l /var/log/ebusd2.log"
#EBUSD_OPTS3="--scanconfig -d /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900beCG-if00-port0 -p 8890 -l /var/log/ebusd3.log"

# MULTIPLE EBUSD INSTANCES WITH SYSTEMD
# In order to run muiltiple ebusd instances on a systemd enabled system, just
# copy the /usr/lib/systemd/system/ebusd.service file to /etc/systemd/system/
# with a different name (e.g. ebusd-2.service), remove the line starting with
# 'EnvironmentFile=', and replace the '$EBUSD_OPTS' with the options for that
# particular ebusd instance.