Modul weekprofile + FHEMWEB widget

Begonnen von Risiko, 23 Dezember 2015, 20:16:54

Vorheriges Thema - Nächstes Thema

Risiko

Sorry für die späte Reaktion.

Habe leider nicht viel Zeit für das Thema und es ist leider für mich auch sehr unwichtig geworden.
Es sieht ja wieder mal so aus, dass es bei HM nicht eindeutig ist. Wie kann/soll man das genau unterscheiden können?

Reading: R-1.P1_ vs R-P1_ was ist richtig bei diesem Typ und was ist mit der aktuell umgesetzten Variante?
Zitat von: rogerknop am 15 Oktober 2023, 19:33:48Bei mir war das ähnlich, allerdings haben die Readings bei mir den Präfix "R-1.P1_" und ich brauche die 1... 
Also wa ist nun "richtig"?


rogerknop

#721
Evtl. weil ich die CCU2 nutze!?
Oder Firmware Update?
Die alte Änderung für die nicht IP Geräte #msg1191311 musste ich nun nämlich wieder ausbauen :-(
Das mit der Homematic API erscheint mir nicht gerade sehr stabil.
Grüße, Roger

rogerknop

Zitat von: KernSani am 30 November 2023, 23:18:00
Zitat von: rogerknop am 15 Oktober 2023, 19:33:48Hallo Risiko!
Ich hatte in #695 schon einmal Code Vorschläge für HMCCU Thermostate geschickt, die auch eingebaut wurden.
Nun habe ich einen HM IP Thermostat und da haben die Weekprofiles leider nicht mehr funktioniert.
Nach einigen Analysen habe ich es nun hinbekommen, dass es auch mit dem HM IP funktioniert und wollte die Änderungen hier teilen. Es wäre schön, wenn Du prüfen könntest, ob sie evtl. in deine Lösung wandern könnten.

Hier die Anpassungen in der Funktion weekprofile_sendDevProfile (ca. Zeile 492):
  } elsif ($type =~ /HMCCU.*/){
    $cmd .= "set $device config device" if ($type eq "HMCCU_HM");
    #CHANGED: device oder 1 geht nicht
    $cmd .= "set $device config" if ($type eq "HMCCU_IP");
    my $k=0;
    my $dayCnt = scalar(@dayToTransfer);
    my $prefix = weekprofile_get_prefix_HM($device,"ENDTIME_SUNDAY_1",$me);

    #CHANGED: Präfix ist R-P1_ aber das R- darf nicht mitgeschickt werden
    if ($type eq "HMCCU_IP") {
      $prefix =~ s/R-//;
    }
    else {
      $prefix = ""; # always no prefix by set #msg1113658
    }

    if (!defined($prefix)) {
...

Es waren 2 Probleme:
Einmal hinter dem config ging weder device noch 1. Weglassen hat funktioniert.
Und die Readings haben alle den Präfix R-P1_ aber beim Senden darf man nur P1_ verwenden.

Kannst Du das bitte prüfen?

Danke & Grüße,
Roger

Bei mir war das ähnlich, allerdings haben die Readings bei mir den Präfix "R-1.P1_" und ich brauche die 1... bei mir also nur folgende Ergänzung:

my $prefix = weekprofile_get_prefix_HM($device,"ENDTIME_SUNDAY_1",$me);
        #CHANGED: Präfix ist R-P1_ aber das R- darf nicht mitgeschickt werden
    if ($type eq "HMCCU_IP") {
      $prefix =~ s/R-1\.//;
    }
    else {
      $prefix = ""; # always no prefix by set #msg1113658
    }


Was steht bei dir in "ccureadingfilter"?
 

Hi KernSani,

das mit der 1 beim config ist jetzt natürlich unschön.
Ich nutze die HmIP-eTRV-B-2 R4M Thermostate und die haben die Firmware 1.2.26 - auf der CCU3 Version 3.67.10

Ich habe auch noch eine 2. Installation in einem anderen Haushalt mit HM-CC-RT-DN Thermostaten mit Firmware 1.5 - auf einer CCU2 Version 2.61.7

Vielleicht bekommen wir ja die Unterschiede raus?

Grüße, Roger

rogerknop

Zitat von: KernSani am 30 November 2023, 23:18:00
Zitat von: rogerknop am 15 Oktober 2023, 19:33:48Hallo Risiko!
Ich hatte in #695 schon einmal Code Vorschläge für HMCCU Thermostate geschickt, die auch eingebaut wurden.
Nun habe ich einen HM IP Thermostat und da haben die Weekprofiles leider nicht mehr funktioniert.
Nach einigen Analysen habe ich es nun hinbekommen, dass es auch mit dem HM IP funktioniert und wollte die Änderungen hier teilen. Es wäre schön, wenn Du prüfen könntest, ob sie evtl. in deine Lösung wandern könnten.

Hier die Anpassungen in der Funktion weekprofile_sendDevProfile (ca. Zeile 492):
  } elsif ($type =~ /HMCCU.*/){
    $cmd .= "set $device config device" if ($type eq "HMCCU_HM");
    #CHANGED: device oder 1 geht nicht
    $cmd .= "set $device config" if ($type eq "HMCCU_IP");
    my $k=0;
    my $dayCnt = scalar(@dayToTransfer);
    my $prefix = weekprofile_get_prefix_HM($device,"ENDTIME_SUNDAY_1",$me);

    #CHANGED: Präfix ist R-P1_ aber das R- darf nicht mitgeschickt werden
    if ($type eq "HMCCU_IP") {
      $prefix =~ s/R-//;
    }
    else {
      $prefix = ""; # always no prefix by set #msg1113658
    }

    if (!defined($prefix)) {
...

Es waren 2 Probleme:
Einmal hinter dem config ging weder device noch 1. Weglassen hat funktioniert.
Und die Readings haben alle den Präfix R-P1_ aber beim Senden darf man nur P1_ verwenden.

Kannst Du das bitte prüfen?

Danke & Grüße,
Roger

Bei mir war das ähnlich, allerdings haben die Readings bei mir den Präfix "R-1.P1_" und ich brauche die 1... bei mir also nur folgende Ergänzung:

my $prefix = weekprofile_get_prefix_HM($device,"ENDTIME_SUNDAY_1",$me);
        #CHANGED: Präfix ist R-P1_ aber das R- darf nicht mitgeschickt werden
    if ($type eq "HMCCU_IP") {
      $prefix =~ s/R-1\.//;
    }
    else {
      $prefix = ""; # always no prefix by set #msg1113658
    }


Was steht bei dir in "ccureadingfilter"?
 

Sorry... diese Frage hatte ich völlig übersehen.
ccuflags: showMasterReadings,showLinkReadings,showDeviceReadings

rogerknop

#724
Hallo!
Jetzt ist bei mir noch ein anderes Problem dazugekommen.
Wenn ich über weekprofile ein neues Profil an HMCCU_HM oder HMCCU_IP Devices sende, dann werden die Readings nicht geändert!
Ich muss manuell ein get config ausführen.
Wenn ich von Auto zu Manuell oder Temperaturen ändere, dann ändern sich die Reading direkt (ausser Wochenprofil Readings)
Grüße, Roger

PS: Habe gerade nochmal in beiden Installationen ein Update durchgeführt und neu getestet.
Das config 1 bei IP geht nicht! Invalid parameter.