Nö, gibt keinen Grund, außer dass ich da nie dran gedacht hatte...
Beispiel ist in #3 quasi mit drinnen:
Zuerst alle Zustände definieren - da kommen dann auch die Aktionen rein, die Du bei Eintritt dieses Zustandes ausführen möchtest (z.B. Rollladen fahren).
Und dann weiter unten für jeden möglichen Zustandsübergang die Funktion definieren, die prüft, ob dieser Zustandsübergang aktuell zulässig ist oder nicht und entsprechend 1 oder 0 zurückgeben.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Plugin: zyklische Ausführung verhindern
Einklappen
Dieses Thema ist geschlossen.
X
X
-
-
=> Zustandsautomat, der bei manuellem Fahren in den Modus Manuell wechselt
Wie gut dass ich mal einen Zustandsautomaten als generisches Plugin geschrieben hatte. Kann man für genau solche Dinge gut brauchen
Einen Kommentar schreiben:
-
Hello,
mh..
im Log geschaut:
da taucht leider doch was auf was so aussieht - 5/4/3 ist die Addresse fürs Licht..
PHP-Code:2014-03-05 20:38:48.418,A_GroupValue_Write,1.1.254,5/4/3,00 64,1,DPT_Value_Lux,9.004,0,low,7,T_DATA_XXX_REQ,02014-03-05
PHP-Code:20:43:48.724,A_GroupValue_Write,1.1.254,5/4/3,00 64,1,DPT_Value_Lux,9.004,0,low,7,T_DATA_XXX_REQ,02014-03-05
PHP-Code:21:08:53.674,A_GroupValue_Write,1.1.254,5/4/3,00 64,1,DPT_Value_Lux,9.004,0,low,7,T_DATA_XXX_REQ,0
Einstellungen siehe Bild, Dunkel ist es auch..PHP-Code:2014-03-05 21:13:54.578,A_GroupValue_Write,1.1.254,5/4/3,00 64,1,DPT_Value_Lux,9.004,0,low,7,T_DATA_XXX_REQ,0
Was kann ich da denn nu machen?Angehängte Dateien
Einen Kommentar schreiben:
-
Sicher dass der nicht parallel auch noch zyklisch sendet? Hast Du das im Log kontrolliert?Zitat von Ziegelstein Beitrag anzeigenGA-Umgebungslicht kommt vom Wiregate Umgebungslichtsensor (sendet bei Änderung um1%). Sollte, wenn Dunkel (nachts), eigentlich ja nix mehr senden- oder?
Einen Kommentar schreiben:
-
Plugin: zyklische Ausführung verhindern
Hello,
kann mal jemand auf meinen kleinen Code schauen - leider werden meine Rollos, warum auch immer??, zyklisch bei entsprechender Aussenhelligkeit runter gefahren.
Ausgeführt wird das Plugin doch nur, wenn auf:
was geschrieben wird.PHP-Code:$plugin_subscribe{$GA_Umgebungslicht}{$plugname} = 1;
GA-Umgebungslicht kommt vom Wiregate Umgebungslichtsensor (sendet bei Änderung um1%). Sollte, wenn Dunkel (nachts), eigentlich ja nix mehr senden- oder?
Problem: wenn ich manuell die Rollos auf "Schlitze" fahre, werden die vom Plugin paar minuten später wieder zu gefahren. Das hätte ich gerne verhindert..
hier der Code:
Vielen Dank für nen Tipp.PHP-Code:#Rollo_Helligkeit
### Definitionen
# Eigenen Aufruf-Zyklus auf 300 Sekunden setzen
#$plugin_info{$plugname.'_cycle'} = 0;
my $GA_Umgebungslicht = "5/4/3"; # Gruppenadresse Umgebungslicht
my $Helligkeitsschwelle = 2; # Helligkeitsschwelle
my $RolloEG = "2/1/19"; # Gruppen GA, alle Rollos Bewegobjekt EG
my $RolloOG = "2/2/13"; # Gruppen GA, alle Rollos Bewegobjekt OG
### Ende Definitionen
# Plugin an Gruppenadresse "anmelden"
$plugin_info{$plugname.'_cycle'} = 0;
$plugin_subscribe{$GA_Umgebungslicht}{$plugname} = 1;
if ($msg{'apci'} eq "A_GroupValue_Write" and $msg{'dst'} eq $GA_Umgebungslicht )
{
my $Helligkeit = knx_read($GA_Umgebungslicht,300,9.004);
#else
#{
#$Helligkeit = knx_read($GA_Umgebungslicht,300);
#}
if ($Helligkeit <= $Helligkeitsschwelle )
{knx_write($RolloEG,1,1)and knx_write($RolloOG,1,1);
return "Rollo zu weil dunkel";
}
}
return "Warte auf Ausführung";
Stichworte: -


Einen Kommentar schreiben: