Autor Thema: [GELÖST] Wie detektierte Bewegung von Motuion Eye an fhem leiten  (Gelesen 555 mal)

Offline Invers

  • Hero Member
  • *****
  • Beiträge: 1607
Leider habe ich keine passendere Rubrik im Forum gefunden. Sorry.

Ich möchte mit motioneye os eine Raspi-Cam nutzen, die bei Bewegung ein Signal an FHEM schickt.
Motioneye unterstützt bei Bewegung folgendes:
1.   Send An Email – Das möchte ich nicht.
2.   Call A Web Hook   - Get, POST Query, POST form, POST query
3.   Run A Command
Ist jemand so nett, mir eine Befehlszeile oder ein Kommando zu nennen, um FHEM die Bewegung mitzuteilen? Ich würde damit ein Dummy schalten wollen.
Ich hatte versucht, folgende Zeile, die jedoch nicht funktioniert, mit Option 3 (Run A Command) zu nutzen:

echo "set Lampe_Korridor on" | telnet fhem 7072

Besten Dank im Voraus.

« Letzte Änderung: 09 Juli 2018, 20:45:11 von Invers »
Pi3B Stretch | F.-Box 7490 | CUL 433 | CUL 868 | SDuino | HM-LAN | 12 x Dect200 | 5 x TX3TH | 3 x Heizung FHT + Fensterkont. | KeyMatic + 2 FB mit 4 Tasten | Wandtaster 2-fach m. LED | 6 x Türkontakt TFK-TI | HM-Bew.-Melder aussen + innen | 3 x R.-Melder HM-SEC-SD-2 | SAT Gigablue quad plus

Offline Otto123

  • Hero Member
  • *****
  • Beiträge: 9660
    • Otto's Technik Blog
Antw:Wie detektierte Bewegung von Motuion Eye an fhem leiten
« Antwort #1 am: 08 Juli 2018, 17:33:30 »
Hi,

du hast remote ja mindestens zwei Sicherheitshürden. allow und csrftoken.

Falls es das gleiche Subnetz ist sollte es so wie hier gehen:
https://wiki.fhem.de/wiki/CsrfToken-HowTo

Beispiel
curl --data "fwcsrf=$(curl -s -D - 'http://Deinhost:8083/fhem?XHR=1' | awk '/X-FHEM-csrfToken/{print $2}')" http://Deinhost:8083/fhem?cmd=set%20Lampe_Korridor%20on
Pack das ganze am Besten in eine Script Datei und dann für Run A command:
bash /Pfad/Script.sh
Gruß Otto
« Letzte Änderung: 08 Juli 2018, 17:35:05 von Otto123 »
Viele Grüße aus Leipzig
RaspberryPi,HMLAN,HMUART,Homematic,Fritz!Box 7490,Sonos,ET9200,Arduino nano,ESP8266

Offline Invers

  • Hero Member
  • *****
  • Beiträge: 1607
Antw:Wie detektierte Bewegung von Motuion Eye an fhem leiten
« Antwort #2 am: 08 Juli 2018, 17:54:47 »
Besten Dank.
Ich versuch mich da mal durchzupfriemeln.
Ich habe gerade mit festem Token probiert, das geht nicht.
http://192.168.178.44:8083/fhem?cmd=set%20Lampe_Korridor%20on-for-timer%203&fwcsrf=asdfjklö
Mal sehen, ob ich andere Varianten hinbekomme.
Pi3B Stretch | F.-Box 7490 | CUL 433 | CUL 868 | SDuino | HM-LAN | 12 x Dect200 | 5 x TX3TH | 3 x Heizung FHT + Fensterkont. | KeyMatic + 2 FB mit 4 Tasten | Wandtaster 2-fach m. LED | 6 x Türkontakt TFK-TI | HM-Bew.-Melder aussen + innen | 3 x R.-Melder HM-SEC-SD-2 | SAT Gigablue quad plus

Offline Otto123

  • Hero Member
  • *****
  • Beiträge: 9660
    • Otto's Technik Blog
Antw:Wie detektierte Bewegung von Motuion Eye an fhem leiten
« Antwort #3 am: 08 Juli 2018, 18:40:27 »
Du solltest nicht als erstes um die Verwaltung des Tokens kümmern sondern erstmal darum, dass Du den Befehl unter motioneye überhaupt so absetzen kannst :)
Lass doch den Token so wie er ist :)
Ich habe gerade noch einen "Komfortvariante" ins Wiki gebaut.

