DoorPi-Projekt

Begonnen von Syntaxterror, 25 Februar 2016, 18:39:59

Vorheriges Thema - Nächstes Thema

HoTi

Super pah! Das geht ja schlag auf schlag bei dir, wahnsinn... danke

Das Modul funktioniert schon mal, auch wenn ich die zwei Einträge oben nicht verstehe aber das finde ich auch noch raus.

Viele Grüße aus  Oberbayern
Tim (RettungsTim)

Prof. Dr. Peter Henning

Die erste Spalte wird normalerweise von Miniaturen der snapshots gefüllt (oder entsprechenden Icons), die auf das "große" Bild verlinken. In der letzten Spalte sollte ein Link auf das Recording = Audiodatei stehen (oder Icon).

LG

pah

HoTi

Hallo pah,

ich arbeite mich immer weiter in diese DoorPi Funktionen ein um zu verstehen was du da machst.

Dabei sind mir drei Fragen aufgekommen:

1. Deine zur Verfügung Gestellen Dateien, also *.sh und *.py komme alle in das Verzeichnis /home/doorpi/, oder? Zumindest rufst du die purge.sh von dort auf.
2. Wo und wann rufst du die anderen Dateien auf?
3. Wer muss der Besitzer der Dateien sein und welche rechte müssen diese haben?

Wenn du diese Fragen lieber im DoorPi Forum hättest, sag mir bitte kurz wo ich diese Posten soll oder ob ich einen neues Thema anfangen soll.
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

Prof. Dr. Peter Henning

Zitat1. Deine zur Verfügung Gestellen Dateien, also *.sh und *.py komme alle in das Verzeichnis /home/doorpi/, oder? Zumindest rufst du die purge.sh von dort auf.
Ja, das ist das Einfachste. Kann man aber auch woanders ablegen, dann muss der komplette Pfad in die doorpi.ini.
Zitat.
2. Wo und wann rufst du die anderen Dateien auf?
Auch aus der doorpi.ini.
Zitat3.Wer muss der Besitzer der Dateien sein und welche rechte müssen diese haben?
Besitzer egal, sie müssen aber duch den root:staff (=DoorPi-User in der derzeitigen Standard-Installation) ausführbar sein. Und die "purge.sh" muss mit diesem User recordings löschen können.

LG

pah

HoTi

#154
Danke für die Infos.

Jetzt kommt wieder eine Frage wo du vielleicht mit den Augen rollst, sorry:

Was macht  genau macht der set Befehl ,,purge"?
Ich habe verstanden: Löschen der Rekords und ausführen des Clear Befehl.

Aber meine Letzen Calls bleiben im Modul stehen, was habe ich da wieder falsch gemacht?

*edit* Meine Grammatik ist wieder fürchterlich... ich hoffe so kann man es jetzt verstehn
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

Prof. Dr. Peter Henning

Nach einem Neustart von DoorPi bleiben die ganzen recordings leider stehen, ohne in der Liste aufzutauchen - die SD-Karte wird davon sehr schnell verstopft. Zu diesem Zweck habe ich mir eigentlich das "purge" ausgedacht - bedeutet "Säuberung". Damit werden alle Dateien entfernt, die vor dem letzten Neustart aufgenommen worden sind. Das "clear" hingegen soll alle löschen - auch diejenigen, die noch in der Liste stehen. Das ist alles noch nicht ausgetestet, insbesondere weiß ich noch nicht, ob das wirklich so eine gute Idee ist.

LG

pah

HoTi

#156
Hallo pah,

ich habe gerade gesehen das du die Scripte aus dem git genommen hast, diese aber noch in der ini aufrufst.

Gibt es da etwas neues?


*edit* In der *.ini steht das es noch nicht funktioniert, habe ich gerade gesehen.  ;D

Leider habe ich noch nicht verstanden wo die url_call.py hin kommt. Kannst du mir das bitte noch sagen?!

*edit*
Wer suchet der findet:

Zitat/usr/local/lib/python2.7/dist-packages/doorpi/action/SingleActions/url_call.py
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

HoTi

Hallo pah,

wollte gerade deine neue Version ausprobieren. Die geht leider nicht.

Hier die Fehlermeldungen:

Useless use of anonymous hash ({}) in void context at ./FHEM/70_DoorPi.pm line 157, <$fh> line 2189.
Bareword found where operator expected at ./FHEM/70_DoorPi.pm line 243, near "$key n"
(Missing operator before n?)
String found where operator expected at ./FHEM/70_DoorPi.pm line 243, near "n "door""
(Do you need to predeclare n?)
Variable "$value" is not imported at ./FHEM/70_DoorPi.pm line 267, <$fh> line 2189.
Variable "$name" is not imported at ./FHEM/70_DoorPi.pm line 268, <$fh> line 2189.
Variable "$name" is not imported at ./FHEM/70_DoorPi.pm line 269, <$fh> line 2189.
Variable "$key" is not imported at ./FHEM/70_DoorPi.pm line 274, <$fh> line 2189.
"my" variable $hash masks earlier declaration in same scope at ./FHEM/70_DoorPi.pm line 278, <$fh> line 2189.
"my" variable $hash masks earlier declaration in same scope at ./FHEM/70_DoorPi.pm line 282, <$fh> line 2189.
"my" variable $light masks earlier declaration in same scope at ./FHEM/70_DoorPi.pm line 282, <$fh> line 2189.
"my" variable $value masks earlier declaration in same scope at ./FHEM/70_DoorPi.pm line 283, <$fh> line 2189.
"my" variable $hash masks earlier declaration in same scope at ./FHEM/70_DoorPi.pm line 288, <$fh> line 2189.
"my" variable $value masks earlier declaration in same scope at ./FHEM/70_DoorPi.pm line 289, <$fh> line 2189.
"my" variable $hash masks earlier declaration in same scope at ./FHEM/70_DoorPi.pm line 294, <$fh> line 2189.
2016.05.04 10:44:22 1: reload: Error:Modul 70_DoorPi deactivated:
syntax error at ./FHEM/70_DoorPi.pm line 243, near "$key n "
syntax error at ./FHEM/70_DoorPi.pm line 260, near "){"
syntax error at ./FHEM/70_DoorPi.pm line 267, near "}elsif"
Global symbol "$value" requires explicit package name at ./FHEM/70_DoorPi.pm line 267, <$fh> line 2189.
Global symbol "$name" requires explicit package name at ./FHEM/70_DoorPi.pm line 268, <$fh> line 2189.
Global symbol "$name" requires explicit package name at ./FHEM/70_DoorPi.pm line 269, <$fh> line 2189.
Global symbol "$hash" requires explicit package name at ./FHEM/70_DoorPi.pm line 271, <$fh> line 2189.
Global symbol "$door" requires explicit package name at ./FHEM/70_DoorPi.pm line 271, <$fh> line 2189.
Global symbol "$key" requires explicit package name at ./FHEM/70_DoorPi.pm line 274, <$fh> line 2189.
syntax error at ./FHEM/70_DoorPi.pm line 298, near "}"
./FHEM/70_DoorPi.pm has too many errors.

2016.05.04 10:44:22 0: syntax error at ./FHEM/70_DoorPi.pm line 243, near "$key n "
syntax error at ./FHEM/70_DoorPi.pm line 260, near "){"
syntax error at ./FHEM/70_DoorPi.pm line 267, near "}elsif"
Global symbol "$value" requires explicit package name at ./FHEM/70_DoorPi.pm line 267, <$fh> line 2189.
Global symbol "$name" requires explicit package name at ./FHEM/70_DoorPi.pm line 268, <$fh> line 2189.
Global symbol "$name" requires explicit package name at ./FHEM/70_DoorPi.pm line 269, <$fh> line 2189.
Global symbol "$hash" requires explicit package name at ./FHEM/70_DoorPi.pm line 271, <$fh> line 2189.
Global symbol "$door" requires explicit package name at ./FHEM/70_DoorPi.pm line 271, <$fh> line 2189.
Global symbol "$key" requires explicit package name at ./FHEM/70_DoorPi.pm line 274, <$fh> line 2189.
syntax error at ./FHEM/70_DoorPi.pm line 298, near "}"
./FHEM/70_DoorPi.pm has too many errors.
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

Prof. Dr. Peter Henning

#158
Öh.

Mal sehen...

Edit: selten, dass mit peinliche Fehler passieren - da habe ich eine Zwischenversion eingecheckt. Also anbei die Korrigierte, sie geht auch gleich ins Repository. Und ist bei mir im Produktivsystem getestet, ohne Fehler.

LG

pah

HoTi

#159
Wenn dich meine Testerrei stört musst du es sagen, ich möchte dir nicht damit auf die Nerven gehen.

Wie ist das mit Button2? Der funktioniert bei mir irgendwie nicht, habe ich da was falsch in der *.ini stehen?

[EVENT_OnKeyPressed_webservice.button2]
10 = os_execute:echo '{ReadingsVal("A.Haus.T","call_number",**621)}' | socat -t50 - TCP:192.168.178.34:7072 > /home/doorpi/callnumber


A.Haus.T habe ich aus Dummy angelegt.
192.168.178.34 ist meine FHEM IP

Und wenn ich das richtig verstanden habe muss in callnumber eine Nummer drin stehen. Da steht jetzt nur **621 drin.

*edit*

Gerade dein edit gesehen. Neue Datei geht zu laden, ich teste wieder.

Viele Grüße aus  Oberbayern
Tim (RettungsTim)

Prof. Dr. Peter Henning

Erstens darf A.Haus.T kein Dummy sein - das ist bei mir das DoorPi Device

define A.Haus.T DoorPi 192.168.0.51
attr A.Haus.T group DoorControl
attr A.Haus.T iconaudio audio_volume_high
attr A.Haus.T iconpic user_unknown
attr A.Haus.T room Erdgeschoss,Kontrollraum


Zweitens muss auf dem DoorPi-Rechner natürlich socat installiert sein - man kann einfach das Kommando

echo '{ReadingsVal("A.Haus.T","call_number",722622)}' | socat -t50 - TCP:192.168.0.90:7072 > /home/doorpi/callnumber

direkt in einer Shell testen.

Drittens habe ich in der allerneuesten Version noch etwas mit den Bezeichnungen herumgespielt, um die Lesbarkeit der readings zu verbessern.

Dabei werden künftig ersetzt

call_number => call_target
number_calls => call_listed
history => call_history

Muss man dann ggf. beachten.

Ferner gibt es demnächst ein neues set-Kommando: Mit "set <device> target 2" wird der DoorPi-Anruf bis auf Weiteres auf die Rufnummer umgeleitet, die im Attribut "target2" steht. Dazu wird diese in "call_target" gespeichert und DoorPi veranlasst, sich diese Nummer zu holen.

LG

pah

Prof. Dr. Peter Henning

OK, Version 1.0beta6 eingecheckt. Funktioniert prima

(http://doorpi.png)

LG

pah

HoTi

#162
noch steht in git das die letzte version vor 24h eingecheckt wurde  ;D Ich hab gerade Zeit  ;D ;D
*edit* Ich sollte auch auch sourceforce suchen und nicht auf der Spiegelung im git :-(

Nur zum Verständniss. Warum nutzt du in der INI einmal die Port 8083 und einmal den 8085 Port für dein Fhem?

Und wenn ich jetzt button2 aufrufe bekomme ich in der callnumber Datei folgenden inhalt:

syntax error at (eval 35292) line 1, near "**621"
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

Prof. Dr. Peter Henning

Nur zum Verständniss. Warum nutzt du in der INI einmal die Port 8083 und einmal den 8085 Port für dein Fhem?

Oh, das ist Zufall, kann beide Male gleich gesetzt werden. 8085 ist der Tablet-FHEMWEB-Zugang

Was liefert denn der direkte Aufruf

echo '{ReadingsVal(<Devicename>,"call_target",<irgendwas>)}' | socat -t50 - TCP:<FHEM-URL>:7072

in einer Shell ?

LG

pah

HoTi

#164
Da gibt es keine Rückmeldung.

root@raspberrypi:~# echo '{ReadingsVal("A.Haus.T","call_number",**621)}' | socat -t50 - TCP:192.168.178.34:7072 > /home/doorpi/callnumber
root@raspberrypi:~#


Das steht dann in der FHEM Log

2016.05.04 21:32:56 1: PERL WARNING: Number found where operator expected at (eval 35765) line 1, near "**621"
2016.05.04 21:32:56 3: eval: {ReadingsVal("A.Haus.T","call_number",**621)}


*edit*

Mir ist da noch was aufgefallen. der Link zum records stimmt nicht. Als Link in FHEM ist angegeben:

http://192.168.178.44/2016-05-04_21-57-59.wav

Richtig wäre aber:

http://192.168.178.44/2016-05-04_21-57-56.wav

Und noch was, sollte nicht oben das gemachte Foto in klein sein?
Viele Grüße aus  Oberbayern
Tim (RettungsTim)