Autor Thema: WIKI update für HomeMatic HMInfo TempList/Weekplan  (Gelesen 1272 mal)

Offline Axel.B

  • Newbie
  • Beiträge: 2
WIKI update für HomeMatic HMInfo TempList/Weekplan
« am: 01 März 2019, 10:21:02 »
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.0Auch 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

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7932
  • eigentlich eher user wie "developer"
Antw:WIKI update für HomeMatic HMInfo TempList/Weekplan
« Antwort #1 am: 01 März 2019, 10:37:06 »
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-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN
svn:MySensors, WeekdayTimer, AttrTemplate => {mqtt2, mysensors, httpmod}

Offline Axel.B

  • Newbie
  • Beiträge: 2
Antw:WIKI update für HomeMatic HMInfo TempList/Weekplan
« Antwort #2 am: 01 März 2019, 10:45:21 »
Hi Beta-User,

das ging ja fix.

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

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7932
  • eigentlich eher user wie "developer"
Antw:WIKI update für HomeMatic HMInfo TempList/Weekplan
« Antwort #3 am: 01 März 2019, 11:30:58 »
...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-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN
svn:MySensors, WeekdayTimer, AttrTemplate => {mqtt2, mysensors, httpmod}

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4050
  • Wer anderen eine Bratwurst brät...
Antw:WIKI update für HomeMatic HMInfo TempList/Weekplan
« Antwort #4 am: 01 März 2019, 12:03:22 »
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
« Letzte Änderung: 01 März 2019, 12:04:59 von DeeSPe »
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7932
  • eigentlich eher user wie "developer"
Antw:WIKI update für HomeMatic HMInfo TempList/Weekplan
« Antwort #5 am: 01 März 2019, 12:42:13 »
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
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-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN
svn:MySensors, WeekdayTimer, AttrTemplate => {mqtt2, mysensors, httpmod}

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7932
  • eigentlich eher user wie "developer"
Antw:WIKI update für HomeMatic HMInfo TempList/Weekplan
« Antwort #6 am: 14 März 2019, 08:28:21 »
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-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN
svn:MySensors, WeekdayTimer, AttrTemplate => {mqtt2, mysensors, httpmod}

 

decade-submarginal