Auf dem aktuellen Image von Smarthome.py + SmartVisu heißt der User doch "Admin" oder ?
Bei mir läuft es leider auch nur unter root wie bei giase. Bekomm das auch mit den Rechten nicht so recht hin.
Gruß Mathias
Ankündigung
Einklappen
Keine Ankündigung bisher.
Logic und Howto für 433Mhz Steckdosen
Einklappen
X
-
Hallo (Netsrac80) Carsten,
vielen Dank für die Anleitung!
Bei mir war nach befolgen der Install-Anleitung die Datei "rcswitch.pi" im Verzeichnis "/home/admin/" gelandet. Nach manuellem Umkopieren in das Verzeichnis "/usr/smarthome/" funktionierte der Befehl "/usr/smarthome/rcswitch-pi/send 10000 1 1" ohne Probleme.
Gruß
Hans
Einen Kommentar schreiben:
-
Ich habe mittlerweile auf einen Cubietruck gewechselt und dort das ganze auch zum laufen gebracht. Allerdings nur, wenn der apache auch als root läuft. Sonst kann smarthome.py den Befehl nicht absenden. Bisher habe ich noch keine Lösung gefunden die nicht "gebastel" ist.
Aber ich starte den Apache und ordne nachher den Benutzer www-data in der /etc/passwd der Gruppe "Root" zu.
Code:www-data:x:0:0:www-data:/var/www:/bin/bash
Wie gesagt, das ist gebastel und Apache sollte eigentlich niemals als Root gestartet werden. In meinem eigenen WLAN und IPTables im Raspi die nur Zugriff von festgelegten IP-Adressen erlauben mag das gehen, aber nie auf einem Produktivsystem beim Kunden o.ä.!
Bei einem Reboot wird der Apache auch nicht starten, da ja vorher die Rechte wieder zurückgeändert werden müssen.
Anders habe ich es derzeit noch nicht zum laufen gebracht.Zuletzt geändert von Netsrac80; 15.11.2015, 23:15.
Einen Kommentar schreiben:
-
Nochmal ein update:
Nachdem ich folgendes ausführe, geht jetzt auch das Kommando als nicht-root:
Code:sudo /usr/local/bin/gpio export 17 out sudo chown -R smarthome:smarthome /sys/class/gpio/
Code:[COLOR=#454545][FONT=Helvetica][SIZE=12px]sudo -u smarthome /usr/local/bin/gpio export 17 out[/SIZE][/FONT][/COLOR]
D.h. das ganze ist äußerst sensibel gegenüber Rechten.
Jetzt meine Frage: Als welcher user läuft denn smarthome.py normalerweise (habe nach Anleitung installiert)?
Gruß,
//giase
Einen Kommentar schreiben:
-
Und noch ein bisschen mehr info: Ich habe wiringPi im debug-modus kompiliert. Die Ausgabe ist für den sudo sowie den nicht-sudo Befehl die gleiche.
sudo
Code:smarthome@raspberrypi ~/rcswitch-pi $ sudo /home/smarthome/rcswitch-pi/send 10100 1 0 wiringPi: wiringPiSetup called piboardRev: Hardware: Hardware : BCM2709 piboardRev: Revision string: Revision : a01041 piboardRev: This Pi has/is (force_turbo || current_limit_override || temp_limit>85) && over_voltage>0 piboardRev: last4Chars are: "1041" piBoardRev: Returning revision: 2 piboardId: Revision string: Revision : a01041 sending systemCode[10100] unitCode[1] command[0]
Code:smarthome@raspberrypi ~/rcswitch-pi $ /home/smarthome/rcswitch-pi/send 10100 1 1 wiringPi: wiringPiSetupSys called piboardRev: Hardware: Hardware : BCM2709 piboardRev: Revision string: Revision : a01041 piboardRev: This Pi has/is (force_turbo || current_limit_override || temp_limit>85) && over_voltage>0 piboardRev: last4Chars are: "1041" piBoardRev: Returning revision: 2 sending systemCode[10100] unitCode[1] command[1]
Ich kann mitCode:gpio write 0 1
Code:gpio write 0 0
Wo hängt das denn hier??
Einen Kommentar schreiben:
-
Hallo zusammen,
Vielen Dank erstmal für die gute Anleitung!
Ich habe das jetzt soweit auch alles gemacht, allerdings scheitere ich gerade daran, das ganze als nicht-root zum laufen zu bekommen.
Wenn ich alles nach Anleitung mache, schaltet gar nichts.
Wenn ich dann in send.cpp den port wieder zurück auf 0 setzte, und dann anstattCode:wiringPiSetupSys()
Code:wiringPiSetup()
Bevor ich send zum ersten mal kompiliert habe, habe ich mitCode:gpio export 17 out
Code:+-----+-----+---------+------+---+---Pi 2---+---+------+---------+-----+-----+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ | | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5V | | | | 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 | | | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 | | 17 | 0 | GPIO. 0 | OUT | 0 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | IN | 0 | 13 || 14 | | | 0v | | | | 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 0 | IN | GPIO. 4 | 4 | 23 | | | | 3.3v | | | 17 || 18 | 0 | IN | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | | | 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 | | 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 | | | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 | | 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 | | 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | | | 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 | | 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | | | 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 | | 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 | | | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 | +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+---------+------+---+---Pi 2---+---+------+---------+-----+-----+
Gruß,
//giase
Einen Kommentar schreiben:
-
Hi Carsten,
besten Dank!
scheinbar gibt's einige Befehle nicht in der abgespeckten smarthome Version.
konnte alles mit
apt-get install make
apt-get install gcc und
apt-get install g++ ans Laufen bekommen.
Grüße
Grünther
Einen Kommentar schreiben:
-
Zitat von SchnickSchnuck Beitrag anzeigenHallo,
wiringPi Build script
=====================
WiringPi Library
sudo: make: command not found
./build: 59: ./build: make: not found
Make Failed...
Ich bin jetzt nicht der Debian Guru, aber vielleicht reicht einfach eine Installation aus
sudo apt-get install make
Grüße
Carsten
Einen Kommentar schreiben:
-
Hallo,
wollte gerade die Steckdosen ebenfalls in Betrieb nehmen, scheitere aber schon an WiringPi. Habe mich genau an die Anleitung gehalten, allerdings kommt nach dem letzten Befehl "./build" der Fehler
wiringPi Build script
=====================
WiringPi Library
sudo: make: command not found
./build: 59: ./build: make: not found
Make Failed...
Auch wenns gerade mit sh.py nichts am Hut hat, vielleicht hat ja jemand einen Tip für mich, woran es liegen könnte. Habe den Raspi B mit dem Smarthome.py-Image
Danke!
Grüße
Günther
Einen Kommentar schreiben:
-
Hallo Carsten,
danke dafür. Es wäre toll wenn Du das ins Wiki packen würdest. Hier geht es sonst leider zu schnell unter.
Bis bald
Marcus
Einen Kommentar schreiben:
-
Hallo Carsten,
danke dir schon mal für den Code. Bei mir funktioniert es soweit ganz gut.
Leider habe ich Probleme die Funksteckdosen in die HTML einzubinden.
Hättest du hier ein Beispiel für mich?
Habe folgendes probiert, leider funktioniert es aber nicht
Code:{{ basic.flip('Funksteckdosen.System1.TasteA', 'Funksteckdosen.System1.TasteA', '1', '0')}}
Schöne Grüße
Sebastian
Einen Kommentar schreiben:
-
Hallo,
du hattest recht. Mein einfach kopiertes Beispiel funktioniert nicht. Ich hab es oben schon aktualisiert. in der send.cpp muss
Code:mySwitch.switchOn(systemCode, unitCode);
Code:mySwitch.switchOff(systemCode, unitCode);
Ab Zeile 113 werden stehen hier im Quellcode auch nochmal die Funktionsdeklarationen wie switchOn() aufgerufen werden muß um unterschiedliche Endgeräte anzusprechen.
Einen Kommentar schreiben:
-
Hallo Carsten,
oh das ist super! Vielen Dank dir =)
VG
Sebastian
Einen Kommentar schreiben:
-
Denn sie wissen nicht was sie tun. :/ Sorry! Bei mir hatte das "ohne-Root-senden" mit dieser Anleitung auf Anhieb geklappt. Deswegen hatte ich mich gar nicht mit den eigentlichen CPP-Quellcodes beschäftigt.
Leider.
Denn das Beispiel ist für Befehle wie `./send ab 2604607 1` ausgelegt. Der UnitCode ist dort schon der eindeutige Bezeichner für ein Schaltgerät und muss nicht in Kombination mit dem SystemCode gesendet werden.
Ich geb Dir heute abend nochmal eine Info warum das bei mir trotzdem Funktioniert.
Grüße
Carsten
Einen Kommentar schreiben:
-
Hallo Carsten,
erst einmal vielen Dank für diese Anleitung! Sie hat mir schon sehr geholfen
Ich habe gestern versucht den ./send Befehl zu implementieren. Soweit funktioniert es ganz gut, leider habe ich es noch nicht hin bekommen, dass ich den Befehl ohne sudo senden kann, obwohl ich wiringPiSetupSys() verwendet habe.
Bezüglich "mySwitch.send(unitCode, 24);" habe ich jedoch ein paar Fragen:- Wieso nutzt du nicht die vorgegebenen Befehle mit ON/OFF?
- Dieser Befehl arbeitet, so wie ich die Doku verstanden habe, nur mit Binärwerten. Müsste man hier nicht den systemCode, unitCode und command zu einem Binärwert umwandeln und dann übergeben? Hintergrund ist, dass es so bei mir nicht funktioniert. Ich vermute auch, weil hier nur der unitCode übergeben wird. Weiß jemand was die 24 bedeutet?
VG
Sebastian
P.S.: Bin gerade noch dabei, die Logic zu implementieren, musste aber leider aufhören, weil die Augen schon zugefallen sind
Einen Kommentar schreiben:
Einen Kommentar schreiben: