433mhz mit GenShellSwitch

Begonnen von snake_shit, 15 Oktober 2016, 20:31:28

Vorheriges Thema - Nächstes Thema

snake_shit

Hallo zusammen,
ich habe da ein paar Probleme vielleicht kann mir einer helfen.
Ich habe wie in der Anleitung siehe Link mein 433MHz Sende und Empfänger Module angeschlossen und kann sie über das Pi Schalten.

http://tutorials-raspberrypi.de/raspberry-pis-ueber-433mhz-funk-kommunizieren-lassen/

Was bei mir nur schon anderes ist, das ich einen Befehl fürs einschalten und einen fürs ausschalten habe. Was ich persönlich sehr gut finde.

Jetzt möchte ich gerne die Schalter auch im fhem schalten, nur leider klappt das einfach nicht.

Ich habe das Modul 00_GenShellSwitch.pm nach installiert.

Jetzt habe ich diesen Befehl probiert allerdings schaltet das System nicht.
define 2OG_L_H GenShellSwitch /home/pi/wiringPi/433Utils/ codesend 5571605

Der Code 5571605 schaltet das licht ein und der Code 5571604 schaltet das licht aus.

Das ist ein Auszug aus dem log:
2016.10.15 20:02:32 1: PERL WARNING: Can't exec "/home/pi/wiringPi/433Utils/": Keine Berechtigung at ./FHEM/00_GenShellSwitch.pm line 131.
2016.10.15 20:02:32 2: GenShellSwitch set 2OG_L_H on

DeeSPe

Zitat von: snake_shit am 15 Oktober 2016, 20:31:28
2016.10.15 20:02:32 1: PERL WARNING: Can't exec "/home/pi/wiringPi/433Utils/": Keine Berechtigung at ./FHEM/00_GenShellSwitch.pm line 131.
2016.10.15 20:02:32 2: GenShellSwitch set 2OG_L_H on


Das Problem steht doch eindeutig da und ist nicht FHEM spezifisch.
Bitte die Berechtigungen prüfen und anpassen.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

snake_shit

Zitat von: DeeSPe am 15 Oktober 2016, 20:35:57
Das Problem steht doch eindeutig da und ist nicht FHEM spezifisch.
Bitte die Berechtigungen prüfen und anpassen.

Gruß
Dan

Hi,
danke ich denke das habe ich schon gemacht. Habe dem Ordner wiringPi  0777 rechte gegeben. Oder benötigt der Ordner andere Rechte?

DeeSPe

Funktioniert es denn auf der Shell?
Was hast Du probiert?

Wenn ich mich recht erinnere funktioniert wiringPi nur mit sudo.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

snake_shit

Zitat von: DeeSPe am 15 Oktober 2016, 20:49:04
Funktioniert es denn auf der Shell?
Was hast Du probiert?

Wenn ich mich recht erinnere funktioniert wiringPi nur mit sudo.

Gruß
Dan

Hi,
Ja auf der Shell funktioniert es Problemlos.

Dort wechsel ich in den Folder:
/home/pi/wiringPi/433Utils/RPi_utils

und führe diesen Befehl aus:
sudo ./codesend  5571605

Kann es sein das der Pfad den ich im fhem Code eingebe falsch ist? Also das ich nicht den ganzen Pfand angeben muss?

DeeSPe

#5
Sollte die Definition dann nicht so aussehen?
define 2OG_L_H GenShellSwitch sudo /home/pi/wiringPi/433Utils/codesend 5571605

Gruß
Dan

EDIT: Hab noch das sudo ergänzt.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

snake_shit

Leider klappt das immer noch nicht :-(

Habe den Code von dir so eingefügt und auch wie du ihn geschrieben hast:

define 2OG_L_H GenShellSwitch sudo /home/pi/wiringPi/433Utils/RPi_utils/codesend 5571605


Jetzt  bekomme ich diese Fehlermeldung ins LOG:

2016.10.15 21:16:12 2: GenShellSwitch set 2OG_L_H off

Wir gehen davon aus, dass der lokale Systemadministrator Ihnen die
Regeln erklärt hat.  Normalerweise läuft es auf drei Regeln hinaus:

    #1) Resprektieren Sie die Privatsphäre anderer.
    #2) Denken Sie nach bevor Sie tippen.
    #3) Mit großer Macht kommt große Verantwortung.

sudo: Kein TTY vorhanden und kein »askpass«-Programm angegeben
2016.10.15 21:16:12 2: GenShellSwitch set 2OG_L_H off

DeeSPe

Dann bitte dem User fhem Berechtigungen für sudo geben.
sudo visudo

Am Ende einfügen:
fhem ALL=(ALL) NOPASSWD: ALL
um dem User fhem übergreifende sudo Berechtigung zu geben.
Das ist evtl. sicherheitstechnisch etwas bedenklich!

Darum besser:
fhem ALL=(ALL) NOPASSWD:/home/pi/wiringPi/433Utils/RPi_utils/codesend
Damit bekommt der User fhem nur sudo Berechtigungen auf dieses eine binary.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

snake_shit

Hi
Das war eine schwere Geburt.

Jetzt klappt es tadellos mit dem An und Ausschalten. Echt Klasse DANKE!

Dazu eine kurze frage: Ist das mit dem CUL Strick auch so "kompliziert" oder ist es damit einfacher

DeeSPe

Wirklich kompliziert war das jetzt nicht.

Obwohl das Einbinden von GenShellSwitch so leicht klingt ist es doch eine Custom-Bastelei und man muss eben betriebssystemseitig einige Einstellungen machen damit es funktioniert.

Die meisten "echten" (mitgelieferten) Module bei FHEM, so auch die CULs, benötigen eine solche Bastelei nicht.
Manche FHEM Module haben bestimmte Abhängigkeiten, z.B. bestimmte Perl Module, die man noch installieren muss.
Bei manchen (USB)-CULs ist es aber eventuell auch nötig innerhalb des Betriebssystems bestimmte Parameter zu setzen, z.B. tty, damit sie richtig funktionieren.

FHEM ist vielseitig und mächtig! Aber eben keine out-of-the-box Lösung.  8)

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

DeeSPe

Ich habe soeben mal eine neuere und verbesserte Version von 00_GenShellSwitch.pm gebaut.
Vielleicht hast Du Lust die mal zu testen. Es funktionieren auch alle SetExtensions.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe