Modul zur Anbindung Viessmann Heizung (Vitotronic 200 KW1)

Begonnen von Adam, 15 Februar 2014, 18:17:35

Vorheriges Thema - Nächstes Thema

pure-current

Hallo Adam,

Zitat
Adresse Fehlerhistorie0~0x7507 mit 9 mal 9 Byte

also:
(POLL,01F7750501,1ByteU,1,Fehler1, -) - die erste Fehlernummer (1ByteU) steht an 0x7507
(POLL,01F7750608,date,1,Fehlerzeit1, -) - dann folgen 8 Bytes (date) mit Datum und Zeit
(POLL,01F77514011ByteU,1,Fehler2, -) - dann folgt die nächste Fehlernummer
(POLL,01F7751508,date,1,Fehlerzeit2, -) - dann folgen 8 Bytes (date) mit Datum und Zeit
usw
usw

Du  schreibst ab Adresse 7507, aber ist in dem Ausschnit mit den POLLs nicht versehentlich die 7505 reingerutscht?
Oder hab' ich das mit der Adresslogik in der .cfg falsch verstanden?

Ich hab's mit deinen POLLs versucht, da kommt aber bei den Datumswerten ein Quatsch raus.
Zitat
Fehlerzeit1 Mi,15.20.ffe9 11:03:02
Fehlerzeit2 ,ff.ff.ffff 20:14:12
Und in FHEM gibt's nen Perl Fehler...
Zitat
PERL WARNING: Use of uninitialized value $vcday in concatenation (.) or string at ./FHEM/99_VCONTROL.pm line 1024.

Ich probiers jetzt noch mal mit 7507, 7508, 7516(?), 7517(?)
Gruß Rainer
Raspberry PI mit drei stackable CC (2x866MHz-HM&WMBUS, 1x433MHz-Somfy)
HM-LAN (Keymatic, Dimmer, Bewegungsmelder, Rolladen, Lichtschalter, KFM100)
div. Tasmota via MQTT

2. Raspberry Pi/FHEM im Wohnmobil (Heizungsregelung,GPS) Batterieüberwachung-toDo

Adam

#676
Ja mein Fehler,

wenn dann muss es so sein:


  • (POLL,01F7750701,1ByteU,1,Fehler1, -) - die erste Fehlernummer (1ByteU) steht an 0x7507
  • (POLL,01F7750808,date,1,Fehlerzeit1, -) - dann folgen 8 Bytes (date) mit Datum und Zeit
  • (POLL,01F7751001,ByteU,1,Fehler2, -) - dann folgt die nächste Fehlernummer
  • (POLL,01F7751108,date,1,Fehlerzeit2, -) - dann folgen 8 Bytes (date) mit Datum und Zeit
  • usw
  • usw

8Byte ab 7508 sind ja :7508 , 7509, 750A, 750B, 750C, 750D, 750E, 750F

d.h nächste Adresse ist 7510

pure-current

Hallo Adam,

ich hab's mal mit deinen letzten Werten probiert, da kommt aber (leider) bei mir nichts sinnvolles raus.

Fehler1  233  2015-03-12 16:34:00
Fehler2  233  2015-03-12 16:34:06
Fehlerzeit1  ,ff.ff.ffff ff:ff:ff  2015-03-12 16:34:03
Fehlerzeit2  ,ff.ff.ffff ff:ff:ff  2015-03-12 16:34:09

(warum ist da eigentlich ein Komma vor dem vermeintlichen Datumswert?!)
Raspberry PI mit drei stackable CC (2x866MHz-HM&WMBUS, 1x433MHz-Somfy)
HM-LAN (Keymatic, Dimmer, Bewegungsmelder, Rolladen, Lichtschalter, KFM100)
div. Tasmota via MQTT

2. Raspberry Pi/FHEM im Wohnmobil (Heizungsregelung,GPS) Batterieüberwachung-toDo

Adam

233 wäre ja E9. Gibt es denn Fehlercode???

Hast Du Deine Fehlerhistorie am Gerät zurück gesetzt?
Vielleicht gibt es ja zur Zeit keinen gesetzten und deswegen ist die Uhrzeit komplett auf FF gesetzt!?

Vielleicht mal im Fehlerfall auslesen!?

pure-current

Ja, E9 ist genau der Fehler der die letzten 2 mal auftrat.
Dass 233 ja Hex E9 ist - hab ich nicht erkannt  ;D 8)

Ich war vorhin unten an der Heizung und hab mir mal die Fehlerhistorie angesehen.
An der Anlage wird gar kein Datum angezeigt und auch in der Serviceanleitung ist nichts von einem Datum erwähnt, nur dass die Einträge chronologisch rückwärts angezeigt werden..
Wahrscheinlich wird gar kein Datum abgelegt.

Ich hab jetzt mal die Historie gelöscht. Jetzt steht da am Heizungsdisplay überall 0 drin.

Aber ohne Datum müsste ich ja - um einen Fehler erkennen zu können - die Historie nach jedem Fehler löschen, was ja dem eigentlichen Sinn einer Fehlerhistorie widerspricht.

Vom Ansatz her ne prima Idee, aber ohne Fehlerdatum find ichs problematisch.

Gruß und gute Nacht, Rainer
Raspberry PI mit drei stackable CC (2x866MHz-HM&WMBUS, 1x433MHz-Somfy)
HM-LAN (Keymatic, Dimmer, Bewegungsmelder, Rolladen, Lichtschalter, KFM100)
div. Tasmota via MQTT

2. Raspberry Pi/FHEM im Wohnmobil (Heizungsregelung,GPS) Batterieüberwachung-toDo

Adam

Wenn E9 der richtige Fehlercode ist sind wir ja schon mal auf der richtigen Spur.

Warum das Datum nicht gesetzt ist weiss ich nicht?
In einem anderen Forum habe ich gelesen, dass es dort steht,
aber vielleicht ist das auch wieder Heizungstyp abhängig.

ZitatAber ohne Datum müsste ich ja - um einen Fehler erkennen zu können - die Historie nach jedem Fehler löschen,
Könnte man ja über einen SET Befehl von FHEM ausprobieren, die Adresse auf 00 setzen, nach auswerten des Fehlercodes !?

Ach und das hatte ich übersehen:
Zitat(warum ist da eigentlich ein Komma vor dem vermeintlichen Datumswert?!)
Es wird versucht aus FF ein Wochentag Mo-So zu ermitteln, da da nix bei raus kommt steht da nic vor dem Komma!

pure-current

OK, das mit dem von FHEM aus zurücksetzen könnte ich probieren.
Die Fehler-Historie wäre ja dann in FHEM in nem LOG möglich.

Ich will jetzt mal den Fall beobachten, dass aktuell ein sperrender Fehler ansteht, mal schauen was sich da in den Registern tut, jetzt wo ich Byte Werte auslese.
Das kann doch nicht sein, dass ich alles mögliche aus der Steuerung rauslesen kann aber keinen anstehenden Fehler...   

Ich bleib' am Ball und werde berichten, sobald sich was tut!

Gruß Rainer
Raspberry PI mit drei stackable CC (2x866MHz-HM&WMBUS, 1x433MHz-Somfy)
HM-LAN (Keymatic, Dimmer, Bewegungsmelder, Rolladen, Lichtschalter, KFM100)
div. Tasmota via MQTT

2. Raspberry Pi/FHEM im Wohnmobil (Heizungsregelung,GPS) Batterieüberwachung-toDo

alipp

Zitat von: morbusp am 09 März 2015, 20:33:02
So, ich verstehe zwar nicht ganz warum, aber jetzt funktioniert der Partymodus...
Mögliche Erklärung:
Die Heizung war vor kurzem stromlos (Fi-Test mit Kneifzange, Schwamm drüber). Ich hatte jetzt mal beherzt an der Heizung auf den Party-Knopf gedrückt und in FHEM die Readings beobachtet. Da ist der Party-Modus korrekt mit "on" erkannt worden. Ich konnte ihn dann sogar ausschalten und auch wieder anschalten über FHEM. Mag sein, dass die blinkende Temperaturanzeige im Display (21°C) auf Bestätigung gewartet hat und der Partymodus deshalb nicht aktiv wurde (siehe oben). Beim Sparmodus muss keine Temperatur bestätigt werden, vielleicht funktionierte der deshalb auf Anhieb...
morbusp

Hallo

Bei mir funktioniert das Modul sehr schön stabil - den bug mit dem Setzen des Party Modus habe ich jedoch von Anfang an. Ich kann WW, HWW, ... alles lesen und setzen aber eben NICHT den Party Modus. Wenn ich allerdings an der Heizung einmal "manuell" Party einschalte, kann ich es danach via fhem beliebig oft ein/aus schalten.
Meine Logs sehen genauso aus wie die von morbusp, Befehl wird übernommen aber irgendwie im System (also der Heizung selbst) nicht umgesetzt.

Wenn ich mit Logs, etc dienen kann - gerne.

alipp

Adam

Hallo alipp,

ich glaube nicht, dass ich im Modul etwas ändern kann.
Die Logs von morbusp haben, gezeigt, dass der Wert zu der Party Adresse gesendet wird
und von der Heizung bestätigt wird. Aber leider nicht gesetzt wird!

Da kann man im Modul nichts machen. Es sei denn man kann dieses manuelle Party setzen simulieren, aber wie?

Gruß
Adam

Postfach2000

#684
Hallo Leute,
ich habe das Modul bei mir auch in Betrieb genommen. Ich habe einen Vitola 222 mit einer Vitotronic 200 KW1 und einem Optolink Adapter.

Neben den Standards frage ich auch die Abgastemperatur über einen PT500 Fühler und die Innentemperatur über das Vitotrol 300 ab.

Dadurch konnte ich auch einen Hysterese Schalter (Threshold) einbauen, der die Heizung ab einem bestimmten Temperaturwert (21,8 Grad) im Haus vollständig abschaltet. zB wenn die Sonne scheint.

Außerdem habe ich mir einen Heizungsstatus Umschalter (Dropdown) mit setlist gebaut und 2 Slider, mit denen ich die Raumsolltemperatur und Absenktemperatur einstellen kann.

Bei einem auftretenden Fehler wird mir eine Mail geschickt mit dem Fehlerspeicher (die 10 letzten Fehler).

Meinen Raspi 2 habe ich auf eine SQLite Datenbank umgestellt, die auf einem USB Stick liegt. Geloggt werden nur noch Werte, die sich ändern, das reduziert die Datenlast.

Sollte jemand Interesse an Details haben, dann kann ich gerne noch genaueres posten.

@Adam: danke für deine Arbeit.

Viele Grüße
Michael

Motivierte linke Hände

Das klingt super und sehr ähnlich zu dem, was ich hier auch gerne implementieren würde. Aktuell scheitere ich aber an ganz anderer Stelle, nämlich einen Handwerker zu finden mit Interesse daran, eine Heizung zu verkaufen und einzubauen...  ::)
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

PeMue

Zitat von: Postfach2000 am 17 April 2015, 13:53:29
Neben den Standards frage ich auch die Abgastemperatur über einen PT500 Fühler und die Innentemperatur über das Vitotrol 300 ab.

Außerdem habe ich mir einen Heizungsstatus Umschalter (Dropdown) mit setlist gebaut und 2 Slider, mit denen ich die Raumsolltemperatur und Absenktemperatur einstellen kann.

Bei einem auftretenden Fehler wird mir eine Mail geschickt mit dem Fehlerspeicher (die 10 letzten Fehler).

Sollte jemand Interesse an Details haben, dann kann ich gerne noch genaueres posten.
Hallo Michael,

klar habe ich Interesse  :)

Danke + Gruß

PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Postfach2000

Hallo Leute
hier noch ein paar Bilder:

