Makro unter homeputer - mehrer Aktionen

Betrieb der FHZ-Zentralen mit contronics homeputer Standard / homeputer Studio & WEB-Server

Moderator: Co-Administratoren

Dome_2001
Beiträge: 319
Registriert: 01.07.2014, 10:18
Hat sich bedankt: 5 Mal

Makro unter homeputer - mehrer Aktionen

Beitrag von Dome_2001 » 05.07.2014, 21:07

Hallo zusammen,

ich versuche mich gerade an meiner ersten echten Automatisierung. Und drehe fast durch.

Verwendete Hardware
- homeputer Studio CL
- FS20 Unterputz Schaltaktor (keine Ahnung wie der sich genau schimpft)
- FS20 AP4-3

Alles lässt sich, wenn mein FHZ2000 lust darauf hat und nicht gerade meint überlastet zu sein auch sauber schalten. Das geht also.

Ziel ist, wenn eine bestimmte Uhrzeit erreicht ist, soll der FS20 Schaltaktor für z.B 10 Minuten einschalten. Wenn dieser an ist, soll vom FS20 AP4-3 Kanal1 für z.B. 7 Minuten an sein, Kanal 2 für 6 Minuten und Kanal 3 für 10 Minuten an sein.

Aktuell versuche ich es über ein paar Makros.
FS20 Unterputz
1 Makro: Wasserpumpe einschalten für 00:10:00 Minuten
Dies wird über Ausführungszeiten gesteuert
Ausführungsintervall alle 5 Minuten

FS20 AP4-3
Kanal 1
Makro: wenn Wasserpumpe eingeschaltet dann Bewaesserung001 einschalten für 00:07:00 Minuten wenn-Block-ende
Ausführungsintervall jede Minute

Für Kanal 2 und 3 im Endeffekt das gleiche nur halt der entsprechende Kanal und Zeit.

Soweit wird auch alles eingeschaltet. Nur es schaltet sich nach den vorgegeben Zeiten einfach nicht aus. Also interessiert die Timer Angabe einen mist.

Muss ich jetzt Makros schreiben das alles wieder ausgeschaltet wird? Das wäre ja echt blödsinn.
Wo liegt denn mein Denkfehler?

Danke Euch!

Grüße

Sven
--------------------------------------------
138 Kanäle in 55 Geräten und 111 CUxD-Kanäle in 7 CUxD-Geräten
--------------------------------------------

Benutzeravatar
Herbert_Testmann
Beiträge: 11062
Registriert: 17.01.2009, 11:30
Danksagung erhalten: 7 Mal

Re: Makro unter homeputer - mehrer Aktionen

Beitrag von Herbert_Testmann » 05.07.2014, 23:02

Hallo

ich halte mich so weit aus FS20 raus.
Buempi wird Dir da helfen können.

Voraussetzung ist aber, dass Du Deine Makros nicht mit Deinen Worten beschreibst, sondern einfach den Makro Text 1:1 als Code hier rein kopierst.
Ich habe da schon eine Vermutung was die Einschaltdauer betrifft, aber ohne Quelltext und dann auch noch dieser alte FS Kram ...
---
Dieses Schreiben wurde maschinell erstellt und ist ohne Unterschrift gültig

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Makro unter homeputer - mehrer Aktionen

Beitrag von buempi » 06.07.2014, 07:41

Hallo Sven

Herbert hat Recht: Ohne vollständiges Makro kann man schwerlich Fehler suchen. Bitte poste sie noch; möglichst zwischen Code-Tags (Code-Knopf oberhalb Eingabe-Feld anklicken!).

Etwas ist mir jetzt schon aufgefallen: Du steuerst alles über Intervalle. Wenn da bei Anweisungen wie "einschalten für 00:10:00" nicht durch entsprechende Bedingungen verhindert wird, dass sie bei jedem Durchgang ausgeführt werden, beginnt die Laufzeit jedes Mal neu!

Viele Grüsse
Bümpi

Dome_2001
Beiträge: 319
Registriert: 01.07.2014, 10:18
Hat sich bedankt: 5 Mal

