Einmalige Aktion nach jedem fhemstart

Begonnen von Virsacer, 11 Juli 2015, 19:27:22

Vorheriges Thema - Nächstes Thema

Virsacer

Hi,

ich möchte gerne kurz nach dem Start eine Aktion ausführen.

Im Moment hab ich nur die Idee, mit DOIF im Sysmon zu schauen, ob "fhemuptime" unter einem bestimmten Wert liegt...
Finde das aber etwas unpraktisch, weil dann ja dauerhaft Events kommen :-\

Hat da jemand ne bessere Idee?

herrmannj

Hi,

es gibt ein event "initialized" vom device "global". Genau Dein Ding :)

vg
joerg

Virsacer

Ui, das klingt schon mal perfekt :D
Mal schauen, ob das wirklich so funktuioniert, wie ich es brauche...

Dankeschön :)

Rince

Hier ein Notify dazu:

global:INITIALIZED set cubie_SB_PLAYER sayText Mein Herr und Meister, ich stehe zu deinen Diensten!
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Virsacer

Ich bin DOIF-Fan :D

define ActionInit DOIF ([global:?INITIALIZED])(set Speech tts My Master I'm at your service)

Funktioniert perfekt 8)
Danke!

Zrrronggg!

Zitat von: Virsacer am 11 Juli 2015, 20:01:13
Ich bin DOIF-Fan :D

define ActionInit DOIF ([global:?INITIALIZED])(set Speech tts My Master I'm at your service)

Funktioniert perfekt 8)
Danke!

Nur rein interessehalber: Warum machst du das so?  Ist das nicht ein unnötiger Schritt mehr?

Ich fahre z.b. auch nicht am Sonntag auf Arbeit um dann dort erleichtert festzustellen, das Sonntag ist und dann fahr ich wieder nach Hause. Nein, wenn Sonntag ist fahr ich gar nicht erst hin.

Du benutzt - so will mir scheinen - nicht global:INITIALIZED um ein Set auszuführen, sondern nutzt die Existenz von global:INITIALIZED um ein DOIF zu triggern, dass dann das Set ausführt.
Ein Schritt mehr.

Warum?

(und sag nicht dass das daran liegt, das du DOIF Fan bist, denn sonst schlage ich dir vor folgendes zu machen:

Zitatdefine ActionInit DOIF ([global:?INITIALIZED])(set action1 on)
define ActionInit2 DOIF ([action1:?on])(set action2 on)
define ActionInit3 DOIF ([action2:?on])(set action3 on)
define ActionInit4 DOIF ([action3:?on])(set Speech tts My Master I'm at your service)

Da hast du noch VIEL MEHR DOIF!   ;D  )

Bestimmt übersehe ich was - aber was?
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Rince

ZitatZitat

    define ActionInit DOIF ([global:?INITIALIZED])(set action1 on)
    define ActionInit2 DOIF ([action1:?on])(set action2 on)
    define ActionInit3 DOIF ([action2:?on])(set action3 on)
    define ActionInit4 DOIF ([action3:?on])(set Speech tts My Master I'm at your service)


Da hast du noch VIEL MEHR DOIF!   ;D  )

Bestimmt übersehe ich was - aber was?

Ähm,
bin nicht Virsacer.

Ich stimme dir mit dem DOIF zu. Deine DOIF Kette hat aber durchaus einen gewissen Reiz!


Besipiel:

Doof (Pseudocode):
define Temperaturansage at *07:00 set Speech tts Die Temperatur draußen beträgt $aussentemperatur Grad

Warum doof?
Weil er damit nicht um 18.30 die Temperatur erfährt. Schlauer wäre hier sicherlich, die Ansage mit einem Dummy zu verbinden, den man dann von verschiedenen Ereignissen aus schalten kann. Wenn einem die Ansage nicht mehr gefällt, ändert man sie einmalig und alles ist wieder gut.

Freilich könnte man es triggern, aber warum man bei einem Druck auf einen Taster ein at 07:00 triggern sollte, wird sich niemandem mehr erschließen, der jemals diese Installation ansieht...

Statt dessen einem Dummy einen Wert zuzuweisen, das macht irgendwie mehr Sinn :)
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Virsacer

Ja, das DOIF mag in dem Fall ein Schritt mehr sein, aber ich will ja auch nicht nur ein SET ausführen ;)
Und evtl. nochmal das gleiche unter anderen Bedingungen ausführen -> also DOIF

Das war auch nur mal ein schneller Test (in Anlehnung an das Notify), obs läuft...
Die DOIF-Kette ist aber auch witzig ;D