Weishaupt WTC am eBus mit ebusd

Begonnen von J0EK3R, 19 November 2016, 13:51:45

Vorheriges Thema - Nächstes Thema

J0EK3R

#105
Hallo Curt  :)

Ein ,,Umsetzer" in diesem Zusammenhang ist nichts anderes als ein Pegelwandler, also eine Schaltung, über die man einen PC/Raspberry/usw. über die serielle Schnittstelle mit dem eBus verbinden kann, um die Signale - die Informationen, die über den Bus huschen - mithören bzw. selbst welche versenden zu können.

Dieses Mithören/Versenden macht dann eine Software; beispielsweise ebusd.

Es gibt verschiedene selbstentwickelte Schaltungen (auch von hier im Forum), die man sich besorgen und dann selbst zusammenlöten muss - oder jemand von hier bietet inzwischen fertige Umsetzer an?
Und es gibt kommerzielle Produkte:
https://www.esera.de/produkte/ebus/135/1-wire-hub-platine
https://www.esera.de/produkte/ebus/142/ebus-koppler-ethernet

Die Software ebusd, um die es hier eigentlich geht, die läuft dann beispielsweise auf einem Raspberry oder Linux-PC.
Bei mir läuft sowohl ebusd als auch FHEM als docker-Container auf einem NAS - ich habe den kommerziellen Umsetzer mit Ethernet-Schnittstelle.

Es gab mal einen ,,User Club eBUS". Das war ein Zusammenschluss von Kessel-Herstellern zur ,,Pflege des eBUS-Protokolls". Dort gab es allgemeine Definitionen zum eBus.
Jetzt findet man hier viele Informationen:
http://ebus-wiki.org/doku.php

Das Weishaupt WEA ist ein Umsetzer von eBus auf die serielle Schnittstelle und eine Software, über die man Parameter aus den verschiedenen Geräten auslesen kann. Inzwischen viel zu teuer! Und der Umsetzer funktioniert meines Wissens nicht mit ebusd.
http://www.loebbeshop.de/weishaupt/heizsysteme/zubehoer/service/pc-software-wea.htm

Soweit ich weiß, spielt die Firmware-Version des WTC für die Telegramme, die die Geräte untereinander austauschen (Prozessdaten) keine Rolle. Ein Mithören sollte möglich sein.
Die Parameter(-Adressen) (die Einstellungen, die man über die Fernbedienung macht) hingegen, die sind von der Firmware abhängig.
Diese Firmware-Version sind Parameter, die man sich am WTC und der Fernbedienung anzeigen lassen kann.

Wie weiter? ...ins kalte Wasser springen, Geld ausgeben, viel Zeit investieren, die hohe Einstiegshürde überwinden und dann irgendwann das gesteckte Ziel erreichen!  ;)

Viele Grüße
J0EK3R

john30

Hallo Curt,

Zitat von: curt am 02 April 2018, 01:26:55
Die genannte "Umsetzer"-Platine gibt es bei Reichelt nicht (mehr), auch die Erweiterungsplatine nicht.

Du meintest wahrscheinlich Reinhard :) Reichelt hat unsere Platine bis jetzt noch nicht im Programm ;D

Also wenn Du noch eine fertig gelötete und getestete Adapter Platine brauchst: ich hab noch eine hier. Der fehlen nur momentan die Wemos zur Anbindung über WLAN, aber wenn Du direkt via USB arbeiten willst, dann kann ich Dir ein Päckchen schnüren :-) Die Wemos sind aber auch bestellt und sollten in den nächsten Tagen eintreffen.

LG John
author of ebusd

curt

Hallo John,

das klingt sehr schön. Du hast PN.
RPI 4 - Jeelink HomeMatic Z-Wave

curt

#108
Zitat von: J0EK3R am 02 April 2018, 08:20:02
Ein ,,Umsetzer" in diesem Zusammenhang ist nichts anderes als ein Pegelwandler, also eine Schaltung, über die man einen PC/Raspberry/usw. über die serielle Schnittstelle mit dem eBus verbinden kann, um die Signale - die Informationen, die über den Bus huschen - mithören bzw. selbst welche versenden zu können.

Ich muss lernen genauer zu lesen ...

Also den RPi muss ich mir selbst besorgen?
Würde denn auch ein RPi Zero W gehen?
Was nun wieder "Wemos" sind - habe ich auch noch nicht verstanden: Ein RPi Zero W hat doch Wlan schon an Bord, reicht das denn nicht?

Zitat von: J0EK3R am 02 April 2018, 08:20:02
Wie weiter? ...ins kalte Wasser springen, Geld ausgeben, viel Zeit investieren, die hohe Einstiegshürde überwinden und dann irgendwann das gesteckte Ziel erreichen!  ;)

Du erwähnst alle meine Lieblinge ... ansich knall ich grad das Geld raus, weil ich neugierig bin.

Dazu muss ich erklären, dass ich an meiner Weishauptheizung noch nie irgendwas eingestellt oder gar geregelt habe (peinlicherweise sollte ich das wegen meines Studiums ansich können, es interessierte mich aber nie). Das macht alles der Heizungsmonteur und dann stellt da noch der Schornsteinfeger jährlich was rum. Ist halt so. Und ich habe es schön warm - mein Problem ist NICHT Energieeinsparung (Niedrigenergiehaus, von meinen Werten träumen andere).

Meine Idee ist die des naiven kleinen Kinds:
Ich will mal gucken, was meine schöne Heizung mir alles zu erzählen hat. (Und, aus dem Kindermusical Tabaluga & Lilli: "Mit roten Knöpfen spielt man nicht!")

@J0EK3R @john30
RPI 4 - Jeelink HomeMatic Z-Wave

john30

author of ebusd

carlos

#110
Hi,
Jetzt brauche ich wohl etwas Hilfe  in diesem thread.

Ausgangssituation ist folgende:

ebus adapter 2.1 mit ebusd vom git selbst kompiliert mit den Weishaupt Konfig Dateien.

Weishaupt WTC-15A mit Erweiterungsmodul WCM-EM 2.1 und Fernbedienstation WCM-FS 2.0
Solarregler WRSol 1.0

Der ebus 2.1 adapter ist zusammen mit der Fernbedienstation am ebus Eingang des Erweiterungsmoduls angeklemmt.

ebus info:
ebusctl info
version: ebusd 3.2.v3.2-3-g5bf4667
update check: revision v3.2-2-g1737636 available, broadcast.csv: different version available
access: *
signal: acquired
symbol rate: 23
max symbol rate: 121
min arbitration micros: 32
max arbitration micros: 159
min symbol latency: 5
max symbol latency: 24
reconnects: 0
masters: 6
messages: 548
conditional: 0
poll: 0
update: 9
address 03: master #11
address 07: master #16
address 08: slave #11, scanned "MF=Kromschroeder;ID=W ;SW=1200;HW=0302", loaded "kromschroeder/08..sc.csv"
address 0c: slave #16, scanned "MF=-;ID=??;SW=-;HW=-"
address 30: master #3
address 31: master #8, ebusd
address 35: slave #3, scanned "MF=Kromschroeder;ID=W ;SW=2724;HW=-", loaded "kromschroeder/35..hc1.csv"
address 36: slave #8, ebusd
address 70: master #4
address 75: slave #4, scanned "MF=Kromschroeder;ID=W ;SW=7203;HW=-", loaded "kromschroeder/75..hc2.csv"
address f1: master #10
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST?;SW=1200;HW=0302", loaded "kromschroeder/f6..sc.csv"


ebus f:
ebusctl f
broadcast datetime = 15.000;20:48:-;13.05.2018
broadcast error = no data stored
broadcast ident = no data stored
broadcast ident = no data stored
broadcast signoflife = no data stored
hc1 Adaption = no data stored
hc1 BCAST1 = no data stored
hc1 BCAST2 = no data stored
hc1 DHWMin = no data stored
hc1 DHWMode = no data stored
hc1 DHWSetpoint = no data stored
hc1 DHWSetValue = no data stored
hc1 DHWTemperature = no data stored
hc1 EndOfHoliday.Day = no data stored
hc1 EndOfHoliday.Month = no data stored
hc1 EndOfHoliday = no data stored
hc1 ExternalTemperature = no data stored
hc1 FrostProtection = no data stored
hc1 Gradient = no data stored
hc1 HeatDemand = no data stored
hc1 HeatingDemand = no data stored
hc1 HolidayTemp = no data stored
hc1 HP1.Di.1 = no data stored
hc1 HP1.Di.2 = no data stored
hc1 HP1.Di.3 = no data stored
hc1 HP1.Do.1 = no data stored
hc1 HP1.Do.2 = no data stored
hc1 HP1.Do.3 = no data stored
hc1 HP1.Fr.1 = no data stored
hc1 HP1.Fr.2 = no data stored
hc1 HP1.Fr.3 = no data stored
hc1 HP1.Mi.1 = no data stored
hc1 HP1.Mi.2 = no data stored
hc1 HP1.Mi.3 = no data stored
hc1 HP1.Mo.1 = no data stored
hc1 HP1.Mo.2 = no data stored
hc1 HP1.Mo.3 = no data stored
hc1 HP1.Sa.1 = no data stored
hc1 HP1.Sa.2 = no data stored
hc1 HP1.Sa.3 = no data stored
hc1 HP1.So.1 = no data stored
hc1 HP1.So.2 = no data stored
hc1 HP1.So.3 = no data stored
hc1 HP2.Di.1 = no data stored
hc1 HP2.Di.2 = no data stored
hc1 HP2.Di.3 = no data stored
hc1 HP2.Do.1 = no data stored
hc1 HP2.Do.2 = no data stored
hc1 HP2.Do.3 = no data stored
hc1 HP2.Fr.1 = no data stored
hc1 HP2.Fr.2 = no data stored
hc1 HP2.Fr.3 = no data stored
hc1 HP2.Mi.1 = no data stored
hc1 HP2.Mi.2 = no data stored
hc1 HP2.Mi.3 = no data stored
hc1 HP2.Mo.1 = no data stored
hc1 HP2.Mo.2 = no data stored
hc1 HP2.Mo.3 = no data stored
hc1 HP2.Sa.1 = no data stored
hc1 HP2.Sa.2 = no data stored
hc1 HP2.Sa.3 = no data stored
hc1 HP2.So.1 = no data stored
hc1 HP2.So.2 = no data stored
hc1 HP2.So.3 = no data stored
hc1 HP3.Di.1 = no data stored
hc1 HP3.Di.2 = no data stored
hc1 HP3.Di.3 = no data stored
hc1 HP3.Do.1 = no data stored
hc1 HP3.Do.2 = no data stored
hc1 HP3.Do.3 = no data stored
hc1 HP3.Fr.1 = no data stored
hc1 HP3.Fr.2 = no data stored
hc1 HP3.Fr.3 = no data stored
hc1 HP3.Mi.1 = no data stored
hc1 HP3.Mi.2 = no data stored
hc1 HP3.Mi.3 = no data stored
hc1 HP3.Mo.1 = no data stored
hc1 HP3.Mo.2 = no data stored
hc1 HP3.Mo.3 = no data stored
hc1 HP3.Sa.1 = no data stored
hc1 HP3.Sa.2 = no data stored
hc1 HP3.Sa.3 = no data stored
hc1 HP3.So.1 = no data stored
hc1 HP3.So.2 = no data stored
hc1 HP3.So.3 = no data stored
hc1 LegionnairesFunction = no data stored
hc1 MaxDHWTemp = no data stored
hc1 MaxSupplyTemperature = no data stored
hc1 MinSupplyTemperature = no data stored
hc1 MixedExternalTemperature = no data stored
hc1 NormalSetTemp = no data stored
hc1 ProgramChooseSwitch = no data stored
hc1 ReducedSetTemp = no data stored
hc1 Reduces = no data stored
hc1 RoomInfluence = no data stored
hc1 RoomSensorCorrection = no data stored
hc1 RoomSetValue = no data stored
hc1 RoomTemperature = no data stored
hc1 RoomThermostat = no data stored
hc1 Set = hotwater;startconsumer;34.69;-;-;55.0;-
hc1 StartOfHoliday.Day = no data stored
hc1 StartOfHoliday.Month = no data stored
hc1 StartOfHoliday = no data stored
hc1 Status = no data stored
hc1 SummerWinterChangeOverTemperature = no data stored
hc1 SupplySetValueHC = no data stored
hc1 SupplyTemperatureHC = no data stored
hc1 SupplyTemperatureWTC = no data stored
hc1 SwitchOffSetting = no data stored
hc1 SwitchOnSetting = no data stored
hc1 TypeOfConstruction = no data stored
hc1 WP.Di.1 = no data stored
hc1 WP.Di.2 = no data stored
hc1 WP.Di.3 = no data stored
hc1 WP.Do.1 = no data stored
hc1 WP.Do.2 = no data stored
hc1 WP.Do.3 = no data stored
hc1 WP.Fr.1 = no data stored
hc1 WP.Fr.2 = no data stored
hc1 WP.Fr.3 = no data stored
hc1 WP.Mi.1 = no data stored
hc1 WP.Mi.2 = no data stored
hc1 WP.Mi.3 = no data stored
hc1 WP.Mo.1 = no data stored
hc1 WP.Mo.2 = no data stored
hc1 WP.Mo.3 = no data stored
hc1 WP.Sa.1 = no data stored
hc1 WP.Sa.2 = no data stored
hc1 WP.Sa.3 = no data stored
hc1 WP.So.1 = no data stored
hc1 WP.So.2 = no data stored
hc1 WP.So.3 = no data stored
hc1 ZP.Di.1 = no data stored
hc1 ZP.Di.2 = no data stored
hc1 ZP.Di.3 = no data stored
hc1 ZP.Do.1 = no data stored
hc1 ZP.Do.2 = no data stored
hc1 ZP.Do.3 = no data stored
hc1 ZP.Fr.1 = no data stored
hc1 ZP.Fr.2 = no data stored
hc1 ZP.Fr.3 = no data stored
hc1 ZP.Mi.1 = no data stored
hc1 ZP.Mi.2 = no data stored
hc1 ZP.Mi.3 = no data stored
hc1 ZP.Mo.1 = no data stored
hc1 ZP.Mo.2 = no data stored
hc1 ZP.Mo.3 = no data stored
hc1 ZP.Sa.1 = no data stored
hc1 ZP.Sa.2 = no data stored
hc1 ZP.Sa.3 = no data stored
hc1 ZP.So.1 = no data stored
hc1 ZP.So.2 = no data stored
hc1 ZP.So.3 = no data stored
hc2 Adaption = no data stored
hc2 BoilerMKIncrease = no data stored
hc2 DHWOperation = no data stored
hc2 EndOfHoliday.Day = no data stored
hc2 EndOfHoliday.Month = no data stored
hc2 EndOfHoliday = no data stored
hc2 ExternalTemperature = no data stored
hc2 FloorDryingDay = no data stored
hc2 FloorDryingFunction = no data stored
hc2 FloorDryingTemperature = no data stored
hc2 FrostProtection = no data stored
hc2 Gradient = no data stored
hc2 HeatDemand = no data stored
hc2 HeatingDemand = no data stored
hc2 HolidayTemp = no data stored
hc2 HP1.Di.1 = no data stored
hc2 HP1.Di.2 = no data stored
hc2 HP1.Di.3 = no data stored
hc2 HP1.Do.1 = no data stored
hc2 HP1.Do.2 = no data stored
hc2 HP1.Do.3 = no data stored
hc2 HP1.Fr.1 = no data stored
hc2 HP1.Fr.2 = no data stored
hc2 HP1.Fr.3 = no data stored
hc2 HP1.Mi.1 = no data stored
hc2 HP1.Mi.2 = no data stored
hc2 HP1.Mi.3 = no data stored
hc2 HP1.Mo.1 = no data stored
hc2 HP1.Mo.2 = no data stored
hc2 HP1.Mo.3 = no data stored
hc2 HP1.Sa.1 = no data stored
hc2 HP1.Sa.2 = no data stored
hc2 HP1.Sa.3 = no data stored
hc2 HP1.So.1 = no data stored
hc2 HP1.So.2 = no data stored
hc2 HP1.So.3 = no data stored
hc2 HP2.Di.1 = no data stored
hc2 HP2.Di.2 = no data stored
hc2 HP2.Di.3 = no data stored
hc2 HP2.Do.1 = no data stored
hc2 HP2.Do.2 = no data stored
hc2 HP2.Do.3 = no data stored
hc2 HP2.Fr.1 = no data stored
hc2 HP2.Fr.2 = no data stored
hc2 HP2.Fr.3 = no data stored
hc2 HP2.Mi.1 = no data stored
hc2 HP2.Mi.2 = no data stored
hc2 HP2.Mi.3 = no data stored
hc2 HP2.Mo.1 = no data stored
hc2 HP2.Mo.2 = no data stored
hc2 HP2.Mo.3 = no data stored
hc2 HP2.Sa.1 = no data stored
hc2 HP2.Sa.2 = no data stored
hc2 HP2.Sa.3 = no data stored
hc2 HP2.So.1 = no data stored
hc2 HP2.So.2 = no data stored
hc2 HP2.So.3 = no data stored
hc2 HP3.Di.1 = no data stored
hc2 HP3.Di.2 = no data stored
hc2 HP3.Di.3 = no data stored
hc2 HP3.Do.1 = no data stored
hc2 HP3.Do.2 = no data stored
hc2 HP3.Do.3 = no data stored
hc2 HP3.Fr.1 = no data stored
hc2 HP3.Fr.2 = no data stored
hc2 HP3.Fr.3 = no data stored
hc2 HP3.Mi.1 = no data stored
hc2 HP3.Mi.2 = no data stored
hc2 HP3.Mi.3 = no data stored
hc2 HP3.Mo.1 = no data stored
hc2 HP3.Mo.2 = no data stored
hc2 HP3.Mo.3 = no data stored
hc2 HP3.Sa.1 = no data stored
hc2 HP3.Sa.2 = no data stored
hc2 HP3.Sa.3 = no data stored
hc2 HP3.So.1 = no data stored
hc2 HP3.So.2 = no data stored
hc2 HP3.So.3 = no data stored
hc2 MaxMixerRuntime = no data stored
hc2 MaxPumpSpeed = no data stored
hc2 MaxSupplyTemperature = no data stored
hc2 MinPumpSpeed = no data stored
hc2 MinSupplyTemperature = no data stored
hc2 MixedExternalTemperature = no data stored
hc2 NormalSetTemp = 22.0
hc2 ProgramChooseSwitch = no data stored
hc2 ReducedSetTemp = no data stored
hc2 Reduces = no data stored
hc2 RoomInfluence = no data stored
hc2 RoomSensorCorrection = no data stored
hc2 RoomSetValue = no data stored
hc2 RoomTemperature = no data stored
hc2 RoomThermostat = no data stored
hc2 Set = hotwater;-;26.69;-;-;-;-
hc2 SpeedVariation = no data stored
hc2 StartOfHoliday.Day = no data stored
hc2 StartOfHoliday.Month = no data stored
hc2 StartOfHoliday = no data stored
hc2 Status = no data stored
hc2 SummerWinterChangeOverTemperature = no data stored
hc2 SupplySetValueHC = no data stored
hc2 SupplyTemperatureHC = no data stored
hc2 SupplyTemperatureWTC = no data stored
hc2 SwitchOffSetting = no data stored
hc2 SwitchOnSetting = no data stored
hc3 HeatingDemand = no data stored
hc3 Status = no data stored
hc4 HeatingDemand = no data stored
hc4 Status = no data stored
hc5 HeatingDemand = no data stored
hc5 Status = no data stored
hc6 HeatingDemand = no data stored
hc6 Status = no data stored
hc7 HeatingDemand = no data stored
hc7 Status = no data stored
hc8 HeatingDemand = no data stored
hc8 Status = no data stored
memory eeprom = no data stored
memory ram = no data stored
sc Act = 1;BrennerAus;1;1;1;0;0;0;0;0;0;Summer;0;0;0;0;0;Heating;0;63.0;30.0;56.0;0.0;15;20.207;8
sc BoilerSensorDefective = no data stored
sc BurnerOperationSinceLastService = no data stored
sc CRCErrorHeatingEngeneerParameter = no data stored
sc CRCErrorManufacturerParameter = no data stored
sc DHWSensorDefective = no data stored
sc Enduser = no data stored
sc ErrorHistory = no data stored
sc ErrorSCOTCalibration4 = no data stored
sc ErrorSCOTCalibration5 = no data stored
sc ErrorSCOTCalibration6 = no data stored
sc ErrorSCOTCalibration8 = no data stored
sc ErrorSCOTControlInput = no data stored
sc ErrorSCOTIOControl = no data stored
sc ErrorVoltagSupply = no data stored
sc ExternalSensorDefektive = no data stored
sc FanFaultDuringOperation = no data stored
sc FanFaultDuringShutdown = no data stored
sc FlameFailureDuringOperation = no data stored
sc FlameSimulation = no data stored
sc FlueGasSensorDefective = no data stored
sc GasValveCycleV1V2Defective = no data stored
sc GPSFailureDuringSafetyTime = no data stored
sc H2EmergencyOffFunction = no data stored
sc Manufacturer1 = no data stored
sc Manufacturer2 = no data stored
sc NoFlameFormation = no data stored
sc NoGasPressureAvailable = no data stored
sc ProcessValues1 = no data stored
sc ProcessValues2 = no data stored
sc ProcessValues3 = no data stored
sc ProcessValues4 = no data stored
sc ProcessValues5 = no data stored
sc ProcessValues6 = no data stored
sc PWMPumpDefective = no data stored
sc SetpointDHW = no data stored
sc SetpointTempSystem = no data stored
sc Statistic1 = no data stored
sc Statistic2 = no data stored
sc Statistic3 = no data stored
sc Statistic4 = no data stored
sc Statistic5 = no data stored
sc Statistic6 = no data stored
sc StatisticUkn01 = no data stored
sc StatisticUkn02 = no data stored
sc StatisticUkn03 = no data stored
sc StatisticUkn04 = no data stored
sc StatisticUkn05 = no data stored
sc WWTurbineDefective = no data stored
scan.08  = Kromschroeder;W ;1200;0302
scan.0c  = -;??;-;-
scan.35  = Kromschroeder;W ;2724;-
scan.75  = Kromschroeder;W ;7203;-
scan.f6  = Kromschroeder;WWST?;1200;0302


Damit habe in FHEM schon mal folgende devices anlegen können.
ECMDDevice
Weishaupt.BC.Date 13.05.2018
Weishaupt.BC.ExternalTemp15.000
Weishaupt.BC.Time 20:53:-
Weishaupt.SC.Act.Operatingphase BrennerAus
Weishaupt.SC.Act.Status1 1

Ist das alles was man hier bekommt oder muss ich noch was anders konfigurieren?

Wäre dankbar wenn mir hier jemand weiterhelfen könnte.

Danke und Gruß

Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

J0EK3R

Hallo Carlos,

ich versuche mal freihändig zu antworten, ich hab mich lange nicht mehr mit dem Thema beschäftigt:
Dein Aufbau scheint prinzipiell zu funktionieren - Telegramme kommen an und die Dateien mit den Definitionen werden geladen.  :)

Für das folgende Gerät gibt es (noch) keine Definitionen - ich vermute, dass dieses Gerät mit dem Solar-Kreislauf zu tun hat:

address 07: master #16
address 0c: slave #16, scanned "MF=-;ID=??;SW=-;HW=-"


Die passende Datei müsste dann beispielsweise "0c..soc.csv" heißen "0c" für die Adresse, "soc" vielleicht für "SOlarCircuit".
Auffallend ist, dass sich dieser Busteilnehmer weder mit Herstellerkennung, noch mit einer ID meldet.
Die Telegrammdefinitionen für dieses Gerät, müsste jemand erarbeiten...  :-X

Die Ausgabe von "ebusctl f" gibt im Prinzip alle definierten Telegramme aller geladenen Definitionen aus und deren aktuelle Werte.
Bei Dir gibt es welche, die bereits dekodiert und gespeichert wurden (-> broadcast datetime = 15.000;20:48:-;13.05.2018) und welche, die noch nicht über den eBus gehuscht sind (-> no data stored).

Jetzt muss man noch wissen, dass es Telegramme gibt, die das System von sich aus über den Bus schickt (Bsp. broadcast datetime = 15.000;20:48:-;13.05.2018).
Die kann ebusd, wenn sie definiert sind, einfach mithören - das sind dann die, bei denen nicht "no data stored" steht.
Und es gibt welche, die man aktiv lesen muss (Bsp. hc1 ProgramChooseSwitch = no data stored).
In den Definitionen beginnen die einen mit einem "b" für "broadcast", die anderen mit "r" für "read" und "w" für "write".

Das aktive Lesen - hier die Stellung des Programmwahlschalters - würde beispielsweise so aussehen:

ebusctl r -f -c hc1 ProgramChooseSwitch


Ich selbst polle die über einen Timer - allerdings über MQTT.

defmod mqtt.timer.ebusd at +*00:00:10\
set Mosquitto publish ebusd/sc/FlameFailureDuringOperation/*/get;;\
set Mosquitto publish ebusd/sc/NoFlameFormation/*/get;;\
set Mosquitto publish ebusd/hc1/SummerWinterChangeOverTemperature/SuWiChangeOverTemperature/get;;\
set Mosquitto publish ebusd/hc1/ProgramChooseSwitch/ProgramChooseSwitch/get;;\
set Mosquitto publish ebusd/hc2/SummerWinterChangeOverTemperature/SuWiChangeOverTemperature/get;;\
set Mosquitto publish ebusd/hc2/ProgramChooseSwitch/ProgramChooseSwitch/get;;
attr mqtt.timer.ebusd group Logic
attr mqtt.timer.ebusd room Heizung,MQTT


Jetzt kommt die schlechte Nachricht:
Die bestehenden Definitionen sind für meine Versionen von WTC und Fernbedienung.
Soweit ich das aus der Ferne erkenne, ist Deine Anlage neuer!


Mit Glück funktionieren die Definitionen der Telegramme weiterhin - falls sich die Adressen nicht geändert haben. Sonst währe viel Arbeit notwendig...
In diesem Thread haben einige geschrieben, die auch eine neuere Anlage haben. Vielleicht kontaktierst Du die mal, wie deren Stand der Dinge ist.

Wenn Du die log-Datei beobachtest, dann siehst Du, welche Telegramme bekannt sind und dekodiert wurden und welche nicht.
tail -f /var/log/ebusd.log

Noch ein Tipp:
Ich bin inzwischen weg vom ECMDDevice und auf MQTT umgestiegen.
https://github.com/J0EK3R/ebusd-configuration-weishaupt/wiki/ebusd-mqtt-fhem

carlos

Hallo J0EK3R,
Danke für die Infos, das hilft schon mal weiter.
Ich habe jetzt mal alles auf MQTT umgestellt(gefällt mir besser ) da ich das auch schon mit meinen sonoffs benutze.
Dank hexenmeisters Generic MQTT Bridge geht das sehr gut.

Da gibts es dann jede Menge Readings, die man mit ebus f auch sieht.
Auch muss man erst mal verstehen was das alles ist(gibts da eine Beschreibung?).
D.h aus meiner Sicht funktionieren ein grossteil der Telegramme noch auch mit meiner Anlage.

Bzgl der WRSol habe ich mal die datei vom hc1 auf "0c..soc.csv" kopiert, die wird aber nicht geladen.
Dass die Datei nicht korrekt ist, ist mir schon bewusst, aber das Verständnis dafür wie ich diese aufbauen muss habe ich leider nicht.

Könntest du mir mal deine FHEM config für deine Anlage zur verfügung stellen.
Im ersten Ansatz würden mir schon mal deine Definition der Werte und die plots reichen wie du sie im git beschrieben hast.
Das mit der Solaranlage ist ja wohl ein größerer Aufwand.
Mal sehen ob ich mir das antue.
Da brauche ich aber erst mehr Verständns der Telegramme, die da über den ebus huschen.

Danke und Gruß

Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

J0EK3R

Hallo Carlos,

hier eine schnelle Antwort dazu, dass "0c..soc.csv" nicht geladen wird:

Das Gerät meldet sich bekanntermaßen so:

address 0c: slave #16, scanned "MF=-;ID=??;SW=-;HW=-"


ebusd sucht die Dateien zu den Geräten in den entsprechenden ,,Herstellerverzeichnissen".
Also für Geräte mit ,,MF=Kromschroeder" im entsprechenden Verzeichnis ,,Kromschroeder".

Jetzt gibt dieses Gerät keine Herstellerkennung zurück (@John: oder ist dieser Hersteller in ebusd noch nicht bekannt?) und ebusd kann somit in keinem Herstellerverzeichnis suchen.

Hier wäre es sehr interessant, dieses Telegramm mit der Herstellerkennung und den Versionsständen als Roh-Telegramm zu sehen. Meinst Du, Du könntest das hier posten?  8)

Vielleicht hilft es, die Datei "0c..soc.csv" eine Verzeichnisebene höher, also nicht in einem Herstellerverzeichnis, abzulegen...
Einen Versuch wäre es wert.

Die Beschreibung für die Werte ist teilweise zu finden in
https://github.com/J0EK3R/ebusd-configuration-weishaupt/tree/master/weishaupt/Documentation

...allerdings war ich da nicht sonderlich fleißig und sauber...  :-[
Im Prinzip steht vieles auch in den Weishaupt-Anleitungen.

Natürlich könnte ich meine FHEM-Konfiguration bereitstellen.
Momentan muss ich meine Zeit allerdings für andere Dinge nutzen. ...ich komm zu nix!  ::)
Ich schau mal, ob ich die Tage was machen kann.

Viele Grüße
J0EK3R



carlos

Hallo J0EK3R

Ich habe mal auf raw umgestellt und ein scan 0c gemacht
Ergebnis:

2018-05-17 16:17:17.694 [main debug] >>> scan 0c                                                                                                                                                         
2018-05-17 16:17:17.696 [main debug] <<< 0c;-;??;-;-                                                                                                                                                     
2018-05-17 16:17:17.920 [bus notice] <30500902030c000214                                                                                                                                                 
2018-05-17 16:17:17.920 [bus debug] ERR: SYN received during receive command ACK, switching to ready                                                                                                     
2018-05-17 16:17:18.005 [bus notice] <30500902030c000214                                                                                                                                                 
2018-05-17 16:17:18.005 [bus debug] ERR: SYN received during receive command ACK, switching to ready                                                                                                     


Zum Vergleich habe ich das auch noch mal mit scan 08 gemacht:

2018-05-17 16:14:18.178 [main debug] >>> scan 08                                                                                                                                                         
2018-05-17 16:14:18.180 [main debug] <<< 08;Kromschroeder;W ;1200;0302                                                                                                                                   
2018-05-17 16:14:18.634 [bus notice] <0750090203990102ff                                                                                                                                                 


Kannst du da mit was anfangen?

Gruß

Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

J0EK3R

Hallo Carlos,

Deine geposteten scan-Nachrichten kommen mir spanisch vor...

2018-05-17 16:17:17.694 [main debug] >>> scan 0c                                                                                                                                                         
2018-05-17 16:17:17.696 [main debug] <<< 0c;-;??;-;-                                                                                                                                                     
2018-05-17 16:17:17.920 [bus notice] <30500902030c000214 

Das Telegramm wird von Master-Adresse 0x30 nach Adresse 0x50 geschickt - hat nix mit Adresse 0x0c zu tun, die gescannt werden soll.
"0902" ist der Lese-Dienst.


2018-05-17 16:14:18.178 [main debug] >>> scan 08                                                                                                                                                         
2018-05-17 16:14:18.180 [main debug] <<< 08;Kromschroeder;W ;1200;0302                                                                                                                                   
2018-05-17 16:14:18.634 [bus notice] <0750090203990102ff

