FHEM Forum

FHEM => Automatisierung => Thema gestartet von: afroasiate am 01 Januar 2016, 19:45:47

Titel: Notify bei Save fhem.cfg
Beitrag von: afroasiate am 01 Januar 2016, 19:45:47
Hallo an alle ich hoffe ihr seit gut ins neue Jahr gekommen.

Habe da eine Frage bezüglich eines notifys den ich mir gebaut habe. Ich möchte das wenn ich auf "Save fhem.cfg" klicke das folgende notify ausgeführt wird.


define hciconfig.restart notify global:SAVE {\
system(sudo hciconfig hci0 down);;\
system(sudo hciconfig hci0 up);;\
}


Es wird scheinbar nicht ausgeführt oder macht dieses notify nur sinn wenn man fhem restartet?

Grüße
Martin
Titel: Antw:Notify bei Save fhem.cfg
Beitrag von: Icinger am 01 Januar 2016, 20:17:52
Warum der Umweg über perl?

ZitatIf <command> is enclosed in {}, then it is a perl expression, if it is enclosed in "", then it is a shell command

Und wenn schon über Perl, dann musst du den Shell-Befehl in "" setzen:

{system("command arg1 arg2 arg3");}

lg, Stefan
Titel: Antw:Notify bei Save fhem.cfg
Beitrag von: afroasiate am 01 Januar 2016, 20:31:04
Okay!

klappt aber immer noch nicht:


define hciconfig.restart notify global:SAVE {\
system("sudo hciconfig hci0 down");;\
system("sudo hciconfig hci0 up");;\
}
Titel: Antw:Notify bei Save fhem.cfg
Beitrag von: Icinger am 01 Januar 2016, 20:47:40
Was klappt nicht? Die Befehle oder das notify?

Befehle zuerst mal zum testen in der commandlind ausführen, notify mit Trigger testen, evtl. statt den system-Befehlen ein "Log 3,"irgendwas" ins notify einschleusen.
Titel: Antw:Notify bei Save fhem.cfg
Beitrag von: afroasiate am 01 Januar 2016, 21:04:19
Das notify funktioniert nicht.


define test dummy
attr test room egal

define hciconfig.restart notify global:SAVE {\
system("sudo hciconfig hci0 down");;\
system("sudo hciconfig hci0 up");;\
fhem ("set test on");;\
}


Wie eingangsbeschrieben möchte ich wenn ich auf "Save fhem.cfg" klicke das notify ausgeführt wird. Ist das global:SAVE den richtig?

Titel: Antw:Notify bei Save fhem.cfg
Beitrag von: Icinger am 01 Januar 2016, 21:28:02
[qoute]Following special events will be generated for the device "global"

    INITIALIZED after initialization is finished.
    REREADCFG after the configuration is reread.
    SAVE before the configuration is saved.
    SHUTDOWN before FHEM is shut down.
    DEFINED <devname> after a device is defined.
    DELETED <devname> after a device was deleted.
    RENAMED <old> <new> after a device was renamed.
    UNDEFINED <defspec> upon reception of a message for an undefined device.
[/quote]

define hciconfig.restart notify global:SAVE {Log 3,"Save-Test"}
funktioniert bei mir bei einem Klick auf "Save"!:
Zitat2016.01.01 21:27:07 3: Save-Test
Titel: Antw:Notify bei Save fhem.cfg
Beitrag von: afroasiate am 02 Januar 2016, 12:38:08
Hmm merkwürdig SAVE geht nicht aber REREADCFG!!!

Damit kann ich leben verstehe aber nicht warum SAVE nicht geht!

Grüße
Martin
Titel: Antw:Notify bei Save fhem.cfg
Beitrag von: viegener am 02 Januar 2016, 13:26:08
Zitat von: afroasiate am 02 Januar 2016, 12:38:08
Hmm merkwürdig SAVE geht nicht aber REREADCFG!!!

Sorry was geht nicht bei SAVE?
Hast Du mal den Test-Notify von Icinger bei Dir angelegt und Dein Log-File kontrolliert?
Es wäre verwunderlich, wenn das bei Dir nicht gehen würde. Dann müsstest Du vermutlich mehr über Deine Installation verraten, denn das sind grundsätzliche Funktionen die so problemlos gehen müssen...

Titel: Antw:Notify bei Save fhem.cfg
Beitrag von: afroasiate am 02 Januar 2016, 20:56:12
Wenn ich SAVE verwende finde ich nichts in meiner Log Datei.

Was braucht ihr dann von meiner fhem.cfg? Die installation ist ziemlich frisch, sie soll für einen Infoscreen vor der Bürotür dienen.


attr global userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride fp_screen
attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 3



Das hier sagt fheminfo:


Fhem info:
  Release  : 5.7 FeatureLevel: 5.7
  OS       : linux
  Arch     : arm-linux-gnueabihf-thread-multi-64int
  Perl     : v5.20.2
  uniqueID : 5fee8e29e05cfc937b781ae8bd87b155
  upTime   : 1 day, 00:02:13

Defined modules:
  FHEMWEB    : 3
  FLOORPLAN  : 1
  FileLog    : 6
  PRESENCE   : 4
  Weather    : 1
  at         : 2
  autocreate : 1
  dummy      : 5
  eventTypes : 1
  notify     : 6
  telnet     : 1
  watchdog   : 1
  weblink    : 4

Transmitting this information during an update: no
You can change this via the global attribute sendStatistics
Titel: Antw:Notify bei Save fhem.cfg
Beitrag von: viegener am 02 Januar 2016, 23:53:56
Dann versuch mal folgendes notify:

define hciconfig.restart2 notify global:SAVE {Debug "Save-Test"}

Und schaue dann nach einem save in den log file ob auch das nicht ankommt



Johannes
Titel: Antw:Notify bei Save fhem.cfg
Beitrag von: afroasiate am 13 Januar 2016, 20:52:59
Hi das klappt leider nicht! Wie bereits beschrieben erscheint im LOG nichts. Mit REREADCFG funktioniert es.

Grüße
Titel: Antw:Notify bei Save fhem.cfg
Beitrag von: viegener am 14 Januar 2016, 00:56:15
Dann stimmt irgendetwas in Deiner FHEM-Installation nicht, denn hier handelt es sich um grundlegende Funktionalität.
Ansätze:
- Ist Die Installation aktuell
- DBLog oder normaler Filelog
- Exotische Einstellungen
- Hast Du einen zweite Installation in der Du testen kannst?
- Unerklärliche Fehlermeldungen im FHEM-Log?
...

Titel: Antw:Notify bei Save fhem.cfg
Beitrag von: frank am 14 Januar 2016, 11:28:18
Zitat von: afroasiate am 13 Januar 2016, 20:52:59
Hi das klappt leider nicht! Wie bereits beschrieben erscheint im LOG nichts. Mit REREADCFG funktioniert es.
öffne mal den eventmonitor und klicke auf save config. dann sollte so etwas erscheinen:

2016-01-14 11:17:23.238 Global global SAVE

wenn das save-event kommt, ändere mal die regex des notify ein wenig:

global.SAVE.*
Titel: Antw:Notify bei Save fhem.cfg
Beitrag von: P.A.Trick am 17 Januar 2016, 20:20:47
Hier mal meine funktionierende DOIF Lösung wenn du magst!

define di_FHEM_save DOIF ([global:?SAVE]) (say "FHEM Konfiguration wurde gesichert")