Die Zeile von unten von deinem motioneye aus, aus der Konsole abgesetzt hat nicht funktioniert?

Es kann durchaus sein, dass dort was an Systemkommandos fehlt ...
Viele Grüße aus Leipzig
RaspberryPi,HMLAN,HMUART,Homematic,Fritz!Box 7490,Sonos,ET9200,Arduino nano,ESP8266

Offline helmut

  • Developer
  • Full Member
  • ****
  • Beiträge: 245
  • You can have easy, cheap or secure. Pick two.
Antw:Wie detektierte Bewegung von Motuion Eye an fhem leiten
« Antwort #4 am: 08 Juli 2018, 18:46:56 »
Versuch's doch mal mit Rudis Loesung:

https://forum.fhem.de/index.php/topic,88398.msg808552.html#msg808552
 
Gruss Helmut
Intelligenz ist die Fähigkeit, Arbeit zu vermeiden, aber dafür zu sorgen, daß die Arbeit gemacht wird.
(Linus Torvalds)

Offline Otto123

  • Hero Member
  • *****
  • Beiträge: 9660
    • Otto's Technik Blog
Antw:Wie detektierte Bewegung von Motuion Eye an fhem leiten
« Antwort #5 am: 08 Juli 2018, 18:55:19 »
Rudis Lösung im Link ist lokal und nicht remote :) oder verstehe ich da was nicht?
Viele Grüße aus Leipzig
RaspberryPi,HMLAN,HMUART,Homematic,Fritz!Box 7490,Sonos,ET9200,Arduino nano,ESP8266

Offline helmut

  • Developer
  • Full Member
  • ****
  • Beiträge: 245
  • You can have easy, cheap or secure. Pick two.
Antw:Wie detektierte Bewegung von Motuion Eye an fhem leiten
« Antwort #6 am: 08 Juli 2018, 19:05:41 »
Das ist richtig, aber den lokalen Befehl kannst Du doch leicht in ssh einpacken.
Gruss Helmut.
Intelligenz ist die Fähigkeit, Arbeit zu vermeiden, aber dafür zu sorgen, daß die Arbeit gemacht wird.
(Linus Torvalds)

Offline Otto123

  • Hero Member
  • *****
  • Beiträge: 9660
    • Otto's Technik Blog
Antw:Wie detektierte Bewegung von Motuion Eye an fhem leiten
« Antwort #7 am: 08 Juli 2018, 19:14:13 »
naja, "leicht" ist im Auge des Benutzers relativ :)

Und ob ich wegen einer Meldung den kompletten Zugriff über ssh einrichten würde.

Aber wie es so ist mit Rom - das ist von allen Seiten erreichbar :)

Gruß Otto
Viele Grüße aus Leipzig
RaspberryPi,HMLAN,HMUART,Homematic,Fritz!Box 7490,Sonos,ET9200,Arduino nano,ESP8266

Offline helmut

  • Developer
  • Full Member
  • ****
  • Beiträge: 245
  • You can have easy, cheap or secure. Pick two.
Antw:Wie detektierte Bewegung von Motuion Eye an fhem leiten
« Antwort #8 am: 08 Juli 2018, 19:25:37 »
naja, "leicht" ist im Auge des Benutzers relativ :)

Hallo Otto,

das ist natuerlich richtig, aber curl, awk usw. sind auch nicht gerade leichte Kost.

Und ob ich wegen einer Meldung den kompletten Zugriff über ssh einrichten würde.
Erstens kannst Du den einschraenken und zweitens kommunizieren doch die meisten hier ueber ssh mit
ihrem Rechner auf dem fhem laeuft - oder irre ich da?

Aber wie es so ist mit Rom - das ist von allen Seiten erreichbar :)
Da hast Du nun wieder recht ;-)

Gruss Helmut
Intelligenz ist die Fähigkeit, Arbeit zu vermeiden, aber dafür zu sorgen, daß die Arbeit gemacht wird.
(Linus Torvalds)

Offline Invers

  • Hero Member
  • *****
  • Beiträge: 1607
Antw:Wie detektierte Bewegung von Motuion Eye an fhem leiten
« Antwort #9 am: 08 Juli 2018, 19:26:41 »
Die Lösung mit festem Token musste ich wieder verwerfen, weil Alexa damit keinen Zugriff mehr hat. Die ZHeiole im Browser hatte funktioniert, aus dem Programm heraus jedoch nicht:
http://192.168.178.44:8083/fhem?cmd=set%20Lampe_Korridor%20on-for-timer%203&fwcsrf=asdfjklö