Re: Makro unter homeputer - mehrer Aktionen

Beitrag von Dome_2001 » 06.07.2014, 09:20

Guten Morgen Bümpi,

hier die Codes

Code: Alles auswählen

Wasserpumpe einschalten für 2 Minuten
im 5 Minuten Intervall

Für die Ventile

Code: Alles auswählen

wenn Wasserpumpe eingeschaltet dann
  Bewaesserung003 einschalten für 1 Minuten
wenn-Block-Ende
Im 1 Minuten Intervall

Die anderen sind gleich.

Grüße

Sven
--------------------------------------------
138 Kanäle in 55 Geräten und 111 CUxD-Kanäle in 7 CUxD-Geräten
--------------------------------------------

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Makro unter homeputer - mehrer Aktionen

Beitrag von buempi » 06.07.2014, 09:32

Hallo Sven

Wenn nicht noch weitere Bedingungen vorhanden sind, wird so ja rund um die Uhr die Wasserpumpe alle 5 Minuten für 2 Minuten eingeschaltet! - Dann schaltet sich auch die Bewässerung 3x je für eine Minute ein. Nachher müsste für 2 Minuten "Ruhe" sein.

Das ist zwar sicher auch nicht das, was du anstrebst, entspricht aber auch nicht deiner Schilderung im ersten Beitrag, wonach nie mehr ausgeschaltet wird.

Deshalb denke ich, dass da noch andere Auslöser im Spiel sein müssen. Auch die Zeiten stimmen ja überhaupt nicht mit dem überein, was du zuerst geschrieben hast.

Kannst du mal ganz konkret sagen, wie deine Zielsetzung ist und mit welchen Mitteln du sie umzusetzen versuchst?

Viele Grüsse
Bümpi

Dome_2001
Beiträge: 319
Registriert: 01.07.2014, 10:18
Hat sich bedankt: 5 Mal

Re: Makro unter homeputer - mehrer Aktionen

Beitrag von Dome_2001 » 06.07.2014, 19:17

Hallo Bümpi,

so, jetzt habe ich mehr Zeit. Heute in der Früh war es zwischen Tür und Angel das ich den Post gemacht habe. Jetzt wieder Zuhause.

Ich habe für meine Wasserpumpe wirklich nur diesen Code als Makro hinterlegt.

Es ist wie folgt von mir hinterlegt. Unter Konfiguration -> Einstellungen kann man ja Makros hinterlegen. Dort habe ich die ganzen Makros für alle Geräte hinterlegt. Dort ist z.B. das Makro für die Wasserpumpe

Code: Alles auswählen

Wasserpumpe einschalten für 2 Minuten
Und z.B. für ein Magnetventil (Bewässerungskreislauf 1)

Code: Alles auswählen

wenn Wasserpumpe eingeschaltet dann
  Bewaesserung001 einschalten für 1 Minuten
wenn-Block-Ende
Nun rufe ich über die Ausführungszeiten nur das Makro für die Wasserpumpe auf. z.B. Um 21:00 Uhr soll das Makro

Code: Alles auswählen

Wasserpumpe einschalten für 2 Minuten
ausgeführt werden.

Über die Ausführungsintervalle (jede Minute) in den anderen Makros z.B.

Code: Alles auswählen

wenn Wasserpumpe eingeschaltet dann
  Bewaesserung001 einschalten für 1 Minuten
wenn-Block-Ende
Wenn dies der Fall ist, schaltet das Makro.

Die Zeiten die Ihr hier seht sind nur Testzeiten. Damit wollte ich nicht zu lange Wartezeiten haben ob das alles klappt. Fakt ist, es hat nicht ausgeschaltet.

Ich denke aber das das Problem ist, das mein Ausführungsinterfall bei der Wasserpumpe auf 5 Minuten gesetzt war. Das benötige ich ja gar nicht da ich es ja über die Ausführungsintervalle mache.

Wie kann man denn das alles eleganter erledigen? Muss ich irgendwelche Makros um etwas ergänzen?

Das Ziel ist: Die Wasserpumpe soll um 21:00 Uhr für 1 Stunde eingeschaltet werden. Dann sollen die Magnetventile für Bewässerung 1 bis 3 geschaltet werden. Bewässerung 1 für 1 Stunde, Bewässerung 2 für 45 Minuten und Bewässerung 3 für 30 Minuten. Dann soll nach einer Stunde die Wasserpumpe wieder ausschalten und die Ventile sollen sich nach der gegeben Zeit wieder ausschalten.

Wie gesagt, die Zeiten in meinen Makros waren nur Testzeiten um zuschauen ob es überhaupt klappt. Ich habe in diesem Anlauf alles über die oben erwähnten Makros versucht zu steuern. Diese sind unter Konfiguration - Einstellungen - Makros hinterlegt. Nicht am Gerät selber.

Hardware:
Unterputz Schaltaktor FS20 SU-3 --> Schaltet eine Steckdose an der meine Gardena Wasserpumpe angeschlossen ist
FS20 AP4-3 an denen 3 Steckdosen geschaltet werden, an denen ein Netzteil 24 V AC hängt der meine Garden Magnetventile mit Strom versorgt. Mit Strom Ventil offen, ohne Strom Ventil zu.

Das ist die Hardware ohne das Bewässerungskramzeugs.

Mir ist aufgefallen, das FS20 ja echt unzuverlässig schaltet. Wie bekomme ich da eventuell über ein paar Code tricks mehr stabilität rein?
Eventuell ein zusammenhängendes Makro? Wie geht das?

Danke Euch.

Liebe Grüße aus dem heißen Kreis Böblingen ....

Sven
--------------------------------------------
138 Kanäle in 55 Geräten und 111 CUxD-Kanäle in 7 CUxD-Geräten
--------------------------------------------

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Makro unter homeputer - mehrer Aktionen

Beitrag von buempi » 06.07.2014, 19:36

Hallo Sven

Dein Konzept ist viel zu kompliziert! Lass über die Ausführungszeiten ein Makro um 21:00 Uhr ausführen mit der einfachen Zeile

Code: Alles auswählen

Wasserpumpe einschalten für "01:00:00"
Kein Intervall oder dgl.!

Im Objekt "Wasserpumpe" aktivierst du "Ausführen bei Änderung" und trägst ein:

Code: Alles auswählen

Wenn Wasserpumpe eingeschaltet dann
   Bewaesserung001 einschalten für "01:00:00"
   Bewaesserung002 einschalten für "00:45:00"
   Bewaesserung003 einschalten für "00:30:00"
Endewenn
Dome_2001 hat geschrieben:Mir ist aufgefallen, das FS20 ja echt unzuverlässig schaltet. Wie bekomme ich da eventuell über ein paar Code tricks mehr stabilität rein?
... das ist natürlich bei einer Bewässerungsanlage ein ernsthaftes Problem. Leider kann man den internen Timer von FS20-Modulen mit Homeputer CL nicht ansprechen. Man kann aber ein Sendesignal mit SENDE() mehrfach wiederholen. Wenn du in den Aktor-Objekten wiederum "Ausführen bei Änderung" aktivierst, kannst du mit folgendem Eintrag erreichen, dass jedes Signal 3x wiederholt wird.

Code: Alles auswählen

warte("00:00:05")
Sende(Bewaesserung001) // bzw. 2 oder 3
warte("00:00:05")
Sende(Bewaesserung001) // bzw. 2 oder 3
warte("00:00:05")
Sende(Bewaesserung001) // bzw. 2 oder 3
Analog natürlich auch bei der Wasserpumpe nach dem WENN-Block, damit auch die sicher geschaltet wird.

Viele Grüsse
Bümpi

EDIT: Noch eine weitere kleine Vereinfachung: Anstatt um 21:00 Uhr ein entsprechendes Makro auszuführen, kannst du in der Zeittabelle der Wasserpumpe selbst das Einschalten um 21:00 Uhr mit einer Laufzeit von 1 Stunde eintragen. Jedenfalls solange die Bewässerung nicht von irgendwelchen weiteren Bedingungen abhängig gemacht werden soll.

Dome_2001
Beiträge: 319
Registriert: 01.07.2014, 10:18
Hat sich bedankt: 5 Mal

Re: Makro unter homeputer - mehrer Aktionen

Beitrag von Dome_2001 » 06.07.2014, 20:30

Danke Bümpi.

Habe es jetzt mal so getestet und es hat sich nix getan :-(

Was ich noch nicht ganz kapiere ist das mit dem mehrfachen wiederholen.

Du schreibst:

Code: Alles auswählen

warte("00:00:05")
Sende(Bewaesserung001) // bzw. 2 oder 3
warte("00:00:05")
Sende(Bewaesserung001) // bzw. 2 oder 3
warte("00:00:05")
Sende(Bewaesserung001) // bzw. 2 oder 3
Was soll den gesendet werden?

Oder meinst Du ich muss bei der Pumpe folgendes eintragen:

Code: Alles auswählen

warte("00:00:05")
Sende(Bewaesserung001 einschalten für "01:00:00")
warte("00:00:05")
Sende(Bewaesserung001 einschalten für "01:00:00")
warte("00:00:05")
Sende(Bewaesserung001 einschalten für "01:00:00")
warte("00:00:05")
Sende(Bewaesserung002 einschalten für "00:45:00")
warte("00:00:05")
Sende(Bewaesserung002 einschalten für "00:45:00")
warte("00:00:05")
Sende(Bewaesserung002 einschalten für "00:45:00")
warte("00:00:05")
Sende(Bewaesserung003 einschalten für "00:30:00")
warte("00:00:05")
Sende(Bewaesserung003 einschalten für "00:30:00")
warte("00:00:05")
Sende(Bewaesserung003 einschalten für "00:30:00")
Kann ich für die Pumpe auch in den Ausführungsintervall folgendes verwenden?

Code: Alles auswählen

Wasserpumpe einschalten für "01:00:00"
warte("00:00:05")
Wasserpumpe einschalten für "01:00:00"
warte("00:00:05")
Wasserpumpe einschalten für "01:00:00"
Danke Dir!

Edit: Kann ich in den Code irgendwie einbauen, dass wenn die Pumpe ausgeschaltet per Fernbedienung ausgeschaltet wird das ganze auf aus gesetzt wird?
--------------------------------------------
138 Kanäle in 55 Geräten und 111 CUxD-Kanäle in 7 CUxD-Geräten
--------------------------------------------

Dome_2001
Beiträge: 319
Registriert: 01.07.2014, 10:18
Hat sich bedankt: 5 Mal

Re: Makro unter homeputer - mehrer Aktionen

Beitrag von Dome_2001 » 06.07.2014, 20:42

Dome_2001 hat geschrieben:Danke Bümpi.

Habe es jetzt mal so getestet und es hat sich nix getan :-(

Was ich noch nicht ganz kapiere ist das mit dem mehrfachen wiederholen.

Du schreibst:

Code: Alles auswählen

warte("00:00:05")
Sende(Bewaesserung001) // bzw. 2 oder 3
warte("00:00:05")
Sende(Bewaesserung001) // bzw. 2 oder 3
warte("00:00:05")
Sende(Bewaesserung001) // bzw. 2 oder 3
Was soll den gesendet werden?

Oder meinst Du ich muss bei der Pumpe folgendes eintragen:

Code: Alles auswählen

warte("00:00:05")
Sende(Bewaesserung001 einschalten für "01:00:00")
warte("00:00:05")
Sende(Bewaesserung001 einschalten für "01:00:00")
warte("00:00:05")
Sende(Bewaesserung001 einschalten für "01:00:00")
warte("00:00:05")
Sende(Bewaesserung002 einschalten für "00:45:00")
warte("00:00:05")
Sende(Bewaesserung002 einschalten für "00:45:00")
warte("00:00:05")
Sende(Bewaesserung002 einschalten für "00:45:00")
warte("00:00:05")
Sende(Bewaesserung003 einschalten für "00:30:00")
warte("00:00:05")
Sende(Bewaesserung003 einschalten für "00:30:00")
warte("00:00:05")
Sende(Bewaesserung003 einschalten für "00:30:00")
Kann ich für die Pumpe auch in den Ausführungsintervall folgendes verwenden?

Code: Alles auswählen

Wasserpumpe einschalten für "01:00:00"
warte("00:00:05")
Wasserpumpe einschalten für "01:00:00"
warte("00:00:05")
Wasserpumpe einschalten für "01:00:00"
Danke Dir!

Edit: Kann ich in den Code irgendwie einbauen, dass wenn die Pumpe ausgeschaltet per Fernbedienung ausgeschaltet wird das ganze auf aus gesetzt wird?
Edit Edit: So jetzt glaube habe ich es kapiert:

Code: Alles auswählen

Wenn Wasserpumpe eingeschaltet dann
   Bewaesserung001 einschalten für "01:00:00"
warte("00:00:05")
Sende(Bewaesserung001)
warte("00:00:05")
Sende(Bewaesserung001)
warte("00:00:05")
Sende(Bewaesserung001)
Endewenn
Wenn Wasserpumpe eingeschaltet dann
   Bewaesserung002 einschalten für "00:45:00"
warte("00:00:05")
Sende(Bewaesserung002)
warte("00:00:05")
Sende(Bewaesserung002)
warte("00:00:05")
Sende(Bewaesserung002)
Endewenn
Wenn Wasserpumpe eingeschaltet dann
   Bewaesserung003 einschalten für "00:30:00"
warte("00:00:05")
Sende(Bewaesserung003)
warte("00:00:05")
Sende(Bewaesserung003)
warte("00:00:05")
Sende(Bewaesserung003)
Endewenn
Passt das so?
--------------------------------------------
138 Kanäle in 55 Geräten und 111 CUxD-Kanäle in 7 CUxD-Geräten
--------------------------------------------

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Makro unter homeputer - mehrer Aktionen

Beitrag von buempi » 06.07.2014, 20:52

Dome_2001 hat geschrieben:Habe es jetzt mal so getestet und es hat sich nix getan :-(
... das kann nicht sein! Wenn das Makro für die Wasserpumpe in der Makro-Ausführung-Zeittabelle gestartet wurde (zum Testen natürlich mit einer anderen Zeit), muss mindestens diese Pumpe eingeschaltet worden sein.
Dome_2001 hat geschrieben:Was ich noch nicht ganz kapiere ist das mit dem mehrfachen wiederholen.
... SENDE() bewirkt, dass dem Aktor der Zustand nochmals gesendet wird, den er laut Programm haben sollte, damit allfällig untergegangene Signale beim wiederholten Senden korrigiert werden. Sende(Bewaesserung001) ist also schon richtig! Lies dazu auch in der Homeputer-Hilfe...
Dome_2001 hat geschrieben: Kann ich für die Pumpe auch in den Ausführungsintervall folgendes verwenden?

Code: Alles auswählen

Wasserpumpe einschalten für "01:00:00"
warte("00:00:05")
Wasserpumpe einschalten für "01:00:00"
warte("00:00:05")
Wasserpumpe einschalten für "01:00:00"
... natürlich, aber dann musst du beim Ausschalten nochmals analoge Einträge machen; ist doch viel komplizierter, als einfach bei jeder Änderung den SOLL-Wert mehrfach zu senden!
Dome_2001 hat geschrieben:Edit: Kann ich in den Code irgendwie einbauen, dass wenn die Pumpe ausgeschaltet per Fernbedienung ausgeschaltet wird das ganze auf aus gesetzt wird?
... man kann noch vieles einbauen und wird das wohl auch müssen (z.B. keine Bewässerung im Winter und bei Regen); aber zuerst sollte die Grundfunktion mal richtig ablaufen!

Viele Grüsse
Bümpi

Antworten

Zurück zu „homeputer Studio / Standard: allgemeine Fragen“