Dieses Telegramm wird von Master-Adresse 0x07 nach 0x50 geschickt - ist aber auch vom Typ "0902", dem Lese-Dienst.

Ich habe mal etwas herumgespielt, wie das bei mir aussieht:
Dabei habe ich festgestellt, dass ebusd auf das scan-Kommando bereits "gefundene" Geräte nicht erneut aktiv scannt, sondern das entsprechende Ergebnis ausgibt.

Hier als Beispiel meine Geräte:

/ # ebusctl scan result                                                                                                                                                                                                                         
08;Kromschroeder;W ;0216;0101                                                                                                                                                                                                                   
35;Kromschroeder;W ;2635;0000                                                                                                                                                                                                                   
51;Kromschroeder;;3233;0001                                                                                                                                                                                                                     
75;Kromschroeder;W ;2635;0000                                                                                                                                                                                                                   
f6;Kromschroeder;WWST?;0216;0101


Was hilft, ist ein ebusctl scan full. Dann ballert ebusd scan-Telegramme für den kompletten Adressbereich raus:

2018-05-19 16:25:55.840 [bus notice] >ff02070400b0                                                                                                                                                                                             
2018-05-19 16:25:55.913 [bus notice] >ff04070400ef                                                                                                                                                                                             
2018-05-19 16:25:55.987 [bus notice] >ff05070400b1                                                                                                                                                                                             
2018-05-19 16:25:56.061 [bus notice] >ff0607040053                                                                                                                                                                                             
2018-05-19 16:25:56.160 [update notice] sent scan.08  QQ=ff: Kromschroeder;W ;0216;0101                                                                                                                                                         
2018-05-19 16:25:56.160 [bus notice] scan 08: ;Kromschroeder;W ;0216;0101                                                                                                                                                                       
2018-05-19 16:25:56.161 [bus notice] >ff0807040051<000a50570f0000b10216010101>00                                                                                                                                                               
2018-05-19 16:25:56.284 [bus notice] >ff090704000f                                                                                                                                                                                             
2018-05-19 16:25:56.358 [bus notice] >ff0a070400ed                                                                                                                                                                                             
2018-05-19 16:25:56.433 [bus notice] >ff0b070400b3                                                                                                                                                                                             
2018-05-19 16:25:56.507 [bus notice] >ff0c070400b2                                                                                                                                                                                             
2018-05-19 16:25:56.581 [bus notice] >ff0d070400ec


Hier das Ergebis für Adresse 0x08:

2018-05-19 16:25:56.160 [update notice] sent scan.08  QQ=ff: Kromschroeder;W ;0216;0101                                                                                                                                                         
2018-05-19 16:25:56.160 [bus notice] scan 08: ;Kromschroeder;W ;0216;0101                                                                                                                                                                       
2018-05-19 16:25:56.161 [bus notice] >ff0807040051<000a50570f0000b10216010101>00


Also:
Master-Teil des Telegramms: Adresse 0xFF (ebusd bei mir) an Adresse 0x08, Dienst "0704" mit Datenlänge "00" und Checkbyte "51"
Slave-Teil: "00" k.A., "0a" -> Länge der folgenden Daten 10, "50" -> MF 0x50="kromschröder", "570f0000b1" -> "W    ", "0216" SW-Version, "0101" HW-Version.

Siehe https://github.com/john30/ebusd/wiki/4.7.-Automatic-configuration

Ich hatte übrigens große Probleme mit der Standard-Adresse 0x31 von ebusd - ich bekam von den Geräten oft keine Antwort.
Deshalb fahre ich mit der Adresse für ebusd mit der höchsten Priorität: 0xff

/ # ebusctl i                                                                                                                                                                                                                                   
version: ebusd 3.1.v3.1-23-g275fd68                                                                                                                                                                                                             
signal: acquired                                                                                                                                                                                                                               
symbol rate: 31                                                                                                                                                                                                                                 
max symbol rate: 172                                                                                                                                                                                                                           
min arbitration micros: 20                                                                                                                                                                                                                     
max arbitration micros: 7063                                                                                                                                                                                                                   
min symbol latency: 0                                                                                                                                                                                                                           
max symbol latency: 99                                                                                                                                                                                                                         
reconnects: 0                                                                                                                                                                                                                                   
masters: 5                                                                                                                                                                                                                                     
messages: 551                                                                                                                                                                                                                                   
conditional: 0                                                                                                                                                                                                                                 
poll: 0                                                                                                                                                                                                                                         
update: 10                                                                                                                                                                                                                                     
address 03: master #11                                                                                                                                                                                                                         
address 04: slave #25, ebusd (answering)                                                                                                                                                                                                       
address 08: slave #11, scanned "MF=Kromschroeder;ID=W ;SW=0216;HW=0101", loaded "kromschroeder/08..sc.csv"                                                                                                                                     
address 30: master #3                                                                                                                                                                                                                           
address 35: slave #3, scanned "MF=Kromschroeder;ID=W ;SW=2635;HW=0000", loaded "kromschroeder/35..hc1.csv"                                                                                                                                     
address 51: slave, scanned "MF=Kromschroeder;ID=;SW=3233;HW=0001", loaded "kromschroeder/51..hc2.csv"                                                                                                                                           
address 70: master #4                                                                                                                                                                                                                           
address 75: slave #4, scanned "MF=Kromschroeder;ID=W ;SW=2635;HW=0000", loaded "kromschroeder/75..hc2.csv"                                                                                                                                     
address f1: master #10                                                                                                                                                                                                                         
address f6: slave #10, scanned "MF=Kromschroeder;ID=WWST?;SW=0216;HW=0101", loaded "kromschroeder/f6..sc.csv"                                                                                                                                   
address ff: master #25, ebusd (answering)