Ihr antwortet ja schneller, als ich denken kann. :-)

Ich probiere alles durch und melde mich. Danke.

Edit:
Diese Zeile:

curl --data "fwcsrf=$(curl -s -D - 'http://192.168.178.44:8083/fhem?XHR=1' | awk '/X-FHEM-csrfToken/{print $2}')" http://192.168.178.44:8083/fhem?cmd=set%20Lampe_Korridor%20on

funktioniert von meinem Radio-Pi aus, aber vom Motion Eye Pi leider nicht.
« Letzte Änderung: 08 Juli 2018, 19:33:53 von Invers »
Pi3B Stretch | F.-Box 7490 | CUL 433 | CUL 868 | SDuino | HM-LAN | 12 x Dect200 | 5 x TX3TH | 3 x Heizung FHT + Fensterkont. | KeyMatic + 2 FB mit 4 Tasten | Wandtaster 2-fach m. LED | 6 x Türkontakt TFK-TI | HM-Bew.-Melder aussen + innen | 3 x R.-Melder HM-SEC-SD-2 | SAT Gigablue quad plus

Offline Otto123

  • Hero Member
  • *****
  • Beiträge: 9660
    • Otto's Technik Blog
Antw:Wie detektierte Bewegung von Motuion Eye an fhem leiten
« Antwort #10 am: 08 Juli 2018, 19:49:42 »
kannst Du das etwas genau sagen
Zitat
funktioniert von meinem Radio-Pi aus, aber vom Motion Eye Pi leider nicht.
Gibt es Fehlermeldungen? Fehlt da curl oder awk?

Ich habe hier noch die neue Variante, wo Du nur am Anfang einmal den Host:Port und den Befehl, so wie er normal ist, eingibst:
h='192.168.178.44:8083'; c='set Lampe_Korridor on'; curl --data "fwcsrf=$(curl -s -D - http://$h/fhem?XHR=1 | awk '/X-FHEM-csrfToken/{print $2}')" http://$h/fhem?cmd=$(echo $c|sed 's/ /%20/g')
Wenn das auf dem motioneye schwierig ist zum nachinstallieren geht natürlich Helmuts Ansatz. Richte ssh vom motioneye aus ein und mach es darüber.


Gruß Otto
Viele Grüße aus Leipzig
RaspberryPi,HMLAN,HMUART,Homematic,Fritz!Box 7490,Sonos,ET9200,Arduino nano,ESP8266

Offline Invers

  • Hero Member
  • *****
  • Beiträge: 1607
Antw:Wie detektierte Bewegung von Motuion Eye an fhem leiten
« Antwort #11 am: 08 Juli 2018, 19:58:10 »
Das funktioniert vom anderen Pi aus. Aber aus dem Programm heraus leider nicht. Ich kann auch nicht sagen, was da genau installiert ist, weil das irgendwie ja ein eigenes Betriebssystem zu sein scheint. Heisst ja auch motion eye os.
Ich fürchte fast, ich werde hier nicht weiterkommen. Vielleicht muss ich beim dortigen Programmierer nachfragen.
Schade, weil es eigentlich sehr gut funktioniert. Wenn es sich aber nicht auswerten lässt, ist es für meine Zwecke nicht zu gebrauchen.
Danke an alle. Waren coole Tipps. Aber das Teil ist echt bockig.

So, geht leider alles nicht, weil:

-------------------------------
Can I install <some package>?

No, you cannot. motionEyeOS is not a general purpose Linux distribution, but rather a camera firmware. Moreover, its system partition is read-only and should not be modified.

Your best option is to use motionEye on top of a general purpose Linux distro, on which you'll probably be able to install your favorite packages.

If you really want your package to be part of motionEyeOS and you have the required skills, you could build motionEyeOS from source, after adding your package to the BuildRoot configuration.
-------------------------------



Ich werde also wechseln und dann die Zeile

h='192.168.178.44:8083'; c='set Lampe_Korridor on'; curl --data "fwcsrf=$(curl -s -D - http://$h/fhem?XHR=1 | awk '/X-FHEM-csrfToken/{print $2}')" http://$h/fhem?cmd=$(echo $c|sed 's/ /%20/g')

