FHEM PiFace und readingProxy

Begonnen von Foxalem, 03 März 2017, 16:49:02

Vorheriges Thema - Nächstes Thema

Foxalem

Moin moin,

hab heute endlich meinen Rpi3 und das PiFace bekommen. Raspberian Lite und FHEM ohne probleme installiert, alles auf dem aktuellen Stand gebracht und erstmal rumprobiert.

Meine Grundidee:
Ich habe einen Grundriss per Floorplan eingebunden und kann per Tippen auf dem Touchpad die Lampen steuern. Mehr ist es schon nicht :)

Wenn ich einen Lichtdummy installiere und entsprechende notifys klappt alles:
define Lampen PIFACE
attr Lampen room Halle2

define Lampe1out readingsProxy Lampen:out0
attr Lampe1out room Halle2

define Lichtdummy dummy
attr Lichtdummy fp_Grundriss 204,861,1,Lichtdummy,
attr Lichtdummy room Halle2
attr Lichtdummy setList off on

define L_an notify Lichtdummy:on set Lampen 0 1
attr L_an room Halle2

define L_aus notify Lichtdummy:off set Lampen 0 0
attr L_aus room Halle2


Meine Frage ist nun, ob das nicht direkt geht über Lampe1out (also per readingproxy vom PiFace) als device?
Ich habe gerade mit setFn und valueFn rumprobiert wie ein blöder aber ich komme im moment zu keinem Ergebnis. Egal was ich einstelle, im Log sehe ich das immer nur folgende Befehle ausgeführt werden:

2017.03.03 16:39:34 3: PIFACE Lampen set port on
Usage: /usr/local/bin/gpio write pin value
2017.03.03 16:39:36 3: PIFACE Lampen set port off
Usage: /usr/local/bin/gpio write pin value


oben genannter Befehl wurde beim versuch folgende definition zum schalten zu bringen, ausgegeben:

define Lampe2 readingsProxy Lampen:out1
attr Lampe2 room Halle2
attr Lampe2 setFn ($CMD == "off")?0":"1"
attr Lampe2 setList on off
attr Lampe2 valueFn ($VALUE == "off")?"0":"1"


Bin leider nicht wirklich fündig geworden wie man diese Funktionen richtig nutzt, evtl kann ja jemand das problem schon mit einem guten Link lösen :)

Mfg

Thorsten Pferdekaemper

Hi,
ich habe fast nichts von dem, was Du geschrieben hast, gelesen. Aber das hier ist mir ins Auge gesprungen:

attr Lampe2 setFn ($CMD == "off")?0":"1"

Das muss eher so heißen:

attr Lampe2 setFn { ($CMD eq "off")?"0":"1" }

Gruß,
   Thorsten
FUIP

Foxalem

Hi Thorsten,

danke für die Antwort.
Die Lösung war nun ein einfaches:
setFn {($CMD eq "off")?("1 0"):("1 1")}

Hatte es mit den geschweiften Klammern schon probiert aber er hat mir nen Syntax-fehler angemahnt. Hab es dann irgendwie wieder verworfen.

Danke :)