Pool Solar Zeitsteuerung

Programmierung der HomeMatic CCU mittels contronics homeputer CL

Moderator: Co-Administratoren

K_Media
Beiträge: 304
Registriert: 18.05.2013, 19:42
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Pool Solar Zeitsteuerung

Beitrag von K_Media » 25.05.2016, 11:46

Das ganze funktioniert noch nicht rund.

Gestern hätte die Pumpe um 19.00 Uhr für 2 Stunden laufen müssen, da sie den ganzen Tag nicht lief.
Um 19 Uhr stand dann in VisuWin als Laufzeit 19:00:00
die Pumpe lief nicht.

Heute morgen stand in VisuWin 23:22:25
Eigentlich hätte der Timer auf 00:00:00 stehen müssen

Hier mal meine Makros (SPG Tools)

für Anzeige Ausführungsintervall jede Minute

Code: Alles auswählen

//! AUSFÜHRUNG BEI EMPFANG  : nein
//! AUSFÜHRUNG BEI ÄNDERUNG : nein
//! ------------------------------------------------------------
//! KONF.:3DDD7BAABA5A
//!
//! ============================================================
//! VARIABLENDEFINITIONEN
//! ============================================================
//! NAME                TYP                 STARTWERT
//! ------------------------------------------------------------
//! Dauer               Uhr
//! DauerTag            Uhr


      wenn Uhrzeit zwischen "21:00:00" und "06:00:00" dann  // da schaut keiner mehr auf die Visualisierung
        verlassen
      endewenn

      wenn Gartensteckdose eingeschaltet dann                 // Tagesdauer + aktuelle Laufzeit
        Dauer:= Stoppuhr(PoolpumpeZeit.Timer)              // aktuelle Laufzeit
        DauerTag:= PoolpumpeZeit.DauerTag + Dauer          // plus die bisher aufgelaufene Zeit
        Poolpumpe_Laufzeit:= DauerTag + " Pumpe aktiv"        // falls der Text nicht gewünscht ist, einfach incl. "+" löschen
        verlassen
      endewenn

      wenn Gartensteckdose ausgeschaltet dann                 // einfach die bereits aufsummierte Zeit anzeigen
        Poolpumpe_Laufzeit:= PoolpumpeZeit.DauerTag + " Pumpe ist inaktiv"           // falls der Text nicht gewünscht ist, einfach incl. "+" löschen
      endewenn
für Laufzeit

Code: Alles auswählen

//! ============================================================
//! OBJEKT PoolpumpeZeit
//! ============================================================
//! OBJEKT-TYP              : Makro
//! BEZEICHNUNG             : PoolpumpeZeit
//! STARTWERT               :
//! ------------------------------------------------------------
//! AUSFÜHRUNGSINTERVALL    : nein
//! AUSFÜHRUNG BEI EINGABE  : nein
//! AUSFÜHRUNG BEI EMPFANG  : nein
//! AUSFÜHRUNG BEI ÄNDERUNG : nein
//! ------------------------------------------------------------
//! KONF.:3DDD7BAABA5A
//!
//! ============================================================
//! ZEIT-TABELLE (kann [noch] nicht im Editor verändert werden)
//! ============================================================
//! TAG             UHRZEIT
//! ------------------------------------------------------------
//! Täglich         19:00:00
//! Täglich         00:00:05
//!
//! ============================================================
//! VARIABLENDEFINITIONEN
//! ============================================================
//! NAME                TYP                 STARTWERT
//! ------------------------------------------------------------
//! Timer               Uhr
//! Dauer               Uhr
//! DauerTag            Uhr


wenn Uhrzeit = "00:00:05" dann             // Bei Tageswechsel den Tageszähler initialisieren
        DauerTag:= "00:00:00"
        verlassen                                // und Feierabend
      endewenn

wenn Uhrzeit = "19:00:00"
       und Pool_Solarautomatik_aus eingeschaltet dann             // die letzte Aktion für diesen Tag
        wenn DauerTag < "02:00:00" dann          // Pumpe noch keine 3h gelaufen?
          Dauer:= "02:00:00" - DauerTag          // dann die Differenz ermitteln
          wenn Dauer > "00:05:00" dann           // nur wenn die Restzeit > 5 Minuten ist (anpassen, oder löschen)
            Gartensteckdose einschalten für Dauer    // dann die Pumpe für die Restzeit starten
          endewenn
        endewenn
         verlassen
      endewenn

wenn Gartensteckdose eingeschaltet dann        // Stoppuhr starten
        Startuhr(Timer)
        verlassen
      endewenn

wenn Gartensteckdose ausgeschaltet dann        // die aktuell gelaufene Zeit ermitteln
        Dauer:= Stoppuhr(Timer)
        DauerTag:= DauerTag + Dauer           // und zum Tageszähler addieren
      endewenn


Gartensteckdose (Poolpumpe)

Code: Alles auswählen

//! ============================================================
//! OBJEKT Gartensteckdose
//! ============================================================
//! OBJEKT-TYP              : Licht
//! BEZEICHNUNG             : Gartensteckdose
//! STARTWERT               : aus
//! ------------------------------------------------------------
//! AUSFÜHRUNGSINTERVALL    : nein
//! AUSFÜHRUNG BEI EINGABE  : nein
//! AUSFÜHRUNG BEI EMPFANG  : nein
//! AUSFÜHRUNG BEI ÄNDERUNG : ja
//! ------------------------------------------------------------
//! KONF.:4DAD2B4A0ADC3DDD7BAABA5A
//! VISU.:1DBDBA7AEDDDFD4BFAAD6DAD3B7A6D2DEDFA3ADD7D9DCAFA9D3DDD2A6BCD4D8DEBDA8D0DCDEA9AFD5D0D6B0BBD1DBD9ADAEDDDFD5A5BAD6DCDDAED98092848F878397B
//!
//! ============================================================
//! VARIABLENDEFINITIONEN
//! ============================================================
//! NAME                TYP                 STARTWERT
//! ------------------------------------------------------------


aufrufen(PoolpumpeZeit)
falls nötig, noch die Differenzregelung (die Läuft)

Code: Alles auswählen

//! ============================================================
//! OBJEKT Pool_Diff1
//! ============================================================
//! OBJEKT-TYP              : Zahl
//! BEZEICHNUNG             : Pool_Diff1
//! STARTWERT               : 0.0
//! ------------------------------------------------------------
//! AUSFÜHRUNGSINTERVALL    : nein
//! AUSFÜHRUNG BEI EINGABE  : ja
//! AUSFÜHRUNG BEI EMPFANG  : ja
//! AUSFÜHRUNG BEI ÄNDERUNG : nein
//! ------------------------------------------------------------
//! KONF.:6D5D9C8DBBBAEAFC1DEDAD2B4A0ADC3DDD7BAABA5A
//! VISU.:7D9DCBBB9D3DDD2A0BCD4D8DEB4B8D688849287B5CE9C8283B1C5BAA9DBABB9D2DDD8BEACD4D8DEAAA8D8DCD5BFAFD384809683B1C5998586BDC1BEADDFAEACD4DDDBD3D2D7D7D7DAD8A6A6D2DED7BEADD6D9D2BFA9D3DDDEA4ACD5D8D4A0A8D1D1D4D0D3D2DBD3DECDD2A6BCD4D8DEBDA8D0DCDEA9AFD5D0D4BDABD4DBD1B7BED8D7D1DDD9A5ACD4D8D9A5A8D1DCD0A1BFD4D0D4ADABDAD6DCD3AED98092848F878397B
//!
//! ============================================================
//! VARIABLENDEFINITIONEN
//! ============================================================
//! NAME                TYP                 STARTWERT
//! ------------------------------------------------------------
//! Groesser3           Zahl                0
//! Kleiner2            Zahl                0
//! UeberschrittenUm    Zeit
//! UnterschrittenUm    Zeit


wenn Pool_Solarautomatik_aus ist gleich "aus" dann
 verlassen
endewenn


wenn Pool_Diff1 groesser 5 dann

   wenn Groesser3      = 0 dann
      Groesser3       := 1
      UeberschrittenUm := Zeit
   sonst
      wenn Stoppuhr(UeberschrittenUm) > "00:10:00" dann
         Gartensteckdose einschalten
      endewenn
   endewenn

sonst

   Groesser3          := 0

endewenn

wenn Pool_Diff1 kleiner 3 dann

   wenn Kleiner2       = 0 dann
      Kleiner2        := 1
      UnterschrittenUm := Zeit
   sonst
      wenn Stoppuhr(UnterschrittenUm) > "00:10:00" dann
         Gartensteckdose ausschalten
      endewenn
   endewenn

sonst

   Kleiner2           := 0

endewenn

schöne Grüße aus dem Bergischen.....

CCU3mit FHZ 2000 , Homeputer Studio 4 CL, Mediola Gateway V2. und jede Menge HM Aktoren und Sensoren

PeterM
Beiträge: 761
Registriert: 14.10.2008, 10:15
System: Alternative CCU (auf Basis OCCU)
Wohnort: Walldorf/Baden
Danksagung erhalten: 2 Mal

Re: Pool Solar Zeitsteuerung

Beitrag von PeterM » 26.05.2016, 09:50

Hallo BoyHitsCar,

die CCU wird sich an der homeputer-Sprache verschlucken. Die "spricht" nur Script.
Ich bin mir aber sicher, daß es irgendwo im Forum auch eine passende Script-Variante gibt.

Gruß,
Peter

PeterM
Beiträge: 761
Registriert: 14.10.2008, 10:15
System: Alternative CCU (auf Basis OCCU)
Wohnort: Walldorf/Baden
Danksagung erhalten: 2 Mal

Re: Pool Solar Zeitsteuerung

Beitrag von PeterM » 27.05.2016, 09:04

Hallo K_Media,

welches Modul nutzt du denn für die Poolpumpe?
Ich würde das gerne zu Hause mit dem gleichen Aktor nachstellen - nicht, dass der Aktor die Anweisung "Einschalten für" nicht beherrscht.

Viele Grüße,
Peter

K_Media
Beiträge: 304
Registriert: 18.05.2013, 19:42
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Pool Solar Zeitsteuerung

Beitrag von K_Media » 27.05.2016, 10:07

4-Fach Aktor für aussen.
Einschalten für... kann der aber. Die Teichpuzmpe inkl. Zubehör laufen darüber.
schöne Grüße aus dem Bergischen.....

CCU3mit FHZ 2000 , Homeputer Studio 4 CL, Mediola Gateway V2. und jede Menge HM Aktoren und Sensoren

PeterM
Beiträge: 761
Registriert: 14.10.2008, 10:15
System: Alternative CCU (auf Basis OCCU)
Wohnort: Walldorf/Baden
Danksagung erhalten: 2 Mal

Re: Pool Solar Zeitsteuerung

Beitrag von PeterM » 27.05.2016, 10:14

Danke, dann gibt es wohl doch noch eine kleine Programmirritation (Fehler klingt so hart :wink: )

K_Media
Beiträge: 304
Registriert: 18.05.2013, 19:42
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Pool Solar Zeitsteuerung

Beitrag von K_Media » 27.05.2016, 10:18

Wie bereits geschrieben, die Anzeige spinnt.
Diese sollte ja jatzt auf 00:00:00 stehen.

es wird jedoch 06:15:18 angezeigt. Starte ich die Pumpe manuell, dann Zählt der Timer weiter.

Kann die Laufzeit evtl. üner die Geräteeigene Variable .ct funktionieren?
Zuletzt geändert von K_Media am 27.05.2016, 10:42, insgesamt 1-mal geändert.
schöne Grüße aus dem Bergischen.....

CCU3mit FHZ 2000 , Homeputer Studio 4 CL, Mediola Gateway V2. und jede Menge HM Aktoren und Sensoren

Familienvater
Beiträge: 7151
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 34 Mal

Re: Pool Solar Zeitsteuerung

Beitrag von Familienvater » 27.05.2016, 10:22

Hi,

in HPCL kann JEDER Aktor "Einschalten für", das ist nämlich nur ein Software-Timer, der Hardwaretimer wird nur genutzt, wenn man das Explizit mit Setzewert reinhämmert.
Die für mich optimale Lösung bei Funk-Schaltaktoren ist die Kombination aus beidem, Setzewert damit der Aktor sicher wieder abschaltet, und "Einschalten für" damit die Visu generell auch den richtigen Status hat.
Bei Wired-Aktoren sieht es leider anders aus, deren Hardwaretimer ist nur per Direktverknüpfung nutzbar, da geht nur "Einschalten für" (wenn es um eine fixe Einschaltdauer geht, kann man das natürlich per virtueller Wired-Taste hardware-Timern). Wer dann HPCL zwischendrin mal Neustartet, muss selber dafür sorgen, das sein vorher mit "Einschalten für" eingeschalter Wired-Aktor auch wieder abschaltet.

Der Familienvater

PeterM
Beiträge: 761
Registriert: 14.10.2008, 10:15
System: Alternative CCU (auf Basis OCCU)
Wohnort: Walldorf/Baden
Danksagung erhalten: 2 Mal

Re: Pool Solar Zeitsteuerung

Beitrag von PeterM » 30.05.2016, 13:40

Hallo K_Media,

die Variable "Gartensteckdose.ct" kann leider nicht verwendet werden, da diese beim Ausschalten ja sofort wieder neu gesetzt wird. Die Zuweisung "Dauer:= Stoppuhr(Gartensteckdose.ct) in PoolpumpeZeit (statt Dauer:= Stoppuhr(Timer))" würde dann nur die Dauer seit dem letzten ausschalten (also 00:00:00) liefern.
Habe 3 kleine Korrekturen vorgenommen und getestet, jetzt läuft es.

Das Makro zur Anzeige der Laufzeit bleibt unverändert.
Makro PoolpumpeZeit:

Code: Alles auswählen

//! ============================================================
//! OBJEKT PoolpumpeZeit
//! ============================================================
//! OBJEKT-TYP              : Makro
//! BEZEICHNUNG             : PoolpumpeZeit
//! STARTWERT               :
//! ------------------------------------------------------------
//! AUSFÜHRUNGSINTERVALL    : nein
//! AUSFÜHRUNG BEI EINGABE  : nein
//! AUSFÜHRUNG BEI EMPFANG  : nein
//! AUSFÜHRUNG BEI ÄNDERUNG : nein
//! ------------------------------------------------------------
//! KONF.:3DDD7BAABA5A
//!
//! ============================================================
//! ZEIT-TABELLE (kann [noch] nicht im Editor verändert werden)
//! ============================================================
//! TAG             UHRZEIT
//! ------------------------------------------------------------
//! Täglich         19:00:00
//! Täglich         00:00:05
//!
//! ============================================================
//! VARIABLENDEFINITIONEN
//! ============================================================
//! NAME                TYP                 STARTWERT
//! ------------------------------------------------------------
//! Timer               Uhr
//! Dauer               Uhr
//! DauerTag            Uhr


  wenn Uhrzeit = "00:00:05" dann                               // Bei Tageswechsel den Tageszähler initialisieren
    DauerTag:= "00:00:00"
    verlassen                                                  // und Feierabend
  endewenn

  wenn Uhrzeitsekunde = "19:00:00"                             // !!NEU 30.05.2016!! - Uhrzeitsekunde statt Uhrzeit, da mit dem Einschalten der Steckdose das Makro ja wieder ausgeführt wird
    und Pool_Solarautomatik_aus eingeschaltet dann             // die letzte Aktion für diesen Tag
    wenn DauerTag < "02:00:00" dann                            // Pumpe noch keine 3h gelaufen?
      Dauer:= "02:00:00" - DauerTag                            // dann die Differenz ermitteln
      warte("00:00:02")                                        // !!NEU 30.05.2016!! - da beim Einschalten der Steckdose das Makro wieder gestartet wird, käme es zu Überschneidungen
      wenn Dauer > "00:05:00" dann                             // nur wenn die Restzeit > 5 Minuten ist (anpassen, oder löschen)
        Gartensteckdose einschalten für Dauer                  // dann die Pumpe für die Restzeit starten
        Startuhr(Timer)                                        // !!NEU 30.05.2016!! - ganz wichtig, sonst ist die Laufzeit nicht korrekt
      endewenn
    endewenn
    verlassen
  endewenn

  wenn Gartensteckdose eingeschaltet dann                      // Stoppuhr starten
    Startuhr(Timer)
    verlassen
  endewenn

  wenn Gartensteckdose ausgeschaltet dann                      // die aktuell gelaufene Zeit ermitteln
    Dauer:= Stoppuhr(Timer)
    DauerTag:= DauerTag + Dauer                                // und zum Tageszähler addieren
  endewenn

Viele Grüße,
Peter

@Familienvater: Ja, selbst nach so langer Nutzung kann ich noch etwas lernen...

K_Media
Beiträge: 304
Registriert: 18.05.2013, 19:42
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Pool Solar Zeitsteuerung

Beitrag von K_Media » 30.05.2016, 13:49

Super, vielen Dank.

Habe die Änderungen gerade vorgenommen und werde es testen.
Der Timer wird nachts (00:00:05) nicht immer auf 0 gesetzt. Sollte dort im Makro evtl. auch Uhrzeitsekunde genutzt werden ?
schöne Grüße aus dem Bergischen.....

CCU3mit FHZ 2000 , Homeputer Studio 4 CL, Mediola Gateway V2. und jede Menge HM Aktoren und Sensoren

PeterM
Beiträge: 761
Registriert: 14.10.2008, 10:15
System: Alternative CCU (auf Basis OCCU)
Wohnort: Walldorf/Baden
Danksagung erhalten: 2 Mal

Re: Pool Solar Zeitsteuerung

Beitrag von PeterM » 30.05.2016, 14:32

Hallo K_Media,

das Makro wird ja exakt um "00:00:05" gestartet. Muss also stimmen.
Du kannst aber auch durchaus die Zeile abändern in "Wenn Uhrzeit < "00:10:00" dann"...

Schau aber erstmal was meine Änderung bewirkt.

Gruß,
Peter

Antworten

Zurück zu „homeputer CL“