Läuft: Heizung mit eBus-Schnittstelle

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

Vorheriges Thema - Nächstes Thema

Reinhart

#3255
Hallo,

ja das sieht ja schon gut aus und die csv werden geladen. Von sich aus werden nur Broadcast übertragen, den Rest musst du entscheiden was du brauchst und wann du die Daten holen willst. Schau dir dazu die zahlreichen Beiträge über ECMD oder MQTT2 an. Da du offensichtlich Neueinsteiger auf diesem Gebiet bist, kannst du auch GAEBUS nehmen das geht einfacher zu konfigurieren.


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

jkret

Danke Rainhart für den Check und die Info mit dem Broadcast.
Deine weiteren Tipps sind, wenn ich es richtig gelesen habe, für FHEM-Nutzer.
Ich muß mich outen, ich teste zur Zeit IOBroker...
Bei mir läuft schon einiges: Shellys mit Original-SW, D1miniPro und SonOffs mit Tasmota über MQTT.
Nur beim ebus tue ich mich schwer!

Prinzipiell sollte es aber auf ebusd-Ebene im Raspberry gleich sein.
Wo werden denn die weiteren Daten und die Abrufintervalle vereinbart, noch auf dieser Ebene oder im FHEM/IOBroker?
Ich benutze die Standard-Config in /etc/default/ebusd dieser Installation, muß ich diese ändern?
EBUSD_OPTS="--scanconfig"

Für MQTT muß ich ja auch noch die IP und die Zugangsdaten irgendwo hinterlegen?

Danke

Jens

Reinhart

ja die config musst du auf jeden Fall anpassen und eine Version von ebusd nehmen der für MQTT compiliert worden ist, bzw. selber complilieren. Lies bitte dazu das Wiki von John da ist das beschrieben wie du das compilieren musst.

hier ein Beispiel was man bei MQTT alles für Parameter in der config setzen muss:
EBUSD_OPTS="-d /dev/ttyebus -p 8888 -l /var/log/ebusd.log --scanconfig  --accesslevel=* --mqttport=1883 --mqttjson --mqtthost=10.0.0.5 --mqtttopic=ebusd/%circuit/%name --latency=20000 --address=01"

Die Abrufintervalle musst du hinterlegen, hier ein Beispiel wie ich so einen Timer setze:
+*00:10:00 set ebusMQTT publish ebusd/430/Hc1HeatCurve/get;
set ebusMQTT publish ebusd/430/HwcTempDesired/get;
set ebusMQTT publish ebusd/bai/WaterPressure/get;
set ebusMQTT publish ebusd/bai/FlowTemp/get;
set ebusMQTT publish ebusd/bai/ReturnTemp/get;

ebusMQTT ist hier der MQTT Device des Servers (in deinem Fall der MQTT Broker) und die 5 Messwerte werden mit "publish und /get" abgeholt.
Es ist eigentlich egal ob du mit IOBroker oder Fhem arbeitest, MQTT bleibt MQTT und ist ein definiertes Protokoll.

Aber du wirst schon gesehen haben, es gibt bei diesem Thema einiges wo du dich einlesen musst, das waren jetzt nur ein paar grundlegende Dinge.

LG

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

chri123

Thema Polling

Zitat von: john30 am 24 Januar 2021, 09:01:34
ob ein Parameter gepollt wird, steht in der Definition. Das ist die Ziffer 1-9 als Priorität hinter dem "r"=read der ersten Spalte.
Das kann auch zur Laufzeit z.B. mit ebusctl read -p 1 ... geändert werden.
Genauen Einfluss darauf, wann am Ende wirklich der Poll gemacht wird, hat man durch die Prioritäten nicht. Man kann nur festlegen, was einem wichtiger oder weniger wichtig ist.
Wenn Pollinterval auf 1 Minute steht und es gibt 10 Nachrichten derselben Priorität (und sonst keine), wird 1x pro Minute 1 dieser 10 Nachrichten gepollt. Dementsprechend ist der Zyklus nach 10 Minuten durch und es geht von vorne los.
D.h. in diesem Fall hat jede Nachricht ein Alter von 9 bis 10 Minuten, ergo würde die Abfrage mittels ebusctl r ... nie aus dem Cache beantwortet werden können, nur mit ebusctl r -m 600 ...

