Webservice Update
Es wurden jetzt Webservices hinzugefügt. Bitte beachten, dass die Parameter mittels url encode behandelt werden, sonst kommt es zu unerwünschten Nebeneffekten.
trigger_event = das starten eines Events im Namen einer beliebigen Quelle
Parameter event_name: Name des Events
Parameter event_source: Name der Quelle
Beispiel: http://{DoorPi Ip-Adresse}/control/trigger_event?event_name=OnTimeYear&event_source=action.SingleActions.time_tick
Das Beispiel löst das Event OnTimeYear im Namen der Quelle action.SingleActions.time_tick aus
config_value_get = Hole den String eines Parameters aus der Config-Datei
Parameter section: Name der Config-Sektion
Parameter key: Name des Config-Keys
Parameter default = '': optional und gibt einen Default-Wert an
Parameter store = 'True': optional und gibt an ob der Key mit dem Default-Wert gespeichert werden soll, wenn es den nicht gibt
Beispiel: http://{DoorPi Ip-Adresse}/control/config_value_get?section=DoorPiWeb&key=port&default=80&store=false
config_value_set = Setze einen neuen Config-Wert
Parameter in Kurzform: section, key, value, password = 'False'
Beispiel: http://{DoorPi Ip-Adresse}/control/config_value_set?section=DoorPiWeb&key=port&value=80
config_value_delete = Lösche einen Wert aus der Config (Achtung: Damit ist die Config noch nicht in einer Config-Datei geschrieben!)
Parameter in Kurzform: section, key
Beispiel: http://{DoorPi Ip-Adresse}/control/config_value_delete?section=DoorPiWeb&key=port
config_save = Speichere die Config ab - nutze dazu die übergebene Config-Datei, oder einen Standard-Wert wie !BASEPATH!/conf/doorpi.ini
Parameter configfile = '': optional Name und Pfad zur Config
Beispiel: http://{DoorPi Ip-Adresse}/control/config_save
Funktioniert jetzt wunderbar. Die Reaktionszeit beträgt jetzt ca 1 Sekunde, womit ich aber leben kann.
Der Grund, weshalb ich den Weg gerne den Weg über USB und Arduino gehen würde, ist, dass der Ort der Klingel ca 20m von dem DoorPi entfernt ist. und nun möchte ich nicht extra Kabel für Taster, Lautsprecher und Mic legen, wenn ich sowieso USB für die Webcam legen muss. daher 20 usb-kable mit eingebautem repeater am ende noch ein aktiven usb-hub und fertig.
Ich weiß nicht was Du mit Verzeichnisstruktur meinst.
Ich habe am Wochenende viel Zeit investiert und die Installationsroutine umgestellt auf eine setup.py.
Da ich das zum ersten Mal gemacht habe, hat nicht gleich alles funktioniert.
Seit Sonntag Abend haben wir eine funktionierende Setup-Routine mit prüfung aller nötigen Abhängigkeiten. Getestet wurde von mit ein aktuelles Rasbian wheezy und von zwei anderen RaspPBX bzw jessy.
Wenn es bei Dir zu Problemen kommt, dann bräuchte ich die Angabe der Umgebung (Pi, OS, …) und eine etwas umfangreichere Beschreibung der Fehler.
Richtig - DoorPi läuft grundsätzlich auch erst einmal ohne Config-Datei und ist dann über die Weboberfläche zu erreichen. Da die Beispiel-Config zu so vielen Nachfragen geführt hat, habe ich mich entschlossen, die Beispiel-CFG aus dem Repository zu entfernen. Ich helfe gern beim Erstellen einer neuen Config-Datei, wenn ich weiß was rings herum alles benötigt wird.
Dann würde mich die Config und die Log-Datei interessieren.
Wenn DoorPi mit dem Parameter --trace gestartet wird, dann ist die Log-Datei sehr aussagekräftig und ich konnte damit bisher fast jedes Problem lösen. Ohne Config und ohne Log ist es für mich schwer Dir wirklich effektiv zu helfen.
Nein - auf GitHub ist immer die aktuellste Version zu finden. Es ist allerdings auch ein kurzer Aktualisierungs-Intervall, wenn Probleme entdeckt und gemeldet werden.
Ich versuche gerade die Release-Planung und Veröffentlichung umzustellen.
Auf GitHub wird es die Entwicklung geben und die Releases werden auf pypi zu finden sein. So kann jeder entscheiden ob er ein Release oder einen „snapshot“ nutzen will.
Mich würde auch hier interessieren, was hat nicht geklappt, was war die Fehlermeldung, was hast Du statt dessen erwartet, wo gab es Probleme, …
Eine Log-Datei mit trace-Level (siehe oben) und eine Config-Datei (ohne Passwörter) würde mir beim Support massiv helfen…
Dann sollte DoorPi laufen. Parallel dazu sagst du mir, was Du hast (Hardware, PiFace?, …) und was Du erreichen möchtest und wir bauen Dir zusammen eine passende Config.
Im Anschluss daran richten wir DoorPi als daemon ein und testen auch das.
Abschließend hast Du eine lauffähige Version von DoorPi mit all Deinen Wünschen.
Wenn es zwischendurch zu Fehlern kommen sollte, dann brauche ich bitte genau Angaben, was hat wann an welchem Schritt nicht funktioniert. Idealerweise hängst Du die DoorPi-Log als Anlage dran und ich schau drüber…
Dadurch wird die aktuelle Version geladen und im Ordner /tmp/DoorPi abgelegt. Dort wird die Installation ausgeführt und die doorpi nach /etc/init.d/doorpi kopiert.
Anschließend diese Datei für System-Start und -Ende registriert und DoorPi in einem test-Modus gestartet.
Sollte dieser Test erfolgreich gewesen sein, wird der daemon gestartet.
Entweder wird das Verzeichnis-Zeugs angelegt unter:
1.) /usr/local/etc/DoorPi
2.) /home/pi/DoorPi
Je nach dem ob der User auf /usr/local/etc Schreibzugriff hat oder nicht.
An der Stelle die Bitte: Eröffnet Issues auf GitHub zu Euren Problemen und packt log + config mit als Anlage dazu. Lest Euch die Fehlermeldungen mit --trace Level durch, manchmal hilft das schon um den Fehler selbst zu finden. Wenn Ihr Euren Pi nicht nur für DoorPi verwendet, dann schreibt das bitte mit in den Issue rein (+ die Info was sonst noch läuft). Eventuell gibt es später mal in der Weboberfläche von DoorPi die Möglichkeit, dass alles mit einem Klick zu erledigen. So lange ist es ein wenig Handarbeit für Euch…
Rückmeldung / Kritik / Anregungen / … sind herzlich willkommen. Entweder hier, im forum-raspberrypi.de oder am Besten direkt auf GitHub.
Schau mal bitte, ob die Datei schon unter /etc/init.d/doorpi vorhanden ist.
Zum Start von DoorPi versuch mal bitte
sudo doorpi_cli --trace
Danach schau noch einmal in den Ordner
/usr/local/etc/doorpi
Was ist da jetzt alles drin?
also ich muss schon sagen, die 2.4.6.1 der Doorpi läuft super. Ich habe hier einen fliegenden Aufbau aber die Qualität und Stabilität ist schon fein. Ich habe mir das PiFace2 bestellt und überlege dann alles umzubauen.
Wie habt Ihr eure Verdrahtung gelöst? Ich habe nur ein 4x2x0,6 an der Stelle wo die Klingel hinsoll.
Die Raspi würde ich nicht außen lassen wollen sondern im Keller.
2x Drähte für Mikro,
2x Drähte für Lautsprecher,
2x Drähte für Klingel,
2x Drähte um die Tasten der Klingel zu beleuchten.
Damit wäre alles weg und ich weiß noch nichtmal ob das gut funktionieren würde (weil halt alles „ungeschützt“ durch das 4x2 muss).
habe die version 2.4.1.6 erfolgreich installiert.
scheint zu laufen, komme auf das weblogin.
doch nun stellt sich mir die frage, wo finde ich die login daten, bzw. wo kann ich diese setzen?
bin sehr dankbar für jede hilfe.
power09
–> habs gefunden. habe die entsprechnde forumseite beim durchstöbern übersehen…
als erstes ein großes Danke für die Arbeit die hier investiert wurde. Das alles neben dem Job noch an den Start zu bringen finde ich immer wieder faszinierend.
Ich habe aktuelle Version installiert und die ersten Erfolgt verzeichnen können. Bei ein paar Problemen brauch ich nun aber doch Hilfe :
die IPS API ist bei mir nur per SSL ( https ) zu erreichen. Setze ich im Config-File einfach https ein, bekomme ich
in DoorPi einen SSL Fehler . Gibt es dafür eine Lösung ?
Ich habe die Grundinstallation noch ohne die externe Soundkarte gemacht. Kannst du mir helfen, welche Einträge ich in
der doorpi.ini ändern muss, damit ich die USB Soundkarte ( Conrad Headsetadapter ) nutzen kann.
cat /proc/asound/cards | grep ]: | sed ‚s/.* - //‘ --> ergibt : USB Audio Device
doorpi.ini : playback_device = ALSA: USB Audio Device --> kein Device mit dem Namen gefunden ?!
Vielen Dank
Edit 10.1. 19:30 : Sound funktioniert, bleibt das „Problem“ der IPS Anbindung
ich habe eine Frage zu JSON-RPC zu IP-Symcon. Ich möchte gerne eine boolean-variable bei einem Anruf setzen um das Webfrontend automatisch bei einem Anruf umzuschalten.
Leider aber, klappt das nicht wie auf Seite eins beschrieben.
AttributeError: 'NoneType' object has no attribute 'start_recording'
2016-01-10 19:59:52,260 [INFO] [requests.packages.urllib3.connectionpool] Starting new HTTP connection (1): XXX.fritz.box
2016-01-10 19:59:52,293 [ERROR] [doorpi.action.SingleActions.ipsrpc_setvalue] couldn't send IpsRpc ('instancemethod' object has no attribute '__getitem__')
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/doorpi/action/SingleActions/ipsrpc_setvalue.py", line 50, in ips_rpc_set_value
if ips_rpc_check_variable_exists(key, config) is not True: raise Exception("var %s doesn't exist", key)
File "/usr/local/lib/python2.7/dist-packages/doorpi/action/SingleActions/ipsrpc_setvalue.py", line 40, in ips_rpc_check_variable_exists
return response.json['result']
TypeError: 'instancemethod' object has no attribute '__getitem__'
Habt Ihr eine Idee? Variable existiert natürlich in IPSymcon
ich hab nun die Verbindung zu einem anderen IPS ohne HTTPs öffnen können, habe aber genau den Fehler den du hast, also Variable existiert angeblich nicht .
Thomas scheint aktuell hier nicht mitzulesen, wir können nur warten.
ich habe das anders gelöst, ich lasse bei Rufaufbau ein Shellscript starten, dieses wiederrum ruft mit Curl eine Webseite auf, die die Variable schaltet.