Bewegungsmelder, Lampe schalten. Send Befehl wird irgendwie nicht ausgeführt

Begonnen von OnkelTom83, 14 November 2014, 16:46:06

Vorheriges Thema - Nächstes Thema

OnkelTom83

Hallo,

ich habe in den letzten Tagen einen Bewegungsmelder bekommen, und einen Arduino nano mit Empfänger.
Den Nano habe ich per USB am PI.
Die Konfiguration ist auch fertig und funktioniert.
###Arduino nano einbinen###
define arduino JeeLink /dev/ttyUSB0
attr arduino flashCommand avrdude -p atmega328P -c arduino -P [PORT] -D -U flash:w:[HEXFILE] 2>[LOGFILE]

define AliRF_047109 AliRF 047109
attr AliRF_047109 IODev arduino
attr AliRF_047109 room AliRF
define FileLog_AliRF_047109 FileLog ./log/AliRF_047109-%Y.log AliRF_047109
attr FileLog_AliRF_047109 logtype text
attr FileLog_AliRF_047109 room AliRF


Desweiteren habe ich eine Funksteckdose an der eine Lampe ist.
### WOHZIMMER LESELAMPE ###
define lampe2 GenShellSwitch /home/pi/rcswitch-pi/send 01000 2 1 0
attr lampe2 userattr room_map structexclude
attr lampe2 comment Alle FunkSchalter für Licht
attr lampe2 group Licht
attr lampe2 room Büro


sobald der Bewegungsmelder auslöst soll er die "lampe2" einschalten. Innerhalb von FHEM macht er es auch, jedoch sendet er den Befehl anscheint nicht raus...

Ich habe zwei Optionen getestet:

define Bewegungsmelder notify AliRF_047109 set lampe2 on

ODER
define AliRF_047109_alarm notify AliRF_047109 {\
Log 5, "Kelleralarm - Tür geöffnet";;\
fhem("set lampe2 on");;\
}\


Bei beiden Varianten, schaltet FHEM softwaretechnisch die Lampe ein, aber anscheint sendet er den Befehl nicht.

Hat jemand eine Idee?

Vielen Dank

gero

Funktioniert das Schalten der Lampe von der Console aus?

Wie sehen die Rechte von /home/pi/rcswitch-pi/send aus?

Unter welchem Benutzer läuft fhem?

Siehst du irgendwelche Fehler im Logfile?


Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

OnkelTom83

Guten Morgen,
danke für die schnelle Antwort gero...
der Schalter funktioniert sogar wenn ich den Knopf "on" von Hand anklicke.

Send:
./usr/bin/send
hat folgende Berechtigung:
-rwxrwxrwx 1 root root 16943 Nov  6 11:29 send

Ich weiss leider nicht, wie ich herausfinde unter welchem User fhem läuft, jedoch kann ich sagen das ich kurz nach der Installation diesen Befehl
     sudo chmod -R a+w fhem && sudo usermod -a -G tty pi && sudo usermod -a -G tty fhem
unter /opt/ ausgeführt habe.
Kannst du mir sagen wie ich den user herausfinde?

Das Logfile....
Ich musste vorher über die WEB-Oberfläche die Lampe aussschalten... hat auch funktioniert..

2014.11.15 07:48:41 4: Connection accepted from FHEMWEB:10.1.1.206:61951
2014.11.15 07:48:41 4: HTTP FHEMWEB:10.1.1.206:61951 GET /fhem?XHR=1&cmd.lampe2=set%20lampe2%20off&room=B%C3%BCro
2014.11.15 07:48:41 5: Cmd: >set lampe2 off<
2014.11.15 07:48:41 4: GenShellSwitch command line: /home/pi/rcswitch-pi/send 01000 2 0 |
2014.11.15 07:48:41 3: GenShellSwitch command result: sending systemCode[01000] unitCode[2] command[0]
2014.11.15 07:48:41 2: GenShellSwitch set lampe2 off
2014.11.15 07:48:41 5: Triggering lampe2 (1 changes)
2014.11.15 07:48:41 5: Notify loop for lampe2 off
2014.11.15 07:48:41 4: eventTypes: GenShellSwitch lampe2 off -> off
2014.11.15 07:48:41 4: /fhem?XHR=1&cmd.lampe2=set%20lampe2%20off&room=B%C3%BCro / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/

Danach habe ich versucht über den Bewegungsmelder die Lampe wieder ein zu schalten

2014.11.15 07:48:48 5: JeeLink/RAW: /OK 5
2014.11.15 07:48:48 5: JeeLink/RAW: OK 5/ 2291081 1
2014.11.15 07:48:48 5: JeeLink/RAW: OK 5 2291081 1
/

2014.11.15 07:48:48 5: arduino dispatch OK 5 2291081 1
2014.11.15 07:48:48 5: Triggering AliRF_047109 (1 changes)
2014.11.15 07:48:48 5: Notify loop for AliRF_047109 motion: 1
2014.11.15 07:48:48 5: Triggering Bewegungsmelder
2014.11.15 07:48:48 4: Bewegungsmelder exec set lampe2 on
2014.11.15 07:48:48 5: Cmd: >set lampe2 on<
2014.11.15 07:48:48 4: GenShellSwitch command line: /home/pi/rcswitch-pi/send 01000 2 1 |
2014.11.15 07:48:49 3: GenShellSwitch command result: sending systemCode[01000] unitCode[2] command[1]
2014.11.15 07:48:49 2: GenShellSwitch set lampe2 on
2014.11.15 07:48:49 5: Triggering lampe2 (1 changes)
2014.11.15 07:48:49 5: Notify loop for lampe2 on
2014.11.15 07:48:49 4: eventTypes: GenShellSwitch lampe2 on -> on
2014.11.15 07:48:49 4: eventTypes: AliRF AliRF_047109 motion: 1 -> motion: .*
2014.11.15 07:48:50 4: HTTP FHEMWEB:10.1.1.206:61951 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2014-11.log


Zu Info:
Ich habe aktuell diesen Befehl zur Verarbeitung des Bewegungsmelders aktiv
define Bewegungsmelder notify AliRF_047109 set lampe2 on



Nachtrag:
Ich habe gerade gesehen, das ich in meiner fhem.cfg auf /hom/pi/rcswitch-pi/send verweise und warscheinlich den Befehl dort ausführe...
Dieser send hat folgende Berechtigung:
-rws--x--x 1 root root 16943 Nov  6 11:27 send

Gruß
Christian

gero

Zitat von: OnkelTom83 am 15 November 2014, 07:54:06
Kannst du mir sagen wie ich den user herausfinde?
Gib mal folgendes ein
ps aux | grep fhem
dann solltest du im Output folgende Zeile finden:
perl fhem.pl fhem.cfg
In der ersten Spalte steht der User.

Zitat von: OnkelTom83 am 15 November 2014, 07:54:06
Ich habe gerade gesehen, das ich in meiner fhem.cfg auf /hom/pi/rcswitch-pi/send verweise und warscheinlich den Befehl dort ausführe...
Dieser send hat folgende Berechtigung:
-rws--x--x 1 root root 16943 Nov  6 11:27 send
Falls send ein reines Binary ist, sollte es funktionieren. Ist es ein Script, brauchst du zusätzlich noch Leserecht, falls fhem nicht als root ausgeführt wird.
Leider kenne ich rcswitch-pi nicht.
Zur Sicherheit kannst du ein
sudo chmod a+rwx /hom/pi/rcswitch-pi/send
ausführen.

Da das Senden aber aus der WEB-Oberfläche funktioniert, kann man ein Rechteproblem ausschließen. Deine Logs sehen ebenfalls ganz gut aus. Zur Zeit fällt mir nichts mehr ein. Vielleicht meldet sich noch jemand, der ein ähnliches Setup hat. Oder frag mal in diesem Thread http://forum.fhem.de/index.php/topic,12443.0.html nach.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

lulli

Hast Du es inzwischen geschafft?? Sonst versuche dies mal
define Bewegungsmelder notify AliRF_047109:motion:.* set lampe2 on

Gruß
Yves