(https://farm9.staticflickr.com/8716/17175589612_b5ea82b0c5_z.jpg)

(https://farm8.staticflickr.com/7690/16969834147_67de007ef1_z.jpg)

(https://farm9.staticflickr.com/8827/16557067383_f3809cc8ba.jpg)

(https://farm8.staticflickr.com/7640/17175589582_88208ddb46.jpg)

Postfach2000

Hier einige Auszüge aus meinen Config Files:


1.) Heizungs Device in fhem.cfg:
define Heizung VCONTROL /dev/ttyUSB0 V200KW1.cfg 180
attr Heizung devStateIcon ABSCHALT:viessmann_abschalt.png WW:viessmann_ww H\+WW:viessmann_h_ww H\+WW\x20FS:viessmann_h_ww
attr Heizung event-on-change-reading state,Stoerung,Fehler1,Fehler2,Fehler3,Fehler4,Fehler5,Fehler6,Fehler7,Fehler8,Fehler9,Fehler10,BrennerStartsLastDay,BrennerStundenLastDay,BrennerStundenToday,OelverbrauchToday,OelverbrauchLastDay,Temp-Abgas,Temp-Raum-Aktuell,Temp-Aussen,Temp-WarmWasser-Ist,Temp-WarmWasser-Soll,Temp-Kessel-Ist,Temp-Kessel-Soll,Brenner,BrennerStarts,Oelverbrauch,Heizkreispumpe,Warmwasserpumpe,Zirkulationspumpe,state,state_party,state_spar,BrennerStunden,BrennerStunden2,Temp-Raum-Soll,Temp-Nacht-Soll,Temp-Party-Soll,Oelverbrauch-Codierung,SystemZeit,Urlaub-Beginn,Urlaub-Ende,Urlaub-Betrieb,Neigung,Niveau,TIMER_2_MO,TIMER_3_DI,TIMER_4_MI,TIMER_5_DO,TIMER_6_FR,TIMER_0_SA,TIMER_1_SO,TIMER_WW_2_MO,TIMER_WW_3_DI,TIMER_WW_4_MI,TIMER_WW_5_DO,TIMER_WW_6_FR,TIMER_WW_0_SA,TIMER_WW_1_SO
attr Heizung room Geräte,Haus
attr Heizung setList state:AUS,ABSENK,TAG,HWW,WW,P-ON,P-OFF,S-ON,S-OFF


2.) Fehler Readingsgroup in fhem.cfg:
define Fehler readingsGroup Heizung:,<Stoerung>,Stoerung Heizung:,<Fehler1>,Fehler1 Heizung:,<Fehler2>,Fehler2 Heizung:,<Fehler3>,Fehler3 Heizung:,<Fehler4>,Fehler4 Heizung:,<Fehler5>,Fehler5 Heizung:,<Fehler6>,Fehler6 Heizung:,<Fehler7>,Fehler7 Heizung:,<Fehler8>,Fehler8 Heizung:,<Fehler9>,Fehler9 Heizung:,<Fehler10>,Fehler10
attr Fehler nameStyle style="color:yellow"
attr Fehler room Fehlercodes
attr Fehler valueFormat {FehlerMap($VALUE);;}


3.) Fehler Mapping in 99_myUtils.pm

sub
FehlerMap
{
my $fehler = shift;
my $ret = "Fehler unbekannt";

if ($fehler > 0) {
  if($fehler eq 15){
   $ret = "Wartung"
  }elsif($fehler eq 16){
   $ret = "AußentemperatursensorKurzschluss"
  }elsif($fehler eq 24){
   $ret = "Außentemperatursensor Unterbrechung"
  }elsif($fehler eq 48){
   $ret = "Kesseltemperatursensor Kurzschluss"
  }elsif($fehler eq 56){
   $ret = "Kesseltemperatursensor Unterbrechung"
  }elsif($fehler eq 80){
   $ret = "Speichertemperatursensor Kurzschluss"
  }elsif($fehler eq 88){
   $ret = "Speichertemperatursensor Unterbrechung"
  }elsif($fehler eq 176){
   $ret = "Abgastemperatursensor Kurzschluss"
  }elsif($fehler eq 177){
   $ret = "Kommunikationfehler Bedieneinheit"
  }elsif($fehler eq 180){
   $ret = "Interner Fehler - Elektronikleiterplatte prüfen"
  }elsif($fehler eq 181){
   $ret = "Interner Fehler - Elektronikleiterplatte prüfen"
  }elsif($fehler eq 182){
   $ret = "Ungültige Hardwarekennung - Grundleiterplatte prüfen"
  }elsif($fehler eq 183){
   $ret = "Interner Fehler Kesselcodierstecker"
  }elsif($fehler eq 184){
   $ret = "Abgastemperatursensor Unterbrechung"
  }elsif($fehler eq 185){
   $ret = "Interner Fehler - Eingabe wiederholen"
  }elsif($fehler eq 188){
   $ret = "Kommunikationsfehler Vitotrol Fernbedienung"
  }elsif($fehler eq 189){
   $ret = "Kommunikationsfehler Vitotrol Fernbedienung"
  }elsif($fehler eq 190){
   $ret = "Falsche Codierung der Vitotrol Fernbedienung"
  }elsif($fehler eq 197){
   $ret = "Kommunikationsfehler drehzahlgeregelte Pumpe"
  }elsif($fehler eq 198){
   $ret = "Falsche Codierung der Heizkreispumpe"
  }elsif($fehler eq 199){
   $ret = "Störmeldeeingang am Schaltmodul-V aktiv"
  }elsif($fehler eq 201){
   $ret = "Kommunikationsfehler Vitocom 100"
  }elsif($fehler eq 202){
   $ret = "Kommunikationsfehler Schaltmodul-V"
  }elsif($fehler eq 209){
   $ret = "Brennerstörung"
  }elsif($fehler eq 218){
   $ret = "Abgastemperatursensor Kurzschluss"
  }elsif($fehler eq 221){
   $ret = "Kommunikationfehler Bedieneinheit"
  }
  $ret = sprintf("%x",$fehler)." \t ".$ret
} else {
  $ret = $fehler
}
}


4.) Störungs- und Fehlermails versenden in fhem.cfg
(dazu muss debianmail installiert sein. http://www.fhemwiki.de/wiki/E-Mail_senden#Raspberry_Pi)

define Stoerung notify Heizung:Stoerung.*  {\
DebianMail('max@mustermann.de','Heizung Muenchen '.$EVENT,'Fehler1: '.FehlerMap(ReadingsVal("Heizung","Fehler1","on")).'\nFehler2: '.FehlerMap(ReadingsVal("Heizung","Fehler2","on")).'\nFehler3: '.FehlerMap(ReadingsVal("Heizung","Fehler3","on")).'\nFehler4: '.FehlerMap(ReadingsVal("Heizung","Fehler4","on")));;\
}

define FehlerNotify notify Heizung:Fehler.*  {\
DebianMail('max@mustermann.de','Heizung Muenchen '.$EVENT,'Fehler1: '.FehlerMap(ReadingsVal("Heizung","Fehler1","on")).'\nFehler2: '.FehlerMap(ReadingsVal("Heizung","Fehler2","on")).'\nFehler3: '.FehlerMap(ReadingsVal("Heizung","Fehler3","on")).'\nFehler4: '.FehlerMap(ReadingsVal("Heizung","Fehler4","on")));;\
}


5.) Schalter zum Umstellen des Heizungsstatus über Dropdown und der Temperaturen über Slider

