Läuft: Heizung mit eBus-Schnittstelle

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

Vorheriges Thema - Nächstes Thema

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 Raspy5 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 Raspy5 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

tommyl

#3260
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 Raspy5 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

#3263
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 Raspy5 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 Raspy5 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

cs-online

Zitat von: Hasont am 14 Februar 2021, 17:19:41
Hallo, ich habe eine einfache Vaillant Heizung mit CalorMatic 430 und such mir grad einen Wolf wie ich die Heizungsraumtemperatur im Automaticbetrieb ändern kann.

Vielleicht eine blöde Frage, aber was ist denn der manuelle und was der Automatikbetrieb ?

Grüße Christian
FHEM auf DELL Thinclient, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway+Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem TC und da geht noch mehr

Reinhart

ich kann mir das so erklären, das "automatik" die Außentemperatur Steuerung aktiviert und alles über die Heizkurve gesteuert wird. In dieser Betriebsart stellt man auch den Regler auf Vollanschlag rechts. "Manuell" wird dann über den Regler ( Poti ) gesteuert.

Ich würde bei Einsatz einer Calormartic ohnehin den Witterungsgeführten Modus bevorzugen da hier zusätzlich durch Steuerung der Heizkurve der Vorlauf beeinflusst und nachgeregelt werden kann. Ein fest eingestellter Vorlauf kann abgesehen vom ungemütlichen Raumklima erhebliche Kosten verursachen. Aber das muss jeder selbst wissen was er machen will und wie weit er in die Steuerung eingreift.

Die Heizkurve selbst ist ja auch nur ein Standardwert und kann von Gebäude zu Gebäude stark abweichen und bedarf deshalb auch einer intelligenten Feinregelung. Wenn es kalt ist passt sie wunderbar, wenns wärmer wird dann greift meine Regelung hier stark ein und muss die Kurve je nach Wärmebedarf erhöhen. Das liegt aber hauptsächlich daran, weil ich den Fühler auf der Südseite montiert habe was aber unumstritten seine Vorteile hat.

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