Hallo,
ich möchte bestimmte Aktionen nur in einem Zeitraum von 22:30 bis 01:30 zulassen.
Habe aber einen Knoten im Kopf und kriege es einfach nicht hin.
mit
if($hour>=21 && $hour<23)
kann ich den Zeitraum zwischen 21 und 23 Uhr festlegen, aber bei
if($hour>=21 && $hour<1)
funktioniert das logischerweise nicht mehr. Wie fängt man das ab?
Mit den Minuten wird das wohl analog zu den Stunden gehen oer?
djhans
Zitatif($hour>=21 && $hour<1)
Größer 21 und (gleichzeitig) kleiner 1? Das geht schon mathematisch nicht :o
Du muss anders vergleichen: Ist der Zeitraum zwischen 0 und 1 oder zwischen 21 und 0, dann mache etwas...
Oder einfacher: x>=21 ODER x<=1
Du könntest es aber auch ganz anders lösen.
Ich nehme an, dein Schaltbefehl wird über ein Notify ausgelöst?
Dann setz dieses doch mit at einfach um *22.30.00 auf disabled 0
Und ein anderes at um *01.30.00 setzt das Notify auf disabled 1
Ist zwar viel weniger Elegant, aber man spart sich den Knoten.
if($hour ~~ [22,23,0,1]) {wir sind im richtigen zeitraum}
Ich würde aber auch die Lösung mit dem disable empfehlen.
Hi,
danke für die Anregungen:
also so:
define zeitraum_aktiv dummy
...
define Zeitraum_Ein at *22:00:00 set zeitraum_aktiv 1
define Zeitraum_Aus at *01:00:00 set zeitraum_aktiv 0
......
define Test notify Sonos_Buero:transportState:.PLAYING
{
if (ReadingsVal ("zeitraum_aktiv", "state",0))
{fhem ("set Sonos_Buero Volume 5 1")}
}
...ist aber ziemlich kompliziert! Geht das auch einfachen?
djhans
Hallo,
Zitat..ist aber ziemlich kompliziert! Geht das auch einfachen?
Sorry aber 3 Beiträge und in KEINEM wird eine Lösung mit einem Dummy angesprochen.
Du postet deine Lösung mit einem Dummy und fragst ob es noch einfacher geht?
Wenn Helfer etwas posten und damit versuchen dem Fragesteller zu helfen sollte der Fragesteller auch so fair sein und die geposteten Vorschläge zumindest mal ansehen und erklären warum die 3 geposteten Voschläge zu kompliziert sind.
Grüsse
Edith: korrigiert - du verwendest zum Glück nur einen Dummy :o
Moin Puschel!
das heißt hier doch "Anfängerfragen", oder?
Ich habe das "Disable" so verstanden, als müsse man hier ein Device namens "disable" definieren. Scheint aber offenbar anders gemeint zu sein.....
Sorry für meinen unqualifizierten Beitrag im Anfängerforum! :-(
Gruß,
djhans.
disable ist die Eigenschaft an Notify, die dieses außer Kraft setzt ;)
Du brauchst also, zusätzlich zum notify, ein AT mit disable und ein mit enable
in etwa so:
define mydisable at ... attr mynotify disable 1
define myenable at ... attr mynotify disable 0
Edit: typos
Hallo,
Zitatdas heißt hier doch "Anfängerfragen", oder?
Klar ist das der Anfängerbereich.
Aber auch Anfänger dürfen gerne mehr als nur 2 Zeilen schreiben.
ZitatSorry für meinen unqualifizierten Beitrag im Anfängerforum! :-(
Das hat mit einem "unqualifizierten Beitrag" nichts zu tun.
Du hättest zumindest erwähnen können das du dich auf das erste Beispiel beziehst - Gedankenübertragung ist leider noch nicht als Modul implementiert ;)
define Zeitraum_Ein at *22:00:00 attr <Notifyname> disable 0
define Zeitraum_Aus at *01:00:00 attr <Notifyname> disable 1
So sollte es klappen und so war es mit dem disable gemeint.
Grüsse
Edith: hexenmeister war schneller
Hallo Puschel,
...sorry, war nur ein wenig verwundert!
Ich habe das "disable" nun verstanden und auch selber hingekriegt. Habe wieder etwas gelernt. Danke an alle für den Code.
Allerdings:
Hier muss man bedenken, dass man beim Start von fhem, das notify auf disable 1 setzt, sonst ist es aktiv bis die "Auszeit" das erste mal ausgeführt wird, richtig?
Christian
wenn Du vor dem Neustart ein "save" machst, nicht. Dann wird das Attribut gespeichert.
Was Betateilchen sagt,
zusätzlich kannst dir in der commandref mal cmdalias ansehen.
Damit kannst du das shutdown modifizieren, das vorher automatisch ein save ausgeführt wird.
Dann kannst es beruhigt vergessen :)
Hallo,
und wenn die Frage geklärt bitte mit einem (Gelöst) versehen ;D
1. Beitrag bearbeiten und in den Titel einfach ein (Gelöst) einfügen.
Danke.
Grüsse
Hm,
aber wenn fhem abstürzt (...und das macht es regelmäßig) und nur der Resetknopf hilft, wird es doch automatisch auf disable 0 gesetzt und somit ist das notify aktiv, oder verstehe ich das falsch?
macht man das dann mit global:INITIALIZED ?
Christian
Hallo,
Zitataber wenn fhem abstürzt (...und das macht es regelmäßig)
Dann sollte du dem mal auf den Grund gehen und abstellen.
Welche Hardware verwendest du den? - Signatur wäre echt hilfreich manchmal ;D
Grüsse
Hi,
stimmt!
Bei mir läuft halt noch nicht viel. Nur das Sonos Modul. Keine Ahnung was da genau abschmiert. Im Log steht nichts.
Christian.
Hallo,
welche RasPi-Version hast du?
Ich betreibe FHEM mittlerweile seit knapp einem Jahr auf 3 RasPi und es schmiert mir eigentlich nur ab wenn das Problem mal wieder an der Tastatur sitzt ;D
Und meine Installation ist mittlerweile recht umfangreich und FHEM läuft und läuft und läuft ...
Ich würd an deiner Stelle mal Ursachenforschung betreiben und schauen was los ist mit deiner Installation und FHEM.
Grüsse
Zitat von: djhans am 11 Februar 2014, 14:10:27wird es doch automatisch auf disable 0 gesetzt
Nochmal: das wird nicht automatisch auf
irgendwas gesetzt, sondern auf den zuletzt per save abgespeicherten Wert des Attributs.
Puschel,
gibt es Unterschiede bei den raspberry Pi-Kisten?
Es ist dieser hier: Raspberry Pi RBCA000 Mainboard (ARM 1176JZF-S, 512MB RAM, HDMI, 2x USB 2.0, 3,5 Watt)
Als Speicherkarte habe ich diese hier: SanDisk Class 10 Extreme Pro microSDHC 8GB Speicherkarte (UHS-I, 95Mbps)
Das Teil habe ich seit November und schon mindestens 3 x neu aufgesetzt. Zuletzt letzte Woche mit dem aktuelle Image von raspberry. Dummerweise habe ich fhem-Updates gemacht und so wie ich es verstanden habe, hat man dann die Developer-Version.
Die Abstürze kommen m.E. vom Sonos-Modul. Das ist ja auch noch in der Entwicklung, aber mein einzigen Devices ;-)
djhans
Zitat von: djhans am 11 Februar 2014, 14:35:49Dummerweise habe ich fhem-Updates gemacht und so wie ich es verstanden habe, hat man dann die Developer-Version.
Das ist nicht dumm, sondern zwingend notwendig, darüber brauchst Du Dir keinen Kopf machen.
Wenn fhem abstürzt, wäre der letzte Eintrag im Logfile vor dem Absturz sicher hilfreich, um auf die Ursachen zu kommen.
Und ja, es gibt Unterschiede in den verschiedenen Hardware-Revisionsständen beim RaspberryPi.
@ betateilchen,
ja stimmt! Danke! Das habe ich nicht bedacht....ich muss halt die save-Datei von Zeit zu Zeit wegen der Abstürze löschen...aber das ist nicht die Regel
Christian.
...kann man die HW-Rev. irgendwie rauskriegen?
Was hat denn die save Datei mit den Abstürzen zu tun? Und mit dem Logfile?
Und das Hardware-Thema solltest Du in der Forumrubrik "Einplatinencomputer" nachlesen, da steht schon jede Menge dazu geschrieben.
Hi,
das Sonos Modul ist sehr aktiv im Hintergrund. Da läuft ne Menge ab. Ich glaube, dass er sich dabei irgendwie verabschiedet. Man merkt auch, dass fhem sehr träge reagiert während der Initialisierungsphase des Moduls.
Nichtsdestotrotz:
währen der letzten halben Stunde ist fhem 2 x abgekachelt. Nach kurzer Zeit hing es wieder. Jetzt habe ich die fhem.save gelöscht, fhem gestartet und es läuft wieder...
Wenn jemand einen Tipp hat, wie ich den Grund herausfinden kann, dann lasst es mich wissen. Der letzte Eintrag im Log ist:
2014.02.11 14:55:00 0: Server started with 42 defined entities (version $Id: fhem.pl 4829 2014-02-07 07:27:47Z rudolfkoenig $, os linux, user fhem, pid 1875)
Ich stelle mal verbose auf 5.
Die von Dir gepostete Zeile aus dem Log ist die letzte Zeile nach dem fhem-Start. Aber das kann doch nicht die letzte Zeile vor dem Absturz sein?
...ist sie aber! Der Server stürzte ja auch im 5min Takt ab....
Dann habe ich die fhem.save gelöscht und seit gut 30min läuft wieder alles. Habe verbose nun auf 5.
Melde mich, wenn es wieder knallt! ...aber es wird nichts drin stehen, das habe ich schon beobachtet.
Christian.
Ich nehme an, du hast das Ding nicht übertaktet, oder?
Und versuch mal ein anderes Netzteil.
Und irgend etwas muss im Logfile vorher stehen :)
Hi,
nee, ist nicht übertaktet! Das mit dem Netzteil versuche ich mal...
da steht nix! Fhem läuft ja auch weiter, allerdings mit 98,8% Prozessorlast. Man kommt einfach nicht ran. Nicht einmal ein kill 9 hilft. Shutdown -r now geht auch nicht. Debian ist aber da und reagiert auch. Es hilft nur Stecker vom raspberry ziehen...
Christian.
Hallo,
ZitatNicht einmal ein kill 9 hilft. Shutdown -r now geht auch nicht.
Kommt mir bekannt vor - hab ich das nicht irgendwo schonmal gelesen ???
Ich schau mal in den Einplatinenbereich - vielleicht find ichs noch.
Grüße
Edith: Zwar nicht das aber dennoch mal lesenswert: http://forum.fhem.de/index.php/topic,19524.0.html (http://forum.fhem.de/index.php/topic,19524.0.html)
Ich hab an meinen Pis auch ein 5 V / 2 A Netzteil dran und kann nur sagen - keine Probleme.
...habe jetzt mal das Netzteil getauscht! Allerdings ist am Pi kein USB-Device angeschlossen, was Strom zieht....schauen wir mal....
Wenn Du das mit dem Kill 9 findest, wäre super!
Christian