WIKI update für HomeMatic HMInfo TempList/Weekplan

Begonnen von Axel.B, 01 März 2019, 10:21:02

Vorheriges Thema - Nächstes Thema

Axel.B

Moinsen,

ich habe herausgefunden, dass die gültigen Zeiten wohl mit FW 1.5 für HM-CC-RT-DN geändert wurden:

Uhrzeiten sind auf halbe Stunden beschränkt. Einträge 08:00 und 08:30 sind gültig. 08:20 ist ungültig.

Am Thermostat erfolgt die Eingabe im 5min. Raster; hier meine am Gerät programmierte und mit hminfo ausgelesenen Zeiten für einen Tag:
R_2_tempListMon> 05:45 17.0 06:10 21.0 16:00 17.0 22:00 19.0 24:00 17.0
Auch beim Schreiben von fhem ins Gerät funktioniert das 5min. Raster.
Kann das bitte jemand bestätigen und ins Wiki aufnehmen? Ich habe (noch) keinen account im Wiki

Als Anfänger in diesem Bereich habe ich die Reihenfolge der Daten in fhem falsch verstanden und lange nach dem (meinen) Fehler gesucht.
Vielleicht könntet jemand die Lesbarkeit der entsprechende Zeile durch Fettdruck verbessern:

Das erste Paar 08:00 14.0 bedeutet also, dass von 00:00 bis 08:00 eine Temperatur von 14.0 eingestellt werden soll.

Vielen Dank und ein dickes Lob für alle, die an Fhem, Wiki und im Forum eine tolle Arbeit machen

Viele Grüße
Axel

Beta-User

Moin,

Danke für die Hinweise. Das mit Fett habe ich eben gemacht, ebenso eine Infobox zu der firmware 1.5. Dann klappt das vermutlich auch mit dem WT ab 1.4.

Ich würde das gerne testen, vielleicht hast du Interesse, meinen Code hier https://forum.fhem.de/index.php/topic,97430.msg907444.html#msg907444 so anzupassen, dass auf 5 Min gerundet wird. Weiter hatte ich da schon länger vor, bei der dort enthaltenen easy-holiday-Funktion Zeitangaben im Format DD:HH zuzulassen (also schalte in einem Tag und 5 Stunden den Partymodus mit x Grad ein und nach 5 Tagen und 4 Stunden wieder aus).

Wenn du ein bißchen perl kannst, ist das vermutlich kein Thema und wir können das gerne dann auch als fertigen neuen Code dann ins Wiki packen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Axel.B

Hi Beta-User,

das ging ja fix.

Dein Script schaue ich mir gerne an, wird wohl ein paar Tage dauern...

Beta-User

...ich war eh' grade im Wiki wegen einer Kleinigkeit. Das mit Fett war ein guter Hinweis, und da ich jüngst mit dem Thema schwanger war (siehe der Link), paßte das grade sehr gut...

Keine Eile mit dem Script, war nur als Hilfestellung gedacht (und als Merkposten für mich selbst :) ).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

DeeSPe

#4
Zitat von: Beta-User am 01 März 2019, 10:37:06
meinen Code hier https://forum.fhem.de/index.php/topic,97430.msg907444.html#msg907444 so anzupassen, dass auf 5 Min gerundet wird.

Ich hätte da was für Dich:
sub roundTime2fiveMinutes($)
{
  my ($time) = @_;
  if ($time =~ /^([0-2]\d):(\d)(\d)$/)
  {
    my $n = $3;
    $n = "0" if ($n<5);
    $n = "5" if ($n>5);
    return "$1:$2$n";
  }
  return undef;
}


Und dann in Deinen 99_myUtils_Homematic.pm die Funktion HM_TC_Holiday so anpassen:
sub HM_TC_Holiday($$$$$$)
{
  my ($rt,$temp,$startDate,$startTime,$endDate,$endTime) = @_;
  my $climaname = $rt."_Clima";
  $climaname = $rt."_Climate" if (AttrVal($rt,"model","HM-CC-RT-DN") eq "HM-TC-IT-WM-W-EU");
  # HM-CC-RT-DN and HM-TC-IT-WM-W-EU accept time arguments only in HH:00 or HH:30 format
  # So we have to round down $startTime und $endTime
  $startTime = roundTime2fiveMinutes($startTime);
  $endTime = roundTime2fiveMinutes($endTime);
  CommandSet (undef,"$climaname controlParty $temp $startDate $startTime $endDate $endTime");
}


Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Beta-User

Zitat von: DeeSPe am 01 März 2019, 12:03:22
Ich hätte da was für Dich:
Herzlichen Dank für den Schubs :) .

Dann habe ich die Gelegenheit ergriffen und auch noch den Punkt
Zitat von: Beta-User am 01 März 2019, 10:37:06
Weiter hatte ich da schon länger vor, bei der dort enthaltenen easy-holiday-Funktion Zeitangaben im Format DD:HH zuzulassen (also schalte in einem Tag und 5 Stunden den Partymodus mit x Grad ein und nach 5 Tagen und 4 Stunden wieder aus).
aufgegriffen.
Müßte jetzt eigentlich auch D[D]:H[H] schlucken ;D , Test steht aber noch aus:

sub easy_HM_TC_Holiday($$;$$) {
  my ($rt, $temp, $strt, $duration) = @_;
  $duration = 3*3600 unless defined $duration; # 3 hours
  $strt = gettimeofday() unless defined $strt;
  $duration = 0 if $strt eq "stop";
  $strt = gettimeofday() if $strt eq "now";
  $strt = gettimeofday() if $strt eq "stop";
  if ($strt =~ /^(\d+):(\d+)$/) {
    $strt = $1*DAYSECONDS + $2*HOURSECONDS;
  };
  if ($duration =~ /^(\d+):(\d+)$/) {
    $duration = $1*DAYSECONDS + $2*HOURSECONDS;
  };
  my ($startDate, $startTime) = split(' ', sec2time_date($strt));
  my ($endDate, $endTime) = split(' ', sec2time_date($strt+$duration));
  #Log3 ($rt, 3, "myHM-utils $rt: Dauer: $duration, Start: $startDate, $startTime, Ende: $endDate, $endTime");
  #return "myHM-utils $rt: Dauer: $duration, Start: $startDate, $startTime, Ende: $endDate, $endTime"
  HM_TC_Holiday($rt,$temp,$startDate,$startTime,$endDate,$endTime);
}

Wenn es paßt, kommt die neue Version samt angepaßter cref dann auch wieder zu den Codeschnipseln :) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Beta-User

Nachdem ich jetzt endlich dazu gekommen bin, das mit dem Holiday-Mode und der aktuellen CUL_HM-Version auszutesten:

CUL_HM enthält in Zeilen 5492 und 5499 eine Prüfung auf halbe Stunden. Deaktiviert man diese Zeilen, kommt auch was im Aktor an, am Aktordisplay angezeigt wird allerdings scheinbar dann wieder halb-stundenweise. Da mir im Prinzip auch der partyMode im Halbstundentakt genügt, werde ich das nicht weiter vertiefen, ob das jetzt an der Umrechung liegt, die dann CUL_HM im Anschluß an diese beiden Zeilen dann jeweils wieder vornimmt oder am Anzeigeverhalten des Aktors.

Mit den 5-Min-templates muß ich mich erst noch wieder beschäftigen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files