Gelöst: Notify mit Systembefehl

Begonnen von Jack_n, 05 November 2016, 09:45:54

Vorheriges Thema - Nächstes Thema

Jack_n

Hallo mal wieder vom "Rookie"   ::)

mal wieder hänge ich fest, diesmal bei der Ansteuerung eines 1 Kanal USB Relais.

Das Relais kann ich in Putty per Eingabe in die Kommandozeile anschalten: echo -e '\xff\x01\x01' > /dev/ttyUSB0
... und auch wieder ausschalten: echo -e '\xff\x01\x00' > /dev/ttyUSB0

Dann habe ich ein Notify angelegt das von SHRelais getriggert wird (on:off) und entsprechend das Relais schalten soll.

Ich habe schon ettliche schreibweisen durch , mit Klammern , ohne Klammern usw. aber nichts geht.

SHRelais:on {system "echo -e '\xff\x01\x01' > /dev/ttyUSB0"}
SHRelais:on {system ("echo -e '\xff\x01\x01' > /dev/ttyUSB0")}

Kann sich bitte einer von Euch das mal ansehen und mir aus der Patsche helfen ?

Vielen Dank und liebe Grüße
Joachim






marvin78

Wie in der commandref beschrieben reicht einfach das

SHRelais:on "echo -e '\xff\x01\x01' > /dev/ttyUSB0"

Ggf. ins Log schauen. Das ist immer eine gute Idee. Kommt das Event überhaupt?

Jack_n

Das Event kommt schon und im LOG sind auch diese Einträge zu finden:

-e \xff\x01\x01
-e \xff\x01\x00
-e \xff\x01\x01
-e \xff\x01\x00
-e \xff\x01\x01
-e \xff\x01\x00
-e \xff\x01\x01

Allerdings beeidruckt es das Relais nicht....   :'(

Hat das evtl. was mit Rechten zu tun?

Ich führe das ja in der Konsole als User PI aus und in FHEM als fhem... ?

sumsum

was passiert wenn du sudo -u fhem echo -e '\xff\x01\x01' > /dev/ttyUSB0 auf der Kommandozeile ausführst?

Jack_n

Bei

SHRelais:on "sudo -u fhem echo -e '\xff\x01\x01' > /dev/ttyUSB0"

bekomme ich im Log nur ein Symbol:

marvin78

Funktioniert denn

echo -e '\xff\x01\x01' > /dev/ttyUSB0

auf der Kommandozeile überhaupt?

Hat der User fhem die Rechte, um das auszuführen?

Jack_n

Das hatte ich ja eingangs geschrieben.

Unter Putty und User Pi geht's , unter FHEM bei Eingabe in der Kommandozeile geht's nicht.

Ob die Rechte passen weiss ich nicht, hab auch leider keine Ahnung wie ich das rausfinden kann...

Viele Grüße
Joachim

Jack_n

Hallo,

ich hab's jetzt anderst angegangen und habe Sriptdateien angelegt für an und aus usw. , damit klappt's.

zb. RelayOn.sh

#!/bin/bash
# sends on signal to the USB relay
echo -e "\xFF\x01\x01" > /dev/ttyUSB0

marvin78

Ich hasse das normalerweise, aber ich kann dieses "anderst" einfach nicht mehr lesen

https://www.korrekturen.de/beliebte_fehler/anderst.shtml