Zeiten an Viessmann-Gastherme einstellen

Begonnen von z0lt1, 28 April 2020, 20:35:33

Vorheriges Thema - Nächstes Thema

z0lt1

Hallo Zusammen,

ich habe eine Viessmann Gastherme in FHEM eingebunden. Mit dem Befehl
set Vitodens200W Timer_Haus_1MO 08:00,22:00,--,--,--,--,--,--,
kann ich die Heizzeiten hier z.B. am Montag einstellen.

Wie bekomme ich das jetzt in TabletUI umgesetzt? Also wie kann ich die Eingabefelder in Tablet UI darstellen? Mir würden die ersten zwei Felder ausreichen.. also Heizen-Ein um 08:00 und Heizen-Aus um 22:00.

Hier die List der Viessmann-Definition
Internals:
   DEF        /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 /opt/fhem/89_VCONTROL300_VScotHO1.cfg 180 300
   DeviceName /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0@4800,8,E,2
   FUUID      5e9c9f50-f33f-a976-fe15-0733b6601772e855
   INTERVAL   180
   NAME       Vitodens200W
   NR         55
   PROTOCOL   300
   STATE      22 °C Heizen_und_Warmwasser
   TYPE       VCONTROL300
   UPDATESTATUS INACTIVE
   OLDREADINGS:
   READINGS:
     2020-04-28 20:33:11   Aktuelle Betriebsart Heizen_und_Warmwasser
     2020-04-28 20:33:12   Aussentemperatur 16.6
     2020-04-28 20:33:12   Betriebsart     Heizen_und_Warmwasser
     2020-04-28 20:33:12   Betriebsart_Party off
     2020-04-28 20:33:12   Betriebsart_Spar off
     2020-04-28 20:33:12   Brennerlaufzeit 13798.33
     2020-04-28 20:33:12   Brennerlaufzeit_Today 0.01
     2020-04-28 00:00:23   Brennerlaufzeit_TodayStart 13798.32
     2020-04-28 00:00:23   Brennerlaufzeit_Yesterday 0.02
     2020-04-28 20:33:11   Brennerleistung 0
     2020-04-28 20:33:11   Brennerstarts   32378
     2020-04-28 20:33:11   Brennerstarts_Today 1.00
     2020-04-28 00:00:22   Brennerstarts_TodayStart 32377.00
     2020-04-28 00:00:22   Brennerstarts_Yesterday 1.00
     2020-04-28 20:33:11   Brennerstatus   off
     2020-04-28 20:33:11   Heizkennlinie_Neigung 1.1
     2020-04-28 20:33:12   Heizkennlinie_Niveau 1
     2020-04-28 20:33:12   Kesseltemperatur_Ist 54.5
     2020-04-28 20:33:11   Kesseltemperatur_Soll 37.9
     2020-04-28 20:33:11   Partybetrieb_Status off
     2020-04-28 20:33:11   Raumtemperatur_Party_Soll 26
     2020-04-28 20:33:11   Raumtemperatur_Red_Soll 3
     2020-04-28 20:33:11   Raumtemperatur_Soll 22
     2020-04-28 20:33:12   Stoerung        off
     2020-04-28 20:33:12   Systemzeit      Di,28.04.2020 20:32:18
     2020-04-28 20:30:14   Timer_Haus_1MO  07:00,22:00,--,--,--,--,--,--,
     2020-04-28 20:30:13   Timer_Haus_2DI  06:00,22:00,--,--,--,--,--,--,
     2020-04-28 20:30:13   Timer_Haus_3MI  06:00,22:00,--,--,--,--,--,--,
     2020-04-28 20:30:13   Timer_Haus_4DO  06:00,22:00,--,--,--,--,--,--,
     2020-04-28 20:30:13   Timer_Haus_5FR  06:00,22:00,--,--,--,--,--,--,
     2020-04-28 20:30:13   Timer_Haus_6SA  06:00,22:00,--,--,--,--,--,--,
     2020-04-28 20:30:13   Timer_Haus_7SO  06:00,22:00,--,--,--,--,--,--,
     2020-04-28 20:30:14   Timer_Wasser_1MO 06:00,22:00,--,--,--,--,--,--,
     2020-04-28 20:30:14   Timer_Wasser_2DI 06:00,22:00,--,--,--,--,--,--,
     2020-04-28 20:30:13   Timer_Wasser_3MI 06:00,22:00,--,--,--,--,--,--,
     2020-04-28 20:30:13   Timer_Wasser_4DO 06:00,22:00,--,--,--,--,--,--,
     2020-04-28 20:30:14   Timer_Wasser_5FR 06:00,22:00,--,--,--,--,--,--,
     2020-04-28 20:30:13   Timer_Wasser_6SA 06:00,22:00,--,--,--,--,--,--,
     2020-04-28 20:30:13   Timer_Wasser_7SO 06:00,22:00,--,--,--,--,--,--,
     2020-04-28 20:33:12   Umwaelzpumpe_Heizkreis2 on
     2020-04-28 20:33:12   Umwaelzpumpe_Intern on
     2020-04-28 20:33:12   UpdateStatus    Inactive
     2020-04-28 20:33:12   UpdateTime      2020-04-28_20:33:12
     2020-04-28 20:33:11   Urlaubs-Beginn  Do,01.01.1970 00:00:00
     2020-04-28 20:33:12   Urlaubs-Ende    Do,01.01.1970 00:00:00
     2020-04-28 20:33:11   Vorlauftemperatur_Soll 30.5
     2020-04-28 20:33:12   Warmwassertemperatur_Ist 53.7
     2020-04-28 20:33:11   Warmwassertemperatur_Soll 41
   helper:
Attributes:
   icon       sani_boiler_temp
   room       10_Spitzboden
   stateFormat Raumtemperatur_Soll °C Betriebsart
   vitotronicType 200_HOxx

Gunther

ich kann Dir leider nicht helfen, hänge mich hier aber mal dran...  8)
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

amenomade

Ich hatte mal eine FUnktion in myUtils geschrieben, die von Weekprofile auf Vito überträgt. Damit ist es theoretisch möglich das Weekprofile Widget von Tablet UI zu benutzen

Nun... diese habe ich schon lange nicht mehr benutzt, und ich weiss nicht, ob es immer noch funktionieren würde. Also... ohne Gewähr.

sub
WpToVito($$$)
{
     my ($vito,$wp,$profile) = @_;
     my $json = fhem ("get $wp profile_data $profile");
     my $result = decode_json( $json );
     my $day;
     my $wert;
     my %output;
     my %weekday = ( 'Mon' => '_2_MO',
                     'Tue' => '_3_DI',
                     'Wed' => '_4_MI',
                     'Thu' => '_5_DO',
                     'Fri' => '_6_FR',
                     'Sat' => '_0_SA',
                     'Sun' => '_1_SO');
    while ( ($day,$wert) = each(%$result) ) {
        my @timetable = @{@{$wert}{"time"}};
        my @temptable = @{@{$wert}{"temp"}};
        my $l = scalar @timetable;
        my $nbtimes=0;
$output{$day} = "TIMER";
if ($wp eq "wp_WW") { $output{$day} .= "_WW"; };
$output{$day} .= $weekday{$day}." ";

        foreach my $i (0..$l-1)  {
            if ($temptable[$i] eq "on") {
                if ($i == 0) {
$output{$day} .= "00:00,$timetable[0]";
$nbtimes = 1;
}
elsif ($nbtimes < 4) {
if ($nbtimes > 0) { $output{$day} .= ","; };
$output{$day} .= "$timetable[$i-1],$timetable[$i]";
$nbtimes += 1;
};
};
};
foreach my $j ($nbtimes+1..4) {
if ($nbtimes > 0) { $output{$day} .= ","; };
$output{$day} .= "--,--";
$nbtimes += 1;
};
   
    };
    my $bef = "set ".$vito." ".$output{'Mon'};
    fhem( "$bef" );
    Log 1,"WpToVito $wp $profile: $bef\n";

    $bef = "set ".$vito." ".$output{'Tue'};
    fhem( "$bef" );
    Log 1,"WpToVito $wp $profile: $bef\n";

    $bef = "set ".$vito." ".$output{'Wed'};
    fhem( "$bef" );
    Log 1,"WpToVito $wp $profile: $bef\n";

    $bef = "set ".$vito." ".$output{'Thu'};
    fhem( "$bef" );
    Log 1,"WpToVito $wp $profile: $bef\n";

    $bef = "set ".$vito." ".$output{'Fri'};
    fhem( "$bef" );
    Log 1,"WpToVito $wp $profile: $bef\n";

    $bef = "set ".$vito." ".$output{'Sat'};
    fhem( "$bef" );
    Log 1,"WpToVito $wp $profile: $bef\n";

    $bef = "set ".$vito." ".$output{'Sun'};
    fhem( "$bef" );
    Log 1,"WpToVito $wp $profile: $bef\n";


Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Gunther

Idee: Einen Dummy anlegen und diese per Tablet UI speichern und dann ein DOIF aufbauen, das bei Statusänderung "den" SET-Befehl zusammengesetzt aus den Variablen schickt.


In Tablet UI dann die Felder mit Datetimepicker abbilden und die entsprechenen Readings im Dummy speichern.
Dann einen Speichern-Button zum Auslösen des Events (DOIF startet) einbauen.
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