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.

kadettilac89

Zitat von: myhome am 27 Oktober 2023, 15:54:13Nach dem ich dann das weekprofile aufrufe passiert das Folgende: siehe weekprofile.png Bild
Was auffällt ist das die Stundenangabe zu Minuten werden und natürlich kann ich auch kein Profil schreiben.
Im Device siehe "list" Code werden die Stunden und Temperaturangaben aber richtig angezeigt.

Vielleicht hilft das bei der Fehlersuche.


Zitat von: mephisto20 am 23 Januar 2022, 18:44:26Allerdings sieht da in Weekprofile ausgelesene Profil doch deutlich anders aus, als es sollte.
Die 3 unterschiedlichen Intervalle werden korrekt erkannt, allerdings werden die Zeiten scheinbar falsch umgerechnet.
Anbei mal die Screenshots.

HM-IP nutze ich nicht. Bei HM über CCU3 ist die Korrektur in Zeile 306. Zeile auskommentieren da hier keine Umrechnung der Zeit nötig ist. Es liegt bereits in Format <Stunde>:<Minute> vor. Könnt ihr mal testen, ich werde es erstmal nicht weiter nutzen, bin nur eben drüber gestolpert. Neustart nachdem die Datei geändert wurde.

        return (\@times, \@temps);
      }
      else{
        Log3($me, 5, "$me(readDayProfile): $reading"."_$i $prfTime $prfTemp");
      }
     
#      $prfTime = weekprofile_minutesToTime($prfTime);  <<<<<<<<<<--------- Raute (#) vor die Zeile

      if ($lastTime ne "24:00"){
        $lastTime = $prfTime;

        push(@temps, $prfTemp);
        push(@times, $prfTime);

StephanFHEM

Zitat von: kadettilac89 am 29 April 2024, 22:21:14HM-IP nutze ich nicht. Bei HM über CCU3 ist die Korrektur in Zeile 306. Zeile auskommentieren da hier keine Umrechnung der Zeit nötig ist. Es liegt bereits in Format <Stunde>:<Minute> vor. Könnt ihr mal testen, ich werde es erstmal nicht weiter nutzen, bin nur eben drüber gestolpert. Neustart nachdem die Datei geändert wurde.

Top Danke! Das hat bei mir so funktioniert, dass die Daten jetzt wenigstens sauber eingelesen werden können. Vom Export geht allerdings noch nichts. Bei HMIP kommt die Nachricht "HMCCUCHN: Wandthermostat_Wohnzimmer Invalid parameter specified" ... bei HM-Geräten kommt einfach keine Nachricht aber es wird auch nichts übertragen....

Nutze übrigens eine CCU3 mit HM und HMIP

kadettilac89

Zitat von: StephanFHEM am 15 Mai 2024, 18:24:23Top Danke! Das hat bei mir so funktioniert, dass die Daten jetzt wenigstens sauber eingelesen werden können. Vom Export geht allerdings noch nichts. Bei HMIP kommt die Nachricht "HMCCUCHN: Wandthermostat_Wohnzimmer Invalid parameter specified" ... bei HM-Geräten kommt einfach keine Nachricht aber es wird auch nichts übertragen....

Es gibt keinen Export-Befehl. Was genau führst du aus?