Modul zur Anbindung Viessmann Heizung (Vitotronic 200 KW1)

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

Vorheriges Thema - Nächstes Thema

FEHMPiDi

Hallo,

also den Temperaturwert bekomme ich jetzt angezeigt, aber mir fehlt das °C dahinter?
Ich habe es mit StateFormat versucht, dann bekomme ich aber immer "0" angezeigt.


define Temp_Aussen readingsProxy Vitodens:Temp-Aussen
attr Temp_Aussen alias Temp_Außen
attr Temp_Aussen group Temperatur
attr Temp_Aussen icon temp_temperature
attr Temp_Aussen room Heizung
attr Temp_Aussen stateFormat {sprintf "%.2f °C", ReadingsVal($name, "Temp_Aussen", 0)}


Was mache ich da falsch?

Danke
FHEM5.7@RaspPi.3|NanoCUL868-HM|NanoCUL868-Max|SDuino|DS18B20|1xHM-Sen-MDIR-WM55|   
2xHM-LC-Sw1PBU-FM|HM-LC-SW4-DR|I2C_MCP23017|2xMAX-ShutterContact|11xHM-LC-Bl1PBU-FM|CTW600|VCONTROL|1xHM-Sen-MDIR-O|2xMilight

kvo1

versuch mal

stateFormat {sprintf ("%.2f °C", ReadingsVal($name, "Temp_Aussen", 0))}
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

LuckyDay


peterboss

Hallo an Alle!

Ich muss sehr oft bei meiner Heizung die Zeiten ändern!!

Um die Zeit für die Heizung , Warmwasser und Zirkulationspume  zu ändern habe ich mir auf Basis von New FHEM Tablet UI
( http://forum.fhem.de/index.php/topic,34233.0.html ) ein Frontendoberfläche gebastelt . ( siehe Bild 1 und 2 )

Die eingestellten Zeiten sehe ich über den readingsGroup ( siehe Bild 3 )
Code:



define Timer_Heizung readingsGroup <%sani_heating>,<Heizung> Viessmann:TIMER_0_SA|TIMER_1_SO|TIMER_2_MO|TIMER_3_DI|TIMER_4_MI|TIMER_5_DO|TIMER_6_FR
attr Timer_Heizung mapping {'TIMER_2_MO' => 'Montag','TIMER_3_DI' => 'Dienstag','TIMER_4_MI' => 'Mittwoch','TIMER_5_DO' => 'Donnerstag','TIMER_6_FR' => 'Freitag','TIMER_0_SA' => 'Samstag','TIMER_1_SO' => 'Sonntag'}
attr Timer_Heizung nameStyle style="color:red;;font-weight:bold"
attr Timer_Heizung notime 1
attr Timer_Heizung room Timer
attr Timer_Heizung style style="font-size:22px"
attr Timer_Heizung valueStyle style="color:yellow"


define Timer_Warmwasser readingsGroup <%sani_water_tap>,<Warmwasser> Viessmann:TIMER_WW_0_SA|TIMER_WW_1_SO|TIMER_WW_2_MO|TIMER_WW_3_DI|TIMER_WW_4_MI|TIMER_WW_5_DO|TIMER_WW_6_FR
attr Timer_Warmwasser mapping {'TIMER_WW_2_MO' => 'Montag','TIMER_WW_3_DI' => 'Dienstag','TIMER_WW_4_MI' => 'Mittwoch','TIMER_WW_5_DO' => 'Donnerstag','TIMER_WW_6_FR' => 'Freitag','TIMER_WW_0_SA' => 'Samstag','TIMER_WW_1_SO' => 'Sonntag'}
attr Timer_Warmwasser nameStyle style="color:red;;font-weight:bold"
attr Timer_Warmwasser notime 1
attr Timer_Warmwasser room Timer
attr Timer_Warmwasser style style="font-size:22px"
attr Timer_Warmwasser valueStyle style="color:yellow"


define Timer_Zirkulationspumpe readingsGroup <%sani_pump>,<Zirkulationspumpe> Viessmann:TIMER_ZP_0_SA|TIMER_ZP_1_SO|TIMER_ZP_2_MO|TIMER_ZP_3_DI|TIMER_ZP_4_MI|TIMER_ZP_5_DO|TIMER_ZP_6_FR
attr Timer_Zirkulationspumpe mapping {'TIMER_ZP_2_MO' => 'Montag','TIMER_ZP_3_DI' => 'Dienstag','TIMER_ZP_4_MI' => 'Mittwoch','TIMER_ZP_5_DO' => 'Donnerstag','TIMER_ZP_6_FR' => 'Freitag','TIMER_ZP_0_SA' => 'Samstag','TIMER_ZP_1_SO' => 'Sonntag'}
attr Timer_Zirkulationspumpe nameStyle style="color:red;;font-weight:bold"
attr Timer_Zirkulationspumpe notime 1
attr Timer_Zirkulationspumpe room Timer
attr Timer_Zirkulationspumpe style style="font-size:22px"
attr Timer_Zirkulationspumpe valueStyle style="color:yellow"


Meine Frage ist ob wir zusammen einen FHEM Tablet UI erstellen können wo man auf einer Seite,
die Aktuellen Zeiten und sowie die Zeit einstellen kann!


(z.B siehe Bild Heizung-Timer.png) + Aktuelle Zeiten von der Heizung.

Danke
Raspberry Pi2 + FHEM 5.6 + Viessmann Vitodens 333 WS3A + USB-Optolink
Raspberry Pi2 + FHEM 5.6 + nanoCUL V 1.65 + 1x HM-LC-Bl1PBU-FM , 1x HM-LC-SW4-DR , 4x HM-TC-IT-WM-W-EU

Gunther

Zum Thema Bedieneroberfläche per Tablet UI habe ich einen neuen Thread aufgemacht. Ich hoffe, es finden sich hier einige, die auch begeistert davon sind, so dass wir recht bald einen guten Stand haben:
http://forum.fhem.de/index.php/topic,44473.0.html

@Adam: Vielleicht kannst Du den Link ja mit in den Eingangspost übernehmen. Danke.
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

kvo1

coole Idee , habe mich da mal in den Thread eingetragen!
Vielleicht finden sich dort Einige die FTUI schon im Einsatz haben
kvo1
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

KarlHeinz2000

Kann man die Timer alle auf einmal setzen?

Ich kann in Fhemweb via
set Viessmann TIMER_x_yy 05:00,22:00,--,--,--,--,--,--
immer nur einen Timer updaten. Dann muss ich warten bis die Timer wieder ausgelesen wurden, danach kann ich den nächsten Timer schreiben.
Wenn ich alle Timer direkt hintereinander schreibe, wird immer nur der erste aktualisiert. Alle anderen bleiben auf den alten Werten.

Gibt es dafür eine Lösung?

Gunther

SET <devicename> TIMER_2_MO <times>

<times> 8 Uhrzeiten mit Komma getrennt.  (AN1,AUS1,AN2,AUS2,AN3,AUS3,AN4,AUS4)
       Keine Uhrzeit muss als -- angegeben werden.
       Minuten der Uhrzeiten dürfen nur 00,10,20,30,40 oder 50 sein
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

KarlHeinz2000

Schon klar. Das ändern EINER Zeit funktioniert ja auch.
Wenn ich aber eine ganze Woche am Stück ändern will, mit 7x set... direkt nacheinander, dann wird immer nur der erste set Befehl ausgeführt. Die restlichen haben keinen Effekt, egal ob in Fhemweb schnell nacheinander eingegeben, oder in einer sub aufgerufen.

Ich suche eine Lösung, um eine ganze Woche am Stück zu ändern, ohne zwischen den set Befehlen lange warten zu müssen.

Gunther

Ok, dachte es geht Dir um die verschiedenen Zeiten eines Tages.
Das habe ich noch gar nicht getestet.
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

bodyfix

#850
Hi,

habe bis jetzt vcontrold auf dem Raspberry als crontab mit vclient laufen lassen,
habe darüber alle Werte auslesen können auch TIMER, wollte jetzt die FHEM Integration mit 89_vcontrol durchführen,
alle Werte sind auslesbar bis auf TIMER, könnt Ihr mir helfen.

Habe die Werte aus vito.xml verglichen und alles stimmt, aber dennoch geht es nicht.


######################################################################################
# Polling Commands VScotHO1 ID 20CB
######################################################################################
#POLL,SENDCMD   , PARSE, DIVISOR, READING-NAME        , KUMULATION
######################################################################################
POLL, 01F7080002, 2ByteS, 10    , Temp-Aussen         , -
POLL, 01F7080802, 2ByteS, 10    , Temp-Abgas          , -
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, 01F7555A02, 2ByteU, 10    , Temp-Kessel-Soll    , -
POLL, 01F755D301, 1ByteU, state , Brenner             , -
POLL, 01F7088E08, date,   1     , SystemZeit          , -
POLL, 01F7200008, timer,  1     , TIMER_2_MO          , -
POLL, 01F70A8201, 1ByteU, state , Stoerung            , -
POLL, 01F7084601, 1ByteU, state , Zirkulationspumpe   , -
POLL, 01F7084201, 1ByteU, state , Brenner             , -
POLL, 01F7088A02, 2ByteU, 1     , BrennerStarts       , day
POLL, 01F708A704, 4Byte,  3600  , BrennerStunden      , day
POLL, 01F7230101, mode,   10    , state               , -
POLL, 01F7230301, 1ByteU, state , state_party         , -
POLL, 01F7230201, 1ByteU, state , state_spar          , -
POLL, 01F7230908, date,   1     , Urlaub-Beginn       , -
POLL, 01F7231108, date,   1     , Urlaub-Ende         , -
POLL, 01F7253501, 1ByteU, state , Urlaub-Betrieb      , -
POLL, 01F7230501, 1ByteU, 10    , Neigung             , -
POLL, 01F7766401, 1ByteU, 1     , PumpeDrehzahl       , -
POLL, 01F7750701, 1ByteU, 1     , Fehler1             , -
POLL, 01F7751001, 1ByteU, 1     , Fehler2             , -
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       , -


KarlHeinz2000

Die Timer werden nicht zyklisch mit ausgelesen. Die musst du mit get <device> TIMER immer separat holen.

bodyfix

Hi Karl-Heinz,

danke für die rettende Lösung.
Gilt es noch andere Einträge die Manual gesteuert werden müssen.

KarlHeinz2000


bodyfix

Hi,

hab noch eine Frage an die Runde, habe den Datenaktualisierungsinterval auf 900 also 15 Minuten gestellt.

define Heizung VCONTROL /dev/vitoir0 VScotHO1.cfg 900
attr Heizung event-on-change-reading state,Stoerung,BrennerStart,BrennerStunden,Temp-Abgas,Temp-Aussen,Temp-WarmWasser-Ist,Temp-WarmWasser-Soll,Temp-Kessel-Ist,Temp-Kessel-Soll,Brenner,state_party,SystemZeit
attr Heizung icon sani_boiler_temp
attr Heizung room 1.00_Heizung


Im log ist keine Pause zu sehen, wie kann ich den Internal tatsächlich festlegen.

2015-11-29_18:57:47 Heizung Temp-Abgas: 48
2015-11-29_18:57:50 Heizung Temp-WarmWasser-Ist: 48.6
2015-11-29_18:57:56 Heizung Temp-Kessel-Ist: 51.3
2015-11-29_18:58:05 Heizung SystemZeit: So,29.11.2015 19:01:27
2015-11-29_18:58:18 Heizung BrennerStunden: 13719.70
2015-11-29_18:59:17 Heizung Temp-Aussen: 7.8
2015-11-29_18:59:20 Heizung Temp-Abgas: 45
2015-11-29_18:59:29 Heizung Temp-Kessel-Ist: 46
2015-11-29_18:59:38 Heizung SystemZeit: So,29.11.2015 19:02:59
2015-11-29_19:00:50 Heizung Temp-Aussen: 7.7
2015-11-29_19:00:53 Heizung Temp-Abgas: 43
2015-11-29_19:00:56 Heizung Temp-WarmWasser-Ist: 48.5
2015-11-29_19:01:02 Heizung Temp-Kessel-Ist: 42
2015-11-29_19:01:11 Heizung SystemZeit: So,29.11.2015 19:04:32
2015-11-29_19:02:25 Heizung Temp-Aussen: 7.8
2015-11-29_19:02:28 Heizung Temp-Abgas: 40.5
2015-11-29_19:02:37 Heizung Temp-Kessel-Ist: 39.3
2015-11-29_19:02:46 Heizung SystemZeit: So,29.11.2015 19:06:07
2015-11-29_19:04:02 Heizung Temp-Aussen: 7.7
2015-11-29_19:04:05 Heizung Temp-Abgas: 38.5
2015-11-29_19:04:08 Heizung Temp-WarmWasser-Ist: 48.4
2015-11-29_19:04:14 Heizung Temp-Kessel-Ist: 37.3
2015-11-29_19:04:23 Heizung SystemZeit: So,29.11.2015 19:07:44
2015-11-29_19:05:41 Heizung Temp-Aussen: 7.6
2015-11-29_19:05:44 Heizung Temp-Abgas: 37.3
2015-11-29_19:05:47 Heizung Temp-WarmWasser-Ist: 48.3
2015-11-29_19:05:53 Heizung Temp-Kessel-Ist: 35.5
2015-11-29_19:06:02 Heizung SystemZeit: So,29.11.2015 19:09:24
2015-11-29_19:07:14 Heizung Temp-Aussen: 7.7
2015-11-29_19:07:17 Heizung Temp-Abgas: 36
2015-11-29_19:07:26 Heizung Temp-Kessel-Ist: 34.6
2015-11-29_19:07:35 Heizung SystemZeit: So,29.11.2015 19:10:57