define 2_TagSoll dummy
attr 2_TagSoll room Heizung_Schalten
attr 2_TagSoll setList state:slider,10.0,1,23.0
attr 2_TagSoll webCmd state

define Heizung_TagSoll_SliderNotify notify 2_TagSoll:* {\
my $sliderwert = ReadingsVal("2_TagSoll","state","on");; \
fhem ("set Heizung TAGTEMP $sliderwert");; \
}

define Heizung_TagSoll_Slider2Notify notify 2_TagSoll:* {\
my $timerwert = ReadingsVal("2_TagSoll","ReadingName","on");; \
fhem ("set Heizung TAGTEMP $timerwert") if( $timerwert != Value("2_TagSoll");; \
}

define 3_NachtSoll dummy
attr 3_NachtSoll room Heizung_Schalten
attr 3_NachtSoll setList state:slider,3.0,1,23.0
attr 3_NachtSoll webCmd state

define Heizung_NachtSoll_SliderNotify notify 3_NachtSoll:* {\
my $sliderwert = ReadingsVal("3_NachtSoll","state","on");; \
fhem ("set Heizung NACHTTEMP $sliderwert");; \
}

define Heizung_NachtSoll_Slider2Notify notify 3_NachtSoll:* {\
my $timerwert = ReadingsVal("3_NachtSoll","ReadingName","on");; \
fhem ("set Heizung NACHTTEMP $timerwert") if( $timerwert != Value("3_NachtSoll");; \
}

define 1_Heizung_Status dummy
attr 1_Heizung_Status room Heizung_Schalten
attr 1_Heizung_Status setList state:AUS,ABSENK,TAG,HWW,WW,P-ON,P-OFF,S-ON,S-OFF
attr 1_Heizung_Status webCmd state

define Heizung_StatusNotify notify 1_Heizung_Status:* {\
my $sliderwert = ReadingsVal("1_Heizung_Status","state","on");; \
fhem ("set Heizung $sliderwert");; \
}

define Heizung_Status2Notify notify 1_Heizung_Status:* {\
my $timerwert = ReadingsVal("1_Heizung_Status","ReadingName","on");; \
fhem ("set Heizung $timerwert") if( $timerwert != Value("1_Heizung_Status");; \
}


6.) Hystereseschalter über Threshold in der fhem.cfg
Schaltet bei 21,8 Grad auf WW und bei 21,6 Grad wieder auf HWW

define TH_Heizung THRESHOLD Heizung:Temp-Raum-Aktuell:0.1:21.8 Heizung|set @ WW|set @ HWW|0|SparBetriebAN:SparBetriebAUS
attr TH_Heizung room Geräte
attr TH_Heizung state_cmd1_gt SparBetriebAN
attr TH_Heizung state_cmd2_lt SparBetriebAUS
attr TH_Heizung state_format _sc



7.) V200KW1.cfg Konfigfile für das VCONTROL
######################################################################################
# Polling Commands
######################################################################################
#POLL,SENDCMD   , PARSE, DIVISOR, READING-NAME        , KUMULATION
######################################################################################
POLL, 01F7080802, 2ByteS, 10    , Temp-Abgas          , -
POLL, 01F7089602, 2ByteS, 10    , Temp-Raum-Aktuell   , -
POLL, 01F7080002, 2ByteS, 10    , Temp-Aussen         , -
POLL, 01F7080402, 2ByteS, 10    , Temp-WarmWasser-Ist , -
POLL, 01F7630001, 1ByteU, 1     , Temp-WarmWasser-Soll, -
POLL, 01F7080202, 2ByteS, 10    , Temp-Kessel-Ist     , -
POLL, 01F7550202, 2ByteS, 10    , Temp-Kessel-Soll    , -
POLL, 01F7084201, 1ByteU, state , Brenner             , -
POLL, 01F7088A02, 2ByteU, 1     , BrennerStarts       , day
POLL, 01F7757404, 4Byte,  1000  , Oelverbrauch        , day
POLL, 01F7084501, 1ByteU, state , Warmwasserpumpe     , -
POLL, 01F7290601, 1ByteU, state , Heizkreispumpe      , -
POLL, 01F7084601, 1ByteU, state , Zirkulationspumpe   , -
POLL, 01F7230101, mode,   10    , state               , -
POLL, 01F7084701, 1ByteU, state , Stoerung            , -
POLL, 01F7230301, 1ByteU, state , state_party         , -
POLL, 01F7230201, 1ByteU, state , state_spar          , -
POLL, 01F708A704, 4Byte,  3600  , BrennerStunden      , day
POLL, 01F708AB04, 4Byte,  3600  , BrennerStunden2     , -
POLL, 01F7230601, 1ByteU, 1     , Temp-Raum-Soll      , -
POLL, 01F7230701, 1ByteU, 1     , Temp-Nacht-Soll     , -
POLL, 01F7230801, 1ByteU, 1     , Temp-Party-Soll     , -
POLL, 01F7572602, 2ByteU, 10    , Oelverbrauch-Codierung, -
POLL, 01F7088E08, date,   1     , SystemZeit          , -
POLL, 01F7230908, date,   1     , Urlaub-Beginn       , -
POLL, 01F7231108, date,   1     , Urlaub-Ende         , -
POLL, 01F7253501, 1ByteU, state , Urlaub-Betrieb      , -
POLL, 01F7230501, 1ByteU, 10    , Neigung             , -
POLL, 01F7230401, 1ByteS, 1     , Niveau              , -
POLL, 01F7750701, 1ByteU, 1     , Fehler1             , -
#POLL, 01F7750808, date,   1     , Fehlerzeit1         , -
POLL, 01F7751001, 1ByteU, 1     , Fehler2             , -
#POLL, 01F7751108, date,   1     , Fehlerzeit2         , -
POLL, 01F7751901, 1ByteU, 1     , Fehler3             , -
POLL, 01F7752201, 1ByteU, 1     , Fehler4             , -
POLL, 01F7752B01, 1ByteU, 1     , Fehler5             , -
POLL, 01F7753401, 1ByteU, 1     , Fehler6             , -
POLL, 01F7753D01, 1ByteU, 1     , Fehler7             , -
POLL, 01F7754601, 1ByteU, 1     , Fehler8             , -
POLL, 01F7754F01, 1ByteU, 1     , Fehler9             , -
POLL, 01F7755801, 1ByteU, 1     , Fehler10             , -
#####################################################################################
# M1 Possible TIMER Get commands
#####################################################################################
#POLL,SENDCMD   , PARSE, DIVISOR, READING-NAME        , KUMULATION
POLL, 01F7200008, timer,  1     , TIMER_2_MO          , -
POLL, 01F7200808, timer,  1     , TIMER_3_DI          , -
POLL, 01F7201008, timer,  1     , TIMER_4_MI          , -
POLL, 01F7201808, timer,  1     , TIMER_5_DO          , -
POLL, 01F7202008, timer,  1     , TIMER_6_FR          , -
POLL, 01F7202808, timer,  1     , TIMER_0_SA          , -
POLL, 01F7203008, timer,  1     , TIMER_1_SO          , -
#####################################################################################
# M1 Possible Warm Water TIMER Get commands
#####################################################################################
#POLL,SENDCMD   , PARSE, DIVISOR, READING-NAME        , KUMULATION?
POLL, 01F7210008, timer,  1     , TIMER_WW_2_MO       , -
POLL, 01F7210808, timer,  1     , TIMER_WW_3_DI       , -
POLL, 01F7211008, timer,  1     , TIMER_WW_4_MI       , -
POLL, 01F7211808, timer,  1     , TIMER_WW_5_DO       , -
POLL, 01F7212008, timer,  1     , TIMER_WW_6_FR       , -
POLL, 01F7212808, timer,  1     , TIMER_WW_0_SA       , -
POLL, 01F7213008, timer,  1     , TIMER_WW_1_SO       , -
#####################################################################################
# M1 Possible Set commands which are complete
#####################################################################################
#SET,SETCMD    ,    SENDCMD       , CONV     , NEXT_CMD or DAY for timer
#####################################################################################
SET, WW        ,    01F423010100, state      , -
SET, ABSENK    ,    01F423010101, state      , -
SET, TAG       ,    01F423010102, state      , -
SET, HWW       ,    01F423010103, state      , -
SET, AUS       ,    01F423010105, state      , -
SET, S-OFF     ,    01F423020100, state_spar , -
SET, S-ON      ,    01F423020101, state_spar , P-OFF
SET, P-OFF     ,    01F423030100, state_party, -
SET, P-ON      ,    01F423030101, state_party, S-OFF
SET, TAGTEMP   ,    01F4230601  , 1ByteU     , -
SET, NACHTTEMP ,    01F4230701  , 1ByteU     , -
SET, PARTYTEMP ,    01F4230801  , 1ByteU     , -
SET, WWTEMP    ,    01F4630001  , 1ByteU     , -
SET, K26       ,    01F4572602  , 2ByteU     , -
SET, URLON     ,    01F4230908  , date       , -
SET, URLOFF    ,    01F4231108  , date       , -
SET, SYSTIME   ,    01F4088E08  , date       , -
SET, NIVEAU    ,    01F4230401  , 1ByteS     , -
#####################################################################################
# M1 Possible TIMER Set commands prefix
#####################################################################################
SET, TIMER_2_MO,    01F4200008  , timer      , MO
SET, TIMER_3_DI,    01F4200808  , timer      , DI
SET, TIMER_4_MI,    01F4201008  , timer      , MI
SET, TIMER_5_DO,    01F4201808  , timer      , DO
SET, TIMER_6_FR,    01F4202008  , timer      , FR
SET, TIMER_0_SA,    01F4202808  , timer      , SA
SET, TIMER_1_SO,    01F4203008  , timer      , SO
######################################################################################
# M1 Possible Warm Water Timer Set commands prefix
######################################################################################
SET, TIMER_WW_2_MO, 01F4210008  , timer      , MO
SET, TIMER_WW_3_DI, 01F4210808  , timer      , DI
SET, TIMER_WW_4_MI, 01F4211008  , timer      , MI
SET, TIMER_WW_5_DO, 01F4211808  , timer      , DO
SET, TIMER_WW_6_FR, 01F4212008  , timer      , FR
SET, TIMER_WW_0_SA, 01F4212808  , timer      , SA
SET, TIMER_WW_1_SO, 01F4213008  , timer      , SO
######################################################################################


Ich habe auch gerade erst mit dem Raspi und FHEM begonnen. Insofern sind alle Code Beispiele nur als Anregungen zu verstehen und wahrscheinlich nicht die effizienteste Methode Dinge zu bauen.

Über Anregungen jeder Art würde ich mich freuen.

Viele Grüße
Michael

kvo1

Hallo Michael,

das klingt sehr gut und Versuchung, dies nachzubauen, ist Seeeehhhhrrr groß.

Muß da die nächsten Tage mal in den Keller gehen  ;)

RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB