Problem beim Ausführen eines Befehls in einer IF Abfrage

Begonnen von jeckyllhavok, 13 April 2015, 19:49:03

Vorheriges Thema - Nächstes Thema

jeckyllhavok

Hallo zusammen,
ich steh leider vor einem kleinen Problem.
Ich habe einen Fibaro FGD211 Dimmer an einen Doppeltaster angeschlossen, über die zweite Taste werden standardmäßig von dem Dimmer Szenen gestartet. Ich möchte nun wenn der Dimmer so eine Szene an FHEM sendet einen Befehl ausführen.
Dazu habe ich mir in der fhem.cfg eine kleine If Abfrage gebaut die auf folgendes Event lauscht:

2015-04-13_00:22:24 DimmerKueche scene_1a: ff

Die dazugehörige If Abfrage sieht so aus: Ziel ist es per wget einen Eingang auf einem Loxone Miniserver zu schalten.

define DimmerKuechet2click notify DimmerKueche.* {if(Value("scene_1a") eq "ff") {fhem "wget -q -O - 'http://user:pass@@IP/dev/sps/io/VI8/On'"}}

DimmerKueche ist der in fhem eingetragene Name des Dimmers, FHEM ist auf dem neusten Stand (heute noch ein Update gemacht)
Als Platform kommt ein Rpi zum Einsatz

Leider passiert aber nix. hat vielleicht jemand eine Idee?

Danke, danke

JeckyllHavok

jeckyllhavok

So, hab den ganzen Tag rumgetestet, aber leider krieg ichs nicht hin,
anbei noch ein paar Infos mehr:

Übersicht über die Readings
(http://www.img-host.de/bild.php/54912,fhemdimmer1E8K3.png)

Eintrag fhem.cfg:

define DimmerKueche ZWave c6b60b69 7
attr DimmerKueche IODev ZWDongle_20
attr DimmerKueche classes MANUFACTURER_SPECIFIC VERSION CONFIGURATION ASSOCIATION MULTI_CHANNEL_ASSOCIATION SWITCH_MULTILEVEL FIRMWARE_UPDATE_MD SWITCH_ALL POWERLEVEL MARK SWITCH_MULTILEVEL SCENE_ACTIVATION
attr DimmerKueche event-on-change-reading event,state
attr DimmerKueche event-on-update-reading event,state
attr DimmerKueche room ZWave
define FileLog_DimmerKueche FileLog ./log/DimmerKueche-%Y.log DimmerKueche
attr FileLog_DimmerKueche logtype text
attr FileLog_DimmerKueche room ZWave



Ich will eigentlich nur bei jedem neuen auftreten der Readings scene_1a einen wget Befehl absetzen, hab erst seit 2 Wochen was mit FHEM am Kopf also sorry für eventuell dumme Fragen.

P.S. Sorry fürs bumpen

krikan

#2
Würde zunächst einmal das Regex im notify passender machen. Bei Dir wird das notify bei jedem Event für DimmerKueche abgearbeitet. Das ist unnötig. Nimm mal so etwas:
DimmerKueche:scene_1a:.ff
Damit würdest Du schon mal Deine if-Abfrage sparen.
Was sagt eigentlich Dein Log zu Deiner Konstruktion?
Das "wget -q -O - 'http://user:pass@@IP/dev/sps/io/VI8/On'" ist nach meiner Meinung auch kein Fhem-Befehl, sondern system()

Edit: Ach so, testen des notify mit "trigger". Ist nämlich von mir ungetestet!
http://www.fhemwiki.de/wiki/Notify

Puschel74

a) es geht nicht um IF sondern um if
b) (Value("scene_1a") eq "ff")
ist Blödsinn da es kein Device scene_1a gibt sondern nur ein Reading mit diesem Namen.
ReadingsVal wäre hier wohl zielführender.
Ich dachte das hat Uli im Einsteiger.pdf nichtmal soo schlecht erklärt  :o
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

jeckyllhavok

Hey danke an euch zwei,
ja ich hatte im WIKI und im pdf mal nachgesehen, hab aber den Wald vor lauter Bäumen nicht gesehen. Muss mich noch an die FHEM Struktur gewöhnen.

Danke für den Tip mit der unsinnigen If Abfrage, so hats schließlich geklappt:

define DimmerKUt2click notify DimmerKueche:scene_1a:.* "wget -q -O - 'http://user:pass@@IP/dev/sps/io/VI8/Pulse'"

Danke an euch und einen schönen Abend noch

Puschel74

Du weisst aber das dein notify auch ausgeführt wird wenn das Reading einfach nur aktualisiert wird unabhängig von dessen Inhalt?
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

jeckyllhavok

Wenn ich das recht verstehe müsste ich dort das
attr DimmerKueche event-on-update-reading event,state
aus dem Dimmer nehmen, durch das event-on-change-reading sollte das Reading ja nur bei eienem Wechsel aktualisiert werden, sehe ich das richtig?

Puschel74

Zitatsehe ich das richtig?
Jep.
event-on-update-reading löst jedesmal ein Event aus wenn das Reading erneuert wird - egal welchen Inhalt das Reading hat.
event-on-change-reading löst ein Event aus wenn sich der Wert der Readings ändert.

Du kannst aber auch ein "einfaches" regexp verwenden:
attr DimmerKueche event-on-change-reading .*
Es sei den du willst bewusst einige Readings ausschliessen - wobei ich das Reading event in deinem Screenshot noch suche  ???
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.