Probleme mit Einschaltdauer
Moderator: Co-Administratoren
Re: Probleme mit Einschaltdauer
Und leere sonstwenn haben in Programmen nichts zu suchen.
Das führt zu reproduzierbaren Problemen
Gruß Rainer
Das führt zu reproduzierbaren Problemen
Gruß Rainer
Alle meine Hinweise sind auf eigene Gefahr umzusetzen. Immer einen Fachmann zu Rate ziehen!
Re: Probleme mit Einschaltdauer
Und was noch viel wichtiger ist... Das WENN und das SONST-WENN gehört in getrennte Programme weil die Chance hoch ist das eine unerwünschte Schaltung passiert.
Wenn z.B. "Bew-Rasen-voren" endet und der Aktor ausschaltet, dann wird durch die Statusänderung das Programm aus dem SONST-WENN heraus getriggert. Der Durchlauf beginnt in der ersten Zeile des Programms, der WENN-Block ist erfüllt weil "Bew-On" wahr ist und anschl. wir das DANN ausgeführt und "Bew-Rasen-vorne" nochmals eingeschaltet. Solange "Bew-On" wahr ist hast Du damit eine Endlosschleife.
Ich bezweifle also das das Programm jemals richtig bzw. wie gewünscht gearbeitet hat.
Wenn z.B. "Bew-Rasen-voren" endet und der Aktor ausschaltet, dann wird durch die Statusänderung das Programm aus dem SONST-WENN heraus getriggert. Der Durchlauf beginnt in der ersten Zeile des Programms, der WENN-Block ist erfüllt weil "Bew-On" wahr ist und anschl. wir das DANN ausgeführt und "Bew-Rasen-vorne" nochmals eingeschaltet. Solange "Bew-On" wahr ist hast Du damit eine Endlosschleife.
Ich bezweifle also das das Programm jemals richtig bzw. wie gewünscht gearbeitet hat.
Viele Grüße!
Jörg
Jörg
-
- Beiträge: 12432
- Registriert: 19.03.2014, 00:37
- System: in Planung
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 380 Mal
Re: Probleme mit Einschaltdauer
Das sind schon zwei getrennte Programme, nur die Titelleiste wurde ein Mal abgeschnitten.
Leider fehlen wieder die Programme, die die Zeiten setzen. Stimmen die hinterlegten Zeiten in der SysVar oder fängt das Problem vielleicht schon viel früher an?
Leider fehlen wieder die Programme, die die Zeiten setzen. Stimmen die hinterlegten Zeiten in der SysVar oder fängt das Problem vielleicht schon viel früher an?
-
- Beiträge: 14085
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 580 Mal
- Danksagung erhalten: 1492 Mal
Re: Probleme mit Einschaltdauer
Wir die Einschaltzeit auch als Integer- oder Gleitkommawert übergeben oder ist es ggf. ein String? Auch dieses kann zu Problemen führen.
Gruß Xel66
Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
Re: Probleme mit Einschaltdauer
Hallo,
erst einmal herzlichen Dank für die Rückmeldungen. Ich versuche die Fragen zu beantworten:
@NickHM,
deine Antwort hat mir einen Tipp gegeben, dem ich nachgehen werde. "Datenpunkt Working" müsste aktiv sein. Das werde ich prüfen, sobald das Problem wieder auftritt. Ausschalten verzögert ist eine gute Idee, ich kann sie aber nicht einsetzen, da ich die Einschaltdauer aus einer Variablen auslese, deren Wert sich ändern kann. Der Wert dieser Variablen liegt zwischen 300 und 1200 Sekunden. Die Ausschaltverzögerung kann ich nicht variabel übergeben. Muss da aber nochmals nachdenken.
@JRiemann,
EDIT: Mein Versuch ... alle Programme für die Stränge 2-6 ausgeschaltet und Bew_On auf True gesetzt. Programm startet, Ventil wird für die Sekunden, die in der Variablen stehen eingeschaltet. Nach Ablauf der Zeit schaltet sich Strang 1 und nichts mehr passiert. Ich muss lediglich dann manuell Bew_ON auf false setzen, da das sonst im letzten Strang-Programm passiert.
@Glühwurm,
kein Programm setzt eine Zeit (siehe Screenshot). Über ein Zeitmodul (oder per Fernbedienung bzw. App Remote) setze ich die "Bew_On" Variable auf "true". Danach läuft der erste Bewässerungsstrang los. Schaltet dieser ab, wir der zweite Strang gestartet usw.
@Rainer,
ich konnte das bisher noch nicht feststellen, dass leere "sonstwenn Bedingungen" Probleme bereiten. Aber eventuell können wir das beim nächsten HUG RheinMain besprechen.
erst einmal herzlichen Dank für die Rückmeldungen. Ich versuche die Fragen zu beantworten:
@NickHM,
deine Antwort hat mir einen Tipp gegeben, dem ich nachgehen werde. "Datenpunkt Working" müsste aktiv sein. Das werde ich prüfen, sobald das Problem wieder auftritt. Ausschalten verzögert ist eine gute Idee, ich kann sie aber nicht einsetzen, da ich die Einschaltdauer aus einer Variablen auslese, deren Wert sich ändern kann. Der Wert dieser Variablen liegt zwischen 300 und 1200 Sekunden. Die Ausschaltverzögerung kann ich nicht variabel übergeben. Muss da aber nochmals nachdenken.
@JRiemann,
Kann ich so nicht nachvollziehen und ist auch so noch nie eingetreten.Der Durchlauf beginnt in der ersten Zeile des Programms, der WENN-Block ist erfüllt weil "Bew-On" wahr ist und anschl. wir das DANN ausgeführt und "Bew-Rasen-vorne" nochmals eingeschaltet. Solange "Bew-On" wahr ist hast Du damit eine Endlosschleife.
EDIT: Mein Versuch ... alle Programme für die Stränge 2-6 ausgeschaltet und Bew_On auf True gesetzt. Programm startet, Ventil wird für die Sekunden, die in der Variablen stehen eingeschaltet. Nach Ablauf der Zeit schaltet sich Strang 1 und nichts mehr passiert. Ich muss lediglich dann manuell Bew_ON auf false setzen, da das sonst im letzten Strang-Programm passiert.
Das Programm läuft seit ca. 3 Jahren mit minimalen Änderungen (z.B. Anzahl Stränge, Einschaltzeit variabel) ohne Probleme, bis auf diese eine seltene AusnahmeIch bezweifle also das das Programm jemals richtig bzw. wie gewünscht gearbeitet hat.
@Glühwurm,
kein Programm setzt eine Zeit (siehe Screenshot). Über ein Zeitmodul (oder per Fernbedienung bzw. App Remote) setze ich die "Bew_On" Variable auf "true". Danach läuft der erste Bewässerungsstrang los. Schaltet dieser ab, wir der zweite Strang gestartet usw.
@Rainer,
ich konnte das bisher noch nicht feststellen, dass leere "sonstwenn Bedingungen" Probleme bereiten. Aber eventuell können wir das beim nächsten HUG RheinMain besprechen.
-
- Beiträge: 12432
- Registriert: 19.03.2014, 00:37
- System: in Planung
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 380 Mal
Re: Probleme mit Einschaltdauer
Und wie funktioniert dann das ?FredW hat geschrieben:... kein Programm setzt eine Zeit (siehe Screenshot). Über ein Zeitmodul (oder per Fernbedienung bzw. App Remote) setze ich die "Bew_On" Variable auf "true".
Aber mir isses zwischenzeitlich egal, habe keine Lust jeden Wurm einzeln rauszuziehen. Bin raus.FredW hat geschrieben:In Abhängigkeit von Umweltbedingungen (Regen, Bodenfeuchtigkeit, ...) setze ich eine Timervariable (BewV1) in Sekunden (z.B. 900), die nachher die Einschaltzeit definiert.
Re: Probleme mit Einschaltdauer
@Gluehwurm,
ich habe doch geschrieben und per Screenshot gezeigt, wie ich die Variable Bew_ON per Zeitmodul auf "true". Was ist an dem Screenshot unklar? Über die App PocketControlHM kann ich auch die Variable auf true setzen und damit den Programmablauf starten.
Die Variable BewV1 enthält derzeit fest 300 Sekunden, um jede andere "Störung" auszuschließen. Aber du solltest mir schon nach 7 Jahren Homematic vorher FS20 und sehr vielen Jahren Programmierung zutrauen, dass ich weiß, wie man die Variable mit einer Zahl vorbelegt, wie z.B. dom.GetObject("BewV1").State("300");
Eugen Stall (Leuchtturm) hat auf seiner Homepage vieles zu dem Thema Feuchtigkeitssensor geschrieben und auch Coding veröffentlicht. Ich kann nur nochmals betonen, dass der Programmablauf über Wochen fehlerfrei funktioniert und nur in wenigen Ausnahmen das Problem auftritt.
Ich gebe ja gerne auf jede Frage eine Antwort ...
Danke und Gruß Fred
ich habe doch geschrieben und per Screenshot gezeigt, wie ich die Variable Bew_ON per Zeitmodul auf "true". Was ist an dem Screenshot unklar? Über die App PocketControlHM kann ich auch die Variable auf true setzen und damit den Programmablauf starten.
Die Variable BewV1 enthält derzeit fest 300 Sekunden, um jede andere "Störung" auszuschließen. Aber du solltest mir schon nach 7 Jahren Homematic vorher FS20 und sehr vielen Jahren Programmierung zutrauen, dass ich weiß, wie man die Variable mit einer Zahl vorbelegt, wie z.B. dom.GetObject("BewV1").State("300");
Eugen Stall (Leuchtturm) hat auf seiner Homepage vieles zu dem Thema Feuchtigkeitssensor geschrieben und auch Coding veröffentlicht. Ich kann nur nochmals betonen, dass der Programmablauf über Wochen fehlerfrei funktioniert und nur in wenigen Ausnahmen das Problem auftritt.
Ich gebe ja gerne auf jede Frage eine Antwort ...
Danke und Gruß Fred
-
- Beiträge: 10752
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 672 Mal
Re: Probleme mit Einschaltdauer
Die Einschaltdauervariable über eine verknüpfte Systemvariable dynamisch zu setzen funktioniert sehr gut.
Hat auch den Vorteil, das man alleine durch die Einschaltdauer etwas triggern lassen kann.
Vielleicht schreib ich da mal ne Anleitung.
Hab mal schnell eine >> Anleitung << zusammengeschrieben.
Alchy
Hat auch den Vorteil, das man alleine durch die Einschaltdauer etwas triggern lassen kann.
Vielleicht schreib ich da mal ne Anleitung.
Hab mal schnell eine >> Anleitung << zusammengeschrieben.
Naja, wenn man es streng nimmt, ist das Script fehlerhaft. aber es funktioniert trotzdem (noch?).Aber du solltest mir schon nach 7 Jahren Homematic vorher FS20 und sehr vielen Jahren Programmierung zutrauen, dass ich weiß, wie man die Variable mit einer Zahl vorbelegt, wie z.B. dom.GetObject("BewV1").State("300");
Alchy
Zuletzt geändert von alchy am 13.06.2018, 09:59, insgesamt 1-mal geändert.
Grund: strike
Grund: strike
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
-
- Beiträge: 10752
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 672 Mal
Re: Probleme mit Einschaltdauer
mit dem Script sollte nur ein Hinweis sein. Man weiß ja nie, wann da jemand was daran ändert.
Solange man Logikvariablen auch Integerwerte oder auch Zahlen oder Zahlen als String getarnt unterjubeln kann, glaube ich aber so schnell auch nicht daran.
egal
Was die Benutzung der "dynamischen" Einschaltdauer angeht, habe ich mal schnell eine >> Anleitung << zusammengeschrieben.
Die Lösung kannte wohl noch nicht jeder.
Zu deinem Problem. So wie ich es verstanden habe funktioniert Strang 1 immer richtig?
die weiteren Kanäle werden dann im Fehlerfall nicht abgeschalten aber immer ein?
Klingt interessant, muss ich mal bei Gelegenheit nachstellen.
hast du mal die Kanäle und alle Beteiligten mal auf Protokollieren gestellt? Mit einer fixen relativ kurzem Einschaltdauer sollte man da schön den Programmablauf im Systemprotokoll nachvollziehen können.
Alchy
Solange man Logikvariablen auch Integerwerte oder auch Zahlen oder Zahlen als String getarnt unterjubeln kann, glaube ich aber so schnell auch nicht daran.
egal
Was die Benutzung der "dynamischen" Einschaltdauer angeht, habe ich mal schnell eine >> Anleitung << zusammengeschrieben.
Die Lösung kannte wohl noch nicht jeder.
Zu deinem Problem. So wie ich es verstanden habe funktioniert Strang 1 immer richtig?
die weiteren Kanäle werden dann im Fehlerfall nicht abgeschalten aber immer ein?
Klingt interessant, muss ich mal bei Gelegenheit nachstellen.
hast du mal die Kanäle und alle Beteiligten mal auf Protokollieren gestellt? Mit einer fixen relativ kurzem Einschaltdauer sollte man da schön den Programmablauf im Systemprotokoll nachvollziehen können.
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.