Ich hoffe, das hilft Dir etwas weiter.

Grüße
J0EK3R

carlos

Hallo J0EK3R
Ich habe dir mal das komplette ebusd.log angehängt, vielleicht lässt sich da mehr entnehmen.
Habe auch mal ein ebusctl scan full gemacht, entsprechende log Einträge sind im log zu sehen.

ZitatIch hatte übrigens große Probleme mit der Standard-Adresse 0x31 von ebusd - ich bekam von den Geräten oft keine Antwort.
Deshalb fahre ich mit der Adresse für ebusd mit der höchsten Priorität: 0xff
Habe ich jetzt auch so gemacht. Keine Ahnung ob sich da eine Verbesserung ergeben hat.

Was komisch ist, dass bei mir  in der Zwischenzeit die outsidetemp -100.000 sein soll.
War vorher korrekt.

Gruß

Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

john30

Hi Jochen,

sorry für das Delay, komme gerade zu nichts.

Zitat von: J0EK3R am 30 Mai 2018, 17:58:07
Auffällig ist das Gerät mit Adresse 0x0c

2018-05-29 08:48:49.582 [bus notice] >ff0c070400b2<000affffff000080ffffffff0e>00
2018-05-29 08:48:49.582 [main error] unable to load scan config 0c: list files in - ERR: element not found

hm, das ist etwas merkwürdig, da trotz korrekter CRC der Hersteller Code auf 0xff steht, was kein bis dato bekannter Hersteller Code ist. Der Wert 0xff ist zudem etwas speziell, da dieser der Replacement Value von UCH ist und somit in "-" übersetzt wird. Damit sucht ebusd im Ordner "-" nach Konfigurationsdateien.

Zitat von: J0EK3R am 30 Mai 2018, 17:58:07
und hier: outsidetemp -100 !?!

2018-05-29 08:48:44.324 [update info] received BC cmd: 30fe070009009cff480929050319
2018-05-29 08:48:44.324 [update notice] received update-read broadcast datetime QQ=30: -100.000;09:48:-;29.05.2019

Auch hier sind die CRCs in Ordnung, weshalb ich davon ausgehe, dass -100 ein stand-in für sowas wie "unbekannt" oder "unlesbar" ist. Auffällig ist auch die 0xff im Sekundenteil des time Felds. Das ist wider Replacement für "unbekannt" o.ä., bewegt sich aber schon etwas am Rande der Spezifikation. Anyway, der Rest von Uhrzeit und Datum passen zusammen, sofern das System als Zeitzone UTC eingestellt hat.

Zitat von: J0EK3R am 30 Mai 2018, 17:58:07
Und das Gerät mit Adresse 0x50

2018-05-29 08:48:52.798 [bus debug] ERR: wrong symbol received during send SYN, switching to skip
2018-05-29 08:48:52.847 [bus notice] <0afd
2018-05-29 08:48:53.127 [bus notice] <305050140711001c339c006e8f
2018-05-29 08:48:53.127 [bus debug] ERR: SYN received during receive command ACK, switching to ready
2018-05-29 08:48:53.225 [bus notice] <305050140711001c339c006e8f
2018-05-29 08:48:53.226 [bus debug] ERR: SYN received during receive command ACK, switching to ready

hier antwortet das adressierte Gerät einfach nicht in der dafür von der Spezifikation vorgesehenen Zeit, weshalb dann der SYN Generator eingreift.
author of ebusd

mathein

Frage in die Runde:
Hat es schon mal jemand geschafft, per ebusctl Parameter (z.B. Warmwasser-Solltemperatur oder irgendwas anderes) einer Weishaupt WTC-15A zu ändern ? Lesen geht bei mir einwandfrei, aber bei Schreibbefehlen passiert entweder gar nichts oder es gibt Fehlermeldungen.
Gruß, Matthias.

J0EK3R

Hallo Matthias  :)

...ich bin zwar nicht mehr ganz im Thema drin, habe aber eine Ahnung:
Kann es an der Adresse liegen, die ebusd verwendet...

Zitat von: J0EK3R am 18 Dezember 2016, 15:16:54
...
Verlässliche Antworten auf meine 0902-Requests gibt es von den Heizkreisreglern (0x35, 0x75) nur dann, wenn die Anfragen von Master 1 mit Adresse 0x00 (Master 1 PC/Modem) oder Master 25 mit Adresse 0xFF (Master 25 PC) kommen.

Deshalb vermute ich, dass die Heizkreisregler einfach so programmiert sind, dass sie nur auf diese beiden Adressen vernünftig antworten.  8)

Die Weishaupt-Diagnosesoftware "WCMDiagnose" verwendet übrigens auch die Adresse 0xFF für die Parameteranfragen.

Jetzt stellt sich mir nur noch die Frage, ob ich den ebusd mit Adresse 0x00 oder 0xFF betreiben soll.
Ist die Adresse 0x00 nicht die, die jeden Arbitrierungswettstreit gewinnen würde? Damit könnte ich den Standard-eBus-Verkehr durcheinander bringen, oder?
...