nutzen.

Vielen Dank nochmals an alle, die geholfen haben, besonders an Otto.
« Letzte Änderung: 08 Juli 2018, 20:09:35 von Invers »
Pi3B Stretch | F.-Box 7490 | CUL 433 | CUL 868 | SDuino | HM-LAN | 12 x Dect200 | 5 x TX3TH | 3 x Heizung FHT + Fensterkont. | KeyMatic + 2 FB mit 4 Tasten | Wandtaster 2-fach m. LED | 6 x Türkontakt TFK-TI | HM-Bew.-Melder aussen + innen | 3 x R.-Melder HM-SEC-SD-2 | SAT Gigablue quad plus

Offline Otto123

  • Hero Member
  • *****
  • Beiträge: 9660
    • Otto's Technik Blog
Antw:Wie detektierte Bewegung von Motuion Eye an fhem leiten
« Antwort #12 am: 08 Juli 2018, 20:23:58 »
Aber Helmuts Ansatz würde wohl gehen:
https://github.com/ccrisan/motioneyeos/wiki/SSH-Client-On-motionEyeOS

Eventuell ginge auch der Web Hook - aber wie?

Gruß Otto
Viele Grüße aus Leipzig
RaspberryPi,HMLAN,HMUART,Homematic,Fritz!Box 7490,Sonos,ET9200,Arduino nano,ESP8266

Offline Invers

  • Hero Member
  • *****
  • Beiträge: 1607
Antw:Wie detektierte Bewegung von Motuion Eye an fhem leiten
« Antwort #13 am: 08 Juli 2018, 23:44:11 »
Jetzt bekomme ich alle Befehle, die hier vorgeschlagen wurden, vom Cam-Pi abgearbeitet. Aber aus dem Motioneye geht nichts.
@Otto:
Ich fürchte, dass ich dem letzten Tipp mangels fehlender Englischkenntnisse nicht folgen kann, aber ich werde versuchen, mich durchzukämpfen.
Pi3B Stretch | F.-Box 7490 | CUL 433 | CUL 868 | SDuino | HM-LAN | 12 x Dect200 | 5 x TX3TH | 3 x Heizung FHT + Fensterkont. | KeyMatic + 2 FB mit 4 Tasten | Wandtaster 2-fach m. LED | 6 x Türkontakt TFK-TI | HM-Bew.-Melder aussen + innen | 3 x R.-Melder HM-SEC-SD-2 | SAT Gigablue quad plus

Offline Otto123

  • Hero Member
  • *****
  • Beiträge: 9660
    • Otto's Technik Blog
Antw:Wie detektierte Bewegung von Motuion Eye an fhem leiten
« Antwort #14 am: 09 Juli 2018, 09:42:04 »
Moin,

naja das mit dem ssh einrichten ist ansich nicht so schwierig. Ich kann Dir die Schritte übersetzen. Die Konfiguration von MotioneyeOs ist dabei etwas speziell, aber das sollte gehen.

Der Pfad /data/etc ist nämlich beschreibbar, ansonsten ist motioneyeOs read only
Die Befehle nimmst Du bis auf 4. aus dem Link so wie sie sind :)
Du loggst Dich lokal oder per ssh auf dem MotionEyeOs ein.

1. Erzeuge einen ssh Key Pärchen für das OS, beantworte alle Fragen einfach mit einem enter. Besonders die  passphrase muss leer bleiben.
2. Sag dem ssh Client wo seine private Key ist. Es wird einfach ein Konfigfile erzeugt.
3. Sag dem ssh Client wo er die known_hosts speichern soll.
Jetzt wird es spannend
4. Du musst den Public Key von MotionEyeOs zu Dir bekommen, also eigentlich
cat /data/etc/ssh_id_rsa.pub | ssh pi@deinfhemhost 'cat >>.ssh/authorized_keys'Dabei fragt er Dich nach dem Passwort und ob er deinen Host in die Liste known_hosts speichern soll.
5. Abschließend testen ob die Verbindung ohne Abfrage Passwort funktioniert.

Gruß Otto
« Letzte Änderung: 09 Juli 2018, 11:18:48 von Otto123 »
Viele Grüße aus Leipzig
RaspberryPi,HMLAN,HMUART,Homematic,Fritz!Box 7490,Sonos,ET9200,Arduino nano,ESP8266

 

decade-submarginal