Oha, ich dachte, nach dem Pollintervall werden ALLE Parameter mit Prio-Nummer gelesen.
Das heisst, ich schreibe in die CSV-Dateien, die ebusd (ebusctl info)erkennt, eine Prio-Nummer meiner Wahl und das wird dann gepollt. Was passiert dann nach einem Update der Dateien, die der ebusd ja auch anstösst?
Oder kann ich eine Datei erzeugen, die quasi als Master die Definitionen immer wieder überschreibt?

Wieviel Traffic kann denn so eine Vaillant Steuerung "ertragen"?

Gruss
Christoph

john30

Zitat von: chri123 am 26 Januar 2021, 22:47:16
Das heisst, ich schreibe in die CSV-Dateien, die ebusd (ebusctl info)erkennt, eine Prio-Nummer meiner Wahl und das wird dann gepollt. Was passiert dann nach einem Update der Dateien, die der ebusd ja auch anstösst?
Wenn das in den Files steht, dann bleibts über Neustart hinaus natürlich erhalten. Wenn Du über den Webservice die Configs beziehst, dann geht das verloren. Aber mit dem Config Editor, an dem ich gerade arbeite, lässt sich das dann persistieren.

Zitat von: chri123 am 26 Januar 2021, 22:47:16
Oder kann ich eine Datei erzeugen, die quasi als Master die Definitionen immer wieder überschreibt?
das wäre dann einfach ein lokaler clone vom ebusd-config repo.

Zitat von: chri123 am 26 Januar 2021, 22:47:16
Wieviel Traffic kann denn so eine Vaillant Steuerung "ertragen"?
das kannst du im Prinzip austesten. Solange die Regelung davon nicht beeinträchtigt wird, kannst Du das pollinterval reduzieren. Das Minimum liegt bei einer Sekunde und ebusd pollt natürlich nur, wenn der Bus gerade frei ist.
author of ebusd

tommyl

Hallo, ich habe meinen wlan Adapter auf Version 3 upgedatet, ebenso auf dem Raspi auf V3.1. Jetzt habe ich folgende Probleme und stehe komplett auf dem Schlauch:
- Ebusd startet nicht mehr automatisch obwohl ich die Befehle aus der Anleitung ausgeführt habe (hoffe ich)
- vorher konnte ich mit "ebusd/HwcOPMode/get" und "ebusd/HwcOPMode/set" den Betriebsmodus Warmwasserkreis lesen/setzen. Dies funktioniert jetzt nicht mehr. Das Topic hat sich scheinbar auch auf ebusd/bai/ geändert. Ich habe hier gesehen, dass man den HwcOPMode an die VRC430 Steuerung mit ebusd/430/HwcOPMode schicken kann, aber auch dies ergibt keine Antwort.
Das Scanresult ist:
08;Vaillant;BAI00;0516;7401;;;;;;;
15;Vaillant;43000;0215;2002;21;08;41;0020028515;0907;008196;N2

- update auf Version 3.4 wird angeraten, aber wie?

Vielen Dank für Eure Hilfe!
Grüße,
Thomas

Reinhart

was hast du denn für einen Adapter, V3 oder V2?
ich habe gerade mit meinem Adapter V3 folgendes getestet:

set ebusMQTT publish ebusd/430/HwcOPMode/get

und erhalte "auto", also ok
ebusd_430_HwcOPMode {"0": {"name": "", "value": "auto"}} 2021-02-07 18:30:27


Die Topic selbst habe ich in der Config so eingestellt
--mqtttopic=ebusd/%circuit/%name

Übrigens, der HwcOPMode wird auch im Staus02 (bai) als erster Wert übertragen!

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

tommyl

#3262
Hallo,

ich habe den V2 Adapter mit Wifi Extension.

in Node-RED schreibe ich:
ebusd/430/HwcOPMode/get
Nutzdaten sind dabei leer, so war es bisher.

und bekomme als Antwort:
ebusd/430/HwcOPMode/get : msg.payload : string[0]""
bzw ist das wohl das Echo meiner Nachricht im debugger. Ich bekomme also keine Antwort.

im logfile steht:

2021-02-07 22:06:50.684 [mqtt error] read message 430 HwcOPMode not found
2021-02-07 22:06:58.378 [bus error] unable to open 192.168.11.13:8889: ERR: generic I/O error
2021-02-07 22:07:06.538 [bus error] unable to open 192.168.11.13:8889: ERR: generic I/O error
2021-02-07 22:07:14.698 [bus error] unable to open 192.168.11.13:8889: ERR: generic I/O error
2021-02-07 22:07:22.858 [bus error] unable to open 192.168.11.13:8889: ERR: generic I/O error
2021-02-07 22:07:31.018 [bus error] unable to open 192.168.11.13:8889: ERR: generic I/O error
2021-02-07 22:07:39.178 [bus error] unable to open 192.168.11.13:8889: ERR: generic I/O error
2021-02-07 22:07:47.338 [bus error] unable to open 192.168.11.13:8889: ERR: generic I/O error


