Luxtronik Warmwasser Zirkulation ZIP

Begonnen von westgate, 25 März 2019, 22:34:09

Vorheriges Thema - Nächstes Thema

ch.eick

Zitat von: frober am 08 Dezember 2020, 15:15:39
Leider werden _alle_ Zeiten überschrieben.
Das war, wenn ich mich recht erinnere auch der Grund es nicht mit einzubauen.

Hast Du auch mal den Code Part, der mit rein soll?
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

frober

Ok, hier die Änderungen:

ab Zeile 312
Zitat# Warmwasser Zirkulation
   elsif( int(@_)==4 && ( $cmd eq 'hotWaterCircPumpRun' ) ) {
        Log3 $name, 3, "set $name $cmd $val";
        $hash->{LOCAL} = 1;
        if( $val eq "on" ) {
         $resultStr = LUXTRONIK2_SetParameter ($hash, "zirkulation506", $val);
         $resultStr = LUXTRONIK2_SetParameter ($hash, "zirkulation507", $val);
         $resultStr = LUXTRONIK2_SetParameter ($hash, "zirkulation508", $val);
         $resultStr = LUXTRONIK2_SetParameter ($hash, "zirkulation697", $val);
         $resultStr = LUXTRONIK2_SetParameter ($hash, "zirkulation698", $val);
        }
        elsif( $val eq "off" ) {
         $resultStr = LUXTRONIK2_SetParameter ($hash, "zirkulation507", $val);
         $resultStr = LUXTRONIK2_SetParameter ($hash, "zirkulation508", $val);         
        }
      else{
         $resultStr = "$name Error: Wrong parameter given - use on,off";
      }
        $hash->{LOCAL} = 0;
        return $resultStr;
   }

ab Zeile 1525
Zitat#Zirkulation
  elsif ($parameterName eq "zirkulation506") {
      $setParameter = 506; #Umschalten auf Woche(Mo-So)
      $setValue = '0';
   }

   elsif ($parameterName eq "zirkulation507") {
      $setParameter = 507; #Einschaltzeit
      $setValue = $realValue eq "on" ? '60' : '0';
   }
   elsif ($parameterName eq "zirkulation508") {
      $setParameter = 508; #Ausschaltzeit
      $setValue = '0';
   }
   elsif ($parameterName eq "zirkulation697") {
      $setParameter = 697; #Laufzeit Ein
      $setValue = '1';
   }
   elsif ($parameterName eq "zirkulation698") {
      $setParameter = 698; #Laufzeit Aus
      $setValue = '0';
   }

Den Code habe ich gerade angepasst und kurz getestet.

Bezgl. des Attributs bräuchte ich Zeit, so etwas habe ich noch nicht gemacht. Diese Anpassung war wie bei westgate c&p.

P.S. ich habe nur die wesentlichen Zeilen bei mir eingebaut (zirkulatio507 + 508), der Rest verändert sich ja normalerweise nicht mehr.

Grüsse
Bernd
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

frober

Was mir noch aufgefallen ist, die Parameternamen erscheinen als Reading.
Nicht tragisch, aber unschön da nicht aussagekräftig und eigentlich nicht nötig.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

ch.eick

Zitat von: frober am 09 Dezember 2020, 15:02:37
Was mir noch aufgefallen ist, die Parameternamen erscheinen als Reading.
Nicht tragisch, aber unschön da nicht aussagekräftig und eigentlich nicht nötig.
Du kannst sie ja schön formatiert als stateFormat anzeigen, wenn es aber einmal läuft schaut man eh nicht mehr hin :-)
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

frober

Zitat von: ch.eick am 09 Dezember 2020, 15:37:42
Du kannst sie ja schön formatiert als stateFormat anzeigen, wenn es aber einmal läuft schaut man eh nicht mehr hin :-)
Ich brauche diese Readings nicht ;)
War nur eine Anmerkung, falls es doch Mal eingecheckt wird.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

ch.eick

Zitat von: frober am 09 Dezember 2020, 17:41:00
Ich brauche diese Readings nicht ;)
War nur eine Anmerkung, falls es doch Mal eingecheckt wird.
Aber wenn sie verwendet werden, dann sind sie halt auch sichtbar. Beim initialen device Anlegen werden sie nicht abgefragt und auch nicht angezeigt.
Also ist alles so wie es sein soll.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

westgate

Hallo frober und ch.eick,

ich glaube ihr habt das Problem wirklich gelöst. Ich hatte halt nie etwas anderes als Woche(Mo-SO) genutzt. Deshalb bin ich gar nicht auf diese Idee gekommen.

@Tupol    Jetzt könnte man die Funktion wirklich einbauen!

