Programm erstellen: Wenn "Programm" ausgeführt, DANN...

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Martinii
Beiträge: 61
Registriert: 04.12.2016, 11:06
System: CCU
Hat sich bedankt: 3 Mal

Programm erstellen: Wenn "Programm" ausgeführt, DANN...

Beitrag von Martinii » 28.12.2016, 14:17

Hallo :-)

Lässt sich irgendwie folgendes Programm erstellen, wenn ja wie?

Wenn "Gerät1" im Schaltzustand ein UND zuvor Gerät1 durch "Programm1" auf ein geschalten wurde, dann bei Temperatur 10° Gerät1 auf Aus.

Auf deutsch: Ein Heizungsstrang soll ab einer bestimmten Außentemperatur eingeschalten werden und automatisch wieder aus gehen wenn dieser Wert wieder erreicht wurde, also die Gefahr eines Einfrierens des Wassers gebannt. Das ist soweit ganz einfach. ABER Wenn der Heizungsstrang mal manuell eingeschalten wurde, dann soll der Heizungsstrang nicht aus gehen wenn diese bestimmte Temperatur erreicht wurde.

Funktioniert sowas irgendwie?

Gluehwurm
Beiträge: 12434
Registriert: 19.03.2014, 00:37
System: in Planung
Hat sich bedankt: 105 Mal
Danksagung erhalten: 380 Mal

Re: Programm erstellen: Wenn "Programm" ausgeführt, DANN...

Beitrag von Gluehwurm » 28.12.2016, 14:32

Stichwort Systemvariable ... und jetzt darfst Du selber mal probieren :wink: :mrgreen:

Gruß
Bruno

Martinii
Beiträge: 61
Registriert: 04.12.2016, 11:06
System: CCU
Hat sich bedankt: 3 Mal

Re: Programm erstellen: Wenn "Programm" ausgeführt, DANN...

Beitrag von Martinii » 28.12.2016, 15:06

Das ist leider zu hoch für mich :mrgreen:

Ich ecke immer wieder mit dem Gedanken an wie das Programm erkennen soll ob ich denn den Aktor manuell über Handy-App oder durch ein erstelltes Homematic-Programm geschalten wurde.

Ich habe zur Verfügung:

-CCU2
-Schaltaktor
-Außentemperatursensor

KEIN Tür/Fensterkontakt und auch kein Heizkörperthermostat.

skoss
Beiträge: 28
Registriert: 02.12.2010, 20:42

Re: Programm erstellen: Wenn "Programm" ausgeführt, DANN...

Beitrag von skoss » 28.12.2016, 15:28

Ich würde das etwa so versuchen mit einer Systemvariable und 4 Programmen:
  • Anlegen einer Systemvariable (Werteliste) zur Verfolgung des Einschaltgrundes mit den folgenden Werten: Aus, Manuell, Frostschutz
  • Programm zum Einschalten als Frostschutz. Trigger: Temperatur vom Sensor kleiner als z.B. 5°C bei ÄNDERUNG (oder AKTUALISIERUNG) UND Schaltaktor=aus NUR PRÜFEN. DANN Schaltaktor einschalten und Systemvariable auf "Frostschutz" setzen
  • Programm zum bedingungslosen Einschalten, auszulösen über die Oberfläche der Homematic. Schaltaktor einschalten und Systemvariable auf "Manuell" setzen.
  • Programm zu automatischen Beendigung des Frostschutzes. Trigger: Temperatur vom Sensor grösser als 10°C bei ÄNDERUNG (oder AKTUALISIERUNG) UND Systemvariable="Frostschutz". DANN Schaltaktor ausschalten und Systemvariable auf "Aus" setzen.
  • Programm zum bedingungslosen Ausschalten, auszulösen über die Oberfläche der Homematic. Schaltaktor ausschalten und Systemvariable auf "Aus" setzen.
Gruss

skoss

--------------------------------------------
171 Kanäle in 72 Geräten:
3x HM-WDS30-T-O, 2x HM-LC-Sw4-SM, 2x HM-Sec-MDIR, 1x HM-RC-12-B, 13x HM-Sec-SC, 1x HM-Sec-SCo, 1x HM-Sec-Sir-WM, 2x HM-Sen-EP, 1x HM-RC-4-2, 1x HM-RC-Sec3-B, 1x HM-WDS10-TH-O, 3x HM-LC-Sw1-FM, 2x HM-PB-2-WM55-2, 2x HM-SwI-3-FM, 1x HM-LC-Sw1-PB-FM, 1x HM-LC-Sw2-PB-FM, 1x HM-LC-Sw1PBU-FM, 1x HM-LC-Bl1-SM, 5x HM-Sec-SD, 1x HM-Sen-RD-O, 1x HM-LC-Sw4-PCB, 1x HM-OU-LED16, 5x HM-ES-PMSw1-Pl-DN-R5, 4x HM-CC-VD, 11x HM-CC-TC, 1x HM-Sec-WDS-2, 1x HM-WDS100-C6-O
--------------------------------------------

Gluehwurm
Beiträge: 12434
Registriert: 19.03.2014, 00:37
System: in Planung
Hat sich bedankt: 105 Mal
Danksagung erhalten: 380 Mal

Re: Programm erstellen: Wenn "Programm" ausgeführt, DANN...

Beitrag von Gluehwurm » 28.12.2016, 16:14

Martinii hat geschrieben:Das ist leider zu hoch für mich :mrgreen:
Klar, Du solltest Dir auch erst dazu Gedanken machen. Nicht nur lesen und :cry: ... :wink: :mrgreen:
... wie das Programm erkennen ... durch ein erstelltes Homematic-Programm geschalten wurde.
Das musst Du über eine entsprechende SysVar im Programm "kennzeichnen". Prog1 schaltet ein (Zeile 1) und setzt eine SysVar (Zeile 2), Prog2 "schaut" wie die Variable steht (Wenn "Temp. Wert xx" und SysVar xx Ein, Dann, oder Sonst... ) und der entsprechende Zweig wird ausgeführt. In Kurzform
Ich habe zur Verfügung:
...
KEIN Tür/Fensterkontakt und auch kein Heizkörperthermostat.
Das was Du hast, reicht völlig. jetzt noch "a bisserl Hirnschmalz" (täte der Bayer jetzt sagen) und es klappt. :wink: :mrgreen:

Muss jetzt weg, bin gegen später wieder zu Hause.

skoss
Beiträge: 28
Registriert: 02.12.2010, 20:42

Re: Programm erstellen: Wenn "Programm" ausgeführt, DANN...

Beitrag von skoss » 28.12.2016, 16:18

Ich habe das eben mal auf die Schnelle programmiert.
In Abhängigkeit der Bodentemperatur hinter dem Haus. Unter 0°C schaltet der Frostschutz ein. Über 2°C schaltet er wieder aus. Ich habe beim Triggern der Temperatur BEI AKTUALISIERUNG gewählt, damit er auslöst, auch wenn die Temperatur bereits in dem Bereich liegt. Bei ÄNDERUNG würde der Frostschutz nur ausgelöst, wenn die Temperatur sich ändert und einen Sprung von >=0°C auf unter 0°C macht.

Zum Schalten nutze ich den freien Schaltkanal 4 eines 4-Kanal-Aktors.
Sytemvariable Heizstatus.png
Systemvariable Heizstatus
Programm Frostschutz ein.png
1. Programm: Frostschutz ein
Programm Heizung ein.png
2. Programm: Heizung ein
Programm Frostschutz aus.png
3. Programm: Frostschutz aus
Programm Heizung aus.png
4. Programm: Heizung aus
Im Moment ist die Temperatur unter 0°. Der Autor wurde automatisch eingeschaltet und die Variable auf Frostschutz gesetzt. Morgen am frühen Nachmittag erwarte ich wieder positive Temperaturen. Dann müsste es wieder automatisch abschalten, wenn man nicht zwischendurch manuell einschaltet. Schalte ich bei niedrigen Temperaturen manuell ein und wieder aus, wird beim nächste Aktualisieren der Bodentemperatur der Frostschutz wieder eingeschaltet, sofern die Temperatur weiterhin unter 0°C ist.
Temperatur und Schaltzustand.png
Temperatur und Schaltzustand Frostschutz
Heizstatus aktuell.png
Heizstatus Frostschutz
Gruss

skoss

--------------------------------------------
171 Kanäle in 72 Geräten:
3x HM-WDS30-T-O, 2x HM-LC-Sw4-SM, 2x HM-Sec-MDIR, 1x HM-RC-12-B, 13x HM-Sec-SC, 1x HM-Sec-SCo, 1x HM-Sec-Sir-WM, 2x HM-Sen-EP, 1x HM-RC-4-2, 1x HM-RC-Sec3-B, 1x HM-WDS10-TH-O, 3x HM-LC-Sw1-FM, 2x HM-PB-2-WM55-2, 2x HM-SwI-3-FM, 1x HM-LC-Sw1-PB-FM, 1x HM-LC-Sw2-PB-FM, 1x HM-LC-Sw1PBU-FM, 1x HM-LC-Bl1-SM, 5x HM-Sec-SD, 1x HM-Sen-RD-O, 1x HM-LC-Sw4-PCB, 1x HM-OU-LED16, 5x HM-ES-PMSw1-Pl-DN-R5, 4x HM-CC-VD, 11x HM-CC-TC, 1x HM-Sec-WDS-2, 1x HM-WDS100-C6-O
--------------------------------------------

Martinii
Beiträge: 61
Registriert: 04.12.2016, 11:06
System: CCU
Hat sich bedankt: 3 Mal

Re: Programm erstellen: Wenn "Programm" ausgeführt, DANN...

Beitrag von Martinii » 29.12.2016, 09:48

Oh danke für die ganze Mühe! :-)
So sehe ich wenigstens mal welche Gedankengänge man gehen muss wenn man was machen programmieren möchte.
Auf mehrere Programme parallel verteilt, auf sowas wäre ich nicht gleich gekommen...

skoss
Beiträge: 28
Registriert: 02.12.2010, 20:42

Re: Programm erstellen: Wenn "Programm" ausgeführt, DANN...

Beitrag von skoss » 29.12.2016, 19:22

Der erste Teil des Tests hat funktioniert. Seit gestern war Frostschutz aktiv. Heute um 12:41:53 war die Temperatur mit 2.7°C erstmals über 2°C. Das Skript hat den Frostschutz beendet. Um 15:08:05 ist die Temperatur dann mit -0.1°C erneut unter 0°C gefallen; die Heizung wurde im Frostschutzmodus eingeschaltet. Eben habe ich sie manuell aus- und wieder eingeschaltet. Jetzt ist die Variable auf Manuell gesetzt. Wenn morgen die Temperatur wieder steigt, dürfte das Skript den Aktor nicht ausschalten.
Bildschirmfoto 2016-12-29 um 19.13.48 .png
Temperatur und Schaltzustand Entwicklung
Gruss

skoss

--------------------------------------------
171 Kanäle in 72 Geräten:
3x HM-WDS30-T-O, 2x HM-LC-Sw4-SM, 2x HM-Sec-MDIR, 1x HM-RC-12-B, 13x HM-Sec-SC, 1x HM-Sec-SCo, 1x HM-Sec-Sir-WM, 2x HM-Sen-EP, 1x HM-RC-4-2, 1x HM-RC-Sec3-B, 1x HM-WDS10-TH-O, 3x HM-LC-Sw1-FM, 2x HM-PB-2-WM55-2, 2x HM-SwI-3-FM, 1x HM-LC-Sw1-PB-FM, 1x HM-LC-Sw2-PB-FM, 1x HM-LC-Sw1PBU-FM, 1x HM-LC-Bl1-SM, 5x HM-Sec-SD, 1x HM-Sen-RD-O, 1x HM-LC-Sw4-PCB, 1x HM-OU-LED16, 5x HM-ES-PMSw1-Pl-DN-R5, 4x HM-CC-VD, 11x HM-CC-TC, 1x HM-Sec-WDS-2, 1x HM-WDS100-C6-O
--------------------------------------------

Martinii
Beiträge: 61
Registriert: 04.12.2016, 11:06
System: CCU
Hat sich bedankt: 3 Mal

Re: Programm erstellen: Wenn "Programm" ausgeführt, DANN...

Beitrag von Martinii » 29.12.2016, 19:27

Vielen Dank nochmal,

mein Test war heute schneller beendet, durch manipulation des Sensors :-D Sprich das Ganze funktioniert bereits. Alle Szenarien habe ich bereits durchgespielt :)

Martinii
Beiträge: 61
Registriert: 04.12.2016, 11:06
System: CCU
Hat sich bedankt: 3 Mal

Re: Programm erstellen: Wenn "Programm" ausgeführt, DANN...

Beitrag von Martinii » 30.12.2016, 22:30

Ach so.....

Ich habe im Programm jetzt nicht nur einen Aktor zum Schalten eingebunden, sondern zwei! Wenn einer davon auf AN ist, dann denkt das Programm das es auf manuell gesetzt ist, oder? Denn dieses Szenario habe ich nicht probiert.

Reicht es dann etwas im Programm zu ändern, oder sollte ich dies auf zwei parallele Programm-"Gruppen" verteilen. Sprich für jeden Aktor ein extra Programm?
Dateianhänge
Bildschirmfoto 2016-12-30 um 22.32.21.jpg

Antworten

Zurück zu „HomeMatic allgemein“