Grüße

Reinhart

hast du schon mit ebusctl in der Console getestet ob da was kommt?

pi@eBus:~ $ ebusctl r -f HwcOPMode
auto


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

tommyl

es geht jetzt wieder  :D

Es lag wohl an dem Parameter
--mqtttopic=ebusd/%circuit/%name
diesen hatte ich nicht mit angegeben.

Bleibt noch das Problem mit dem Autostart von ebusd wenn der Raspi neu startet.

Vielen Dank!

Reinhart

#3265
eigentlich sollte der Start mit "sudo make install" in der /etc/systemd eingetragen worden sein. Schau doch einfach ob du dort die Datei "ebusd.service" mit folgendem Inhalt findest.

[Unit]
Description=ebusd, the daemon for communication with eBUS heating systems.
After=network-online.target
ConditionPathExists=/var/log

[Service]
Type=forking
Restart=always
RestartSec=30
PIDFile=/var/run/ebusd.pid
EnvironmentFile=-/etc/default/ebusd
ExecStart=/usr/bin/ebusd $EBUSD_OPTS

[Install]
WantedBy=multi-user.target



ansonsten schau hier.

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

tommyl

Danke! Anscheined hab ich das damals falsch installiert gehabt! Jetzt klappt es.

Vielleicht noch ein Hinweis für nicht Linux Kenner... Wenn man der Anleitung https://github.com/john30/ebusd/wiki/1.-Build-and-install von John30 folgt, muss man vor ./autogen.sh noch
sudo apt-get install libmosquitto-dev
ausführen, sonst wird es ohne MQTT Support installiert. Steht ja da, kann man aber überlesen.

LG,
Thomas

Hasont

Hallo, ich habe eine einfache Vaillant Heizung mit CalorMatic 430 und such mir grad einen Wolf wie ich die Heizungsraumtemperatur im Automaticbetrieb ändern kann.

Im Manuellen Betrieb geht das mit    write -c 430 Hc1ManualOPRoomTempDesired 20

Hab schon Port8891/data ausgelesen aber kann keinen entsprechend Parameter finden.
Die dafür in Frage kommenden sind alle read only.

localhost: find -d
430 ActualRoomTempDesiredHc1 = 24.00
430 DisplayedHc1RoomTempDesired = 23.0
430 DisplayedRoomTemp = 21.50
430 Hc1HeatCurve = 1.40
430 Hc1ManualOPRoomTempDesired = 22.0
430 Hc1OPMode = auto
430 OutsideTemp = 2.00;ok
430 RoomTemp = 23.75;ok
bai DateTime = valid;15:44:05;14.02.2021;3.000
bai FanHours = 16927
bai FlowTemp = 69.00;ok
bai HcHours = 14972
bai HwcHours = 1739
bai PumpHours = 28878
bai ReturnTemp = 63.38;64521;ok
bai SetMode = auto;62.0;50.0;-;0;0;1;0;0;0
bai Status01 = 64.0;63.0;3.000;62.0;58.0;off
bai Status02 = auto;60;69.0;80;57.0
bai StatusCirPump = off
bai StorageTemp = 58.00;ok
bai WaterPressure = 1.683;ok
broadcast outsidetemp = 2.000
broadcast vdatetime = 15:43:57;14.02.2021

Danke schon mal für eure Unterstützung
Horst

Reinhart

du brauchst ja nur in der 15.430.csv nachschauen und da gibt es nur diesen einen Wert "manuell" der Raumtemperatur zum einstellen.

r;w,,Hc1ManualOPRoomTempDesired,Raumtemperatur Soll Heizkreis 1 (manuell),,,,"3200",,,temp1,,,room setpoint in operation mode manual of the first heating circuit


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

Hasont

OK, danke für die Info
Eigentlich Schade wäre aber aus meiner Sicht ein wichtiger Parameter gewesen den man am 430 durch einfaches Drehen am rechten Rad realisieren kann.
Muss man jetzt halt in den Keller ;-)
LG
Horst