Der Paramter "506 Einst_SuZIP_akt" wählt in der Tat aus welche Zeittabelle genutzt wird:
Woche(Mo-SO)     = 0
5+2(Mo-Fr,Sa-So) = 1
Tage(Mo,Di...)       = 2

Mann sollte als bei Einschalten 506 Einst_SuZIP_akt : 0 setzen.
Dann könnte man bei Ausschalten aber z.B. auf 506 Einst_SuZIP_akt : 2 wechseln so wären wieder die Tagesgenauen Einstellungen aktiv.

Ich werde mal die erste Seite so aktualisieren.

Gruß Westgate

westgate

Beitrag ist aktualisiert.
Bitte lest mal quer ob alles so stimmt.

frober

#38
Zitat von: westgate am 09 Dezember 2020, 20:11:56

Dann könnte man bei Ausschalten aber z.B. auf 506 Einst_SuZIP_akt : 2 wechseln so wären wieder die Tagesgenauen Einstellungen aktiv.

Das war auch mein Gedanke/ Hoffnung. Die Daten werde jedoch komplett (zumindest war das bei mir so) überschrieben.
Ich habe die Zeitvariablen nicht gezählt, vermute aber dass die Variablen mehrfach für die 3 Zeittabellen verwendet werden.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

ch.eick

Zitat von: frober am 09 Dezember 2020, 20:53:18
Das war auch mein Gedanke/ Hoffnung. Die Daten werde jedoch komplett (zumindest war das bei mir so) überschrieben.
Ich habe die Zeitvariablen nicht gezählt, vermute aber dass die Variablen mehrfach für die 3 Zeittabellen verwendet werden.
Wie wäre den der default? Bei mir hatte ich da nie etwas eingetragen.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

frober

Zitat von: westgate am 09 Dezember 2020, 20:32:11
Beitrag ist aktualisiert.
Bitte lest mal quer ob alles so stimmt.
Vom Code her passt es, danke für die Aktualisierung.
Bzgl. der Zeittabellen müsste ich nochmals testen...

Eine weitere Anmerkung: Ein FS20-Dummy ist nicht mehr nötig. Ein normaler Dummy mit useSetExtensions funktioniert auch.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

frober

Zitat von: ch.eick am 09 Dezember 2020, 21:04:07
Wie wäre den der default? Bei mir hatte ich da nie etwas eingetragen.
Kann ich nicht mehr sagen, ich vermute das per Default Woche von 00:00 - 23:59 gesetzt ist. Als Dauerlauf, Taktung war, glaube ich 5:15.

Zum Testen unter Tage einfach eine Zeit eintragen und Pumpe über Fehm starten. Wenn die eingetragen Zeiten noch vorhanden sind währe es toll.
Ich teste Morgen auch nochmal...
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

frober

#42
Ich habe es noch einmal getestet, die Zeiten bleiben doch erhalten.
Da muss beim ersten Mal etwas schief gegangen sein.

Die Variablen werden auch nicht doppelt benutzt, habe sie gezählt...

Grüße Bernd
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Manos

#43
Hallo Westgate,
vielen Dank fuer die ausfuehrliche Dokumentation.

ich habe folgendes festgestellt zu deiner Erklaerung
ZitatWie könnte man also Zirkulation realisieren?
Die Luxtronik (Bedienteil) bietet die Möglichkeit unter Warmwasser -> Pflegeprogramm -> Zirkulation feste Zeiten für die Warmwasser Zirkulation einzustellen.
Unter Schaltuhren hat man verschieden Möglichkeiten diese Zirkulationszeiten einzustellen.
Wichtig hierbei man stellt nicht die Zirkulationszeiten, sondern die Sperrzeiten ein.
Das heißt ein Wert von 08:00 - 22:00 sperrt zwischen 8:00 und 22:00 die Zirkulation. Will ich von 8:00 bis 22:00 Zirkulation muss ich es genau anders herum eintragen 22:00 - 8:00.

Laut mein Handbuch Version 83055200dDE – Originalbetriebsanleitung (2.0 / 2.1)
Warmwasser Schaltzeiten: "die Zeiträume, die Sie im Bereich ,,Schaltzeiten Trinkwarmwasserbereitung" festlegen, Sperrzeiten sind" (Seite 23)
aber
Warmwasser Pflegeprogramm -> Zirkulation: "In den Schaltzeiten geben Sie die Zeiten ein, in denen die Zirkulationspumpe laufen sol" (Seite 24)

Warum sie das so "verkehrt" programmiert haben, entzieht meine Logik, wie auch immer, die "Learning Curve" ist ziemlich steil - ein Mal kalt geduscht, das vergiss man schnell nicht  :P

schoene Gruesse
Manos
HP Microserver GEN8 XEON, Ubuntu 22.04, FHEM, ConBee II, CCU2, CUL433, Tradfri, Luxtronik2, Volkszaehler (und wenig Ahnung...)