DoorPi-Projekt

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

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

#660
Erst einmal Frohe Ostern an Alle.

Nach langer (sehr langer) Zeit habe ich mir mal wieder die DoorPi-Sache vorgenommen.

Erstens habe ich mit der DoorPi-Platine ein komplettes Zweitsystem aufgebaut (und daran scheiterte das lange Zeit, weil man einen ordentlichen Aufbau nun mal nicht eben nebenbei machen kann). Ergebnis: Sehr zufrieden mit der Hardware.

Jetzt wird es schrittweise weiter gehen.

Erste Anpassung der Software: Ich habe endlich in die Datei FHEMHelper.sh eine Änderung eingebaut, die es nicht mehr erfordert, den csrf-Token auf dem FHEM-Instanz abzuschalten. Werde ich natürlich auch als Version 2.0 in dem zugehörigen contrib-Ordner posten, für Eilige hier die Änderung: Den Code-Abschnitt FHEM path in der FHEMHelper.sh ersetzen durch
### FHEM path ###
if [ $FHEMHTTPS = "true" ]; then
        csrf=`$curlprog -s -D - "https://$FHEMIP:$FHEMPORT/fhem?XHR=1" | awk '/X-FHEM-csrfToken/{print $2}' | tr -d "\r\n"`
        FHEM="https://$FHEMIP:$FHEMPORT/fhem?XHR=1&fwcsrf=$csrf&cmd.$FHEMDP"
else
        csrf=`$curlprog -s -D - "http://$FHEMIP:$FHEMPORT/fhem?XHR=1" | awk '/X-FHEM-csrfToken/{print $2}' | tr -d "\r\n"`
        FHEM="http://$FHEMIP:$FHEMPORT/fhem?XHR=1&fwcsrf=$csrf&cmd.$FHEMDP"
fi


EDIT: Das temporär aufgetretene Problem mit der Anzeige der Callist ist behoben - siehe angehängte Version.

Den Arduino-Sketch werde ich ebenfalls umbauen, u.a. den PostBox-Mechanismus fest hineinsetzen. Allerdings etwas verändert. Hintergrund ist, dass ich einen Briefkasten zum Durchstecken besitze - und somit nicht auf eine Leerung warten muss. Nur gerne dem Trottel, der immer die Post nur hineinklemmt, durch die Sprechanlage ein "Bitte stecken sie das richtig hinein !" zurufen lassen...
Evtl. lässt sich das realisieren, indem man den Arduino durch einen Jumper o.ä. an verschiedenen Anschlüssen konfigurierbar macht.

Es ist also auch jetzt Zeit, Änderungswünsche für die 70_DoorPi.pm zu diskutieren. Die wird nach dem Umbau auch nicht mehr zum Contrib-Ordner, sondern wird in der regulären Distribution sein.

LG

pah

EDIT: Statt der "experimentellen" Version jetzt eine ordentlich umgebaute Version, die ein paar Probleme behebt.

Bastian0302

#661
Schönen guten Abend.

Ist es möglich einen eigenen set befehl zu definieren.
Folgendes.
Habe Nextiondisplay an doorpi und möchte das fhem sagt  "set doorpi nextionpage 1"
Habe schon versucht in der Doorpi.ini
[webservice_InputPins]
streamon        = sleep:0
streamoff       = sleep:0
richtige_id = sleep:0
falsche_id = sleep:0
nextionpage1 = sleep:0

aber dann bekomme ich im fhemweb nur die auswahl "set doorpi nextionpage1"
aber das bewirkt nichts..

Prinzipiell funktioniert aber filesystem, da der set befehl  "set doorpi stream on" funktioniert.
Nur bei selbst definierten "inputs" reagiert er nicht.

Darum meine Frage: muss ich irgendwas noch konfigurieren, dass er genau wie bei stream das selbe für nextion machen würde

Nachtrag:
Wenn ich im browser das event nextionpage1 aufrufe funktioniert es.
D.h. fhem seitig wird der Befehl nicht abgesendet.
Wenn ich in fhem den event monitor Aufrufe wird der Set Befehl angezeigt.
Raspbarry Pi 3, Panstamp NRG 2, Cul 433Mhz Sender/Empfänger, Mcp23017 Ein/Ausgabebaugruppe, TabletUi, Doorpi mit Nextion/RFID und Integration in Fhem, Sonos

Prof. Dr. Peter Henning

Dafür gibt es die set ... button Befehle

LG

pah

Bastian0302

Vielen Dank.
Hab mir dann doch aus schönheitsaspekten ;) ein attr nextionpage0,1,2,3 hinzugefügt und funktioniert. ;)
Danke nochmal für den Tipp.
Raspbarry Pi 3, Panstamp NRG 2, Cul 433Mhz Sender/Empfänger, Mcp23017 Ein/Ausgabebaugruppe, TabletUi, Doorpi mit Nextion/RFID und Integration in Fhem, Sonos

Jamspoon

Einen schönen Guten Abend,

ich versuche auch gerade meinen DoorPi in FHEM zu integrieren.
DoorPi und FHEM laufen auf getrennten RaspberryPi's.

Ich schätze es scheitert an der Installation von JSON und Test::JSON auf dem FHEM-Raspberry.

Ich erhalte am Ende der JSON Installation mit sudo cpan -f -i JSON  folgende Meldung:


All tests successful.
Files=60, Tests=3715, 21 wallclock secs ( 2.11 usr  0.24 sys + 19.25 cusr  0.83 csys = 22.43 CPU)
Result: PASS
  ISHIGAKI/JSON-2.97001.tar.gz
  /usr/bin/make test -- OK
Running make install
Manifying 5 pod documents
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Can't create '/usr/local/man/man3'
mkdir /usr/local/man: File exists at /usr/share/perl/5.24/ExtUtils/Install.pm line 477.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
at -e line 1.
Makefile:742: die Regel f▒r Ziel ▒pure_site_install▒ scheiterte
make: *** [pure_site_install] Fehler 17
  ISHIGAKI/JSON-2.97001.tar.gz
  /usr/bin/make install  -- NOT OK


und bei der Test::JSON installation


All tests successful.
Files=4, Tests=37,  1 wallclock secs ( 0.13 usr  0.03 sys +  0.55 cusr  0.08 csys =  0.79 CPU)
Result: PASS
  OVID/Test-JSON-0.11.tar.gz
  /usr/bin/make test -- OK
Running make install
Manifying 1 pod document
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Can't create '/usr/local/man/man3'
mkdir /usr/local/man: File exists at /usr/share/perl/5.24/ExtUtils/Install.pm line 477.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
at -e line 1.
Makefile:710: die Regel f▒r Ziel ▒pure_site_install▒ scheiterte
make: *** [pure_site_install] Fehler 17
  OVID/Test-JSON-0.11.tar.gz
  /usr/bin/make install  -- NOT OK


Kann mir bei diesem Problem evtl jemand weiter helfen?

Vielen Dank vorab.

Jamspoon


Having trouble in Windows? Reboot! Having trouble in Linux? Be root!

Prof. Dr. Peter Henning

Scheint ein Rechteproblem zu sein, die Installation sollte als root durchgeführt werden.

LG

pah

Jamspoon

Guten Morgen PAH,

vielen Dank für schnelle und vor allem sehr zeitige Antwort.
Die Installation als Benutzer root habe ich soeben noch einmal probiert, leider mit der selben Meldung wie mit den Benutzer pi.

LG

Jamspoon
Having trouble in Windows? Reboot! Having trouble in Linux? Be root!

Prof. Dr. Peter Henning

Der Ordner "/usr/local/man/man3" hat die falschen Rechte.

LG

pah

Jamspoon

Hallo PAH,

jetzt wird's lustig, es waren nicht nur die Rechte die gefehlt haben, sondern der Ordner /man war auf meinem FHEM-Pi
nur als Verknüpfung mit dem Verweis auf mein NAS-Backup-Verzeichnis. Warum auch immer...

Ich habe die Verknüpfung entfernt und den Ordner unter root neu angelegt, dann cpan JSON && cpan Test::JSON angeschupst und
schon lief die Sache durch.

Jetzt habe ich den DoorPi in FHEM angelegt bekomme aber bei get config, get history also im Grunde bei allen Befehlen die ich dort ausführe
ein Popup mit dieser Meldung.



fhem?detail=RASPI_DOORPI&fw_id= line 1:
Uncaught SyntaxError: Unexpected token i in JSON at position 0



Drunter ist aber jeweils das Popup mit der --> OK Betätigung. Woran liegt das?

Woher bekomme ich eigentlich die aktuellste 70_Doorpi.pm, FHEMHelper.sh und fhemweb_doorpicalllist.js
bzw. werden diese automatisch beim update von FHEM aktualisiert?

Ich muss sagen das was Du da auf die Beine gestellt hast verdient wirklich Respekt, aber eine kleine Anmerkung hätte ich dennoch.

Ich lese nun schon seit einigen Wochen im FHEM- bzw. im DoorPi Forum und sehe natürlich auch ein, das diese Entwicklung von DoorPi
und auch die Anbindung an FHEM alles in knapp bemessener Freizeit entsteht, aber ich habe bisher noch keine wirklich durchgängige und einfach aufgebaute "Anleitung" oder eher Beschreibung gelesen, wo von Anfang bis Ende ein komplett funktionierender DoorPi mit FHEM-Anbindung beschrieben ist. Zumindest habe ich Probleme damit unter Raspian Stretch auf beiden Geräten.

Die Anleitung im FHEM DoorPi Wiki ist zwar sehr gut beschrieben aber auch sehr komplex und individuell. :-)

Vielleicht lassen sich die entwickelnden User im DoorPi UND FHEM-Forum zu einer gemeinsame entwickelten minimalen Beschreibung / Anleitung überreden?!

Vielen Dank vorab.

LG

Jamspoon
Having trouble in Windows? Reboot! Having trouble in Linux? Be root!

Prof. Dr. Peter Henning

ZitatUncaught SyntaxError: Unexpected token i in JSON at position 0

k.A., ist mir noch nicht begegnet - was ergeben denn
http://<ip von doorpi>/status?module=history_event
http://<ip von doorpi>/status?module=history_snapshot

LG

pah

Jamspoon

ersteres ergibt:


{
    "history_event": [
        {
            "additional_infos": "{'call_state': 18, 'state': 'Call released', 'remote_uri': 'sip:**611@192.168.90.254'}",
            "event_id": "0QTJ1J",
            "event_name": "OnCallStateChange",
            "fired_by": "doorpi.sipphone.linphone_lib.CallBacks",
            "start_time": 1531597829.89
        },
        {
            "additional_infos": "None",
            "event_id": "HJO3D1",
            "event_name": "OnPlayerStopped",
            "fired_by": "doorpi.sipphone.linphone_lib.Player",
            "start_time": 1531597829.78
        },
        {
            "additional_infos": "None",
            "event_id": "KXBGYS",
            "event_name": "OnMediaNotRequired",
            "fired_by": "doorpi.sipphone.linphone_lib.CallBacks",
            "start_time": 1531597829.78
        },
        {
            "additional_infos": "{'call_state': 13, 'state': 'Call ended', 'remote_uri': 'sip:**611@192.168.90.254'}",
            "event_id": "4Y7LD4",
            "event_name": "OnCallStateChange",
            "fired_by": "doorpi.sipphone.linphone_lib.CallBacks",
            "start_time": 1531597829.77
        },
        {
            "additional_infos": "None",
            "event_id": "QWT8Z8",
            "event_name": "OnCallStateDisconnect",
            "fired_by": "doorpi.sipphone.linphone_lib.CallBacks",
            "start_time": 1531597829.77
        },
        {
            "additional_infos": "None",
            "event_id": "1FB2GC",
            "event_name": "AfterCallStateConnect",
            "fired_by": "doorpi.sipphone.linphone_lib.CallBacks",
            "start_time": 1531597824.07
        },
        {
            "additional_infos": "None",
            "event_id": "FCKGLT",
            "event_name": "OnPlayerStopped",
            "fired_by": "doorpi.sipphone.linphone_lib.Player",
            "start_time": 1531597824.07
        },
        {
            "additional_infos": "{'last_record_filename': '/home/doorpi/records/2018-07-14_21-50-12.wav'}",
            "event_id": "S5OTQT",
            "event_name": "OnRecorderStarted",
            "fired_by": "doorpi.sipphone.linphone_lib.Recorder",
            "start_time": 1531597824.07
        },
        {
            "additional_infos": "None",
            "event_id": "EV1H8T",
            "event_name": "OnCallMediaStateChange",
            "fired_by": "doorpi.sipphone.linphone_lib.CallBacks",
            "start_time": 1531597824.07
        },
        {
            "additional_infos": "{'call_state': 7, 'state': 'Streams running', 'remote_uri': 'sip:**611@192.168.90.254'}",
            "event_id": "UPP69A",
            "event_name": "OnCallStateChange",
            "fired_by": "doorpi.sipphone.linphone_lib.CallBacks",
            "start_time": 1531597824.06
        },
        {
            "additional_infos": "None",
            "event_id": "66CDWQ",
            "event_name": "OnCallStateConnect",
            "fired_by": "doorpi.sipphone.linphone_lib.CallBacks",
            "start_time": 1531597824.05
        },
        {
            "additional_infos": "{'call_state': 6, 'state': 'Connected', 'remote_uri': 'sip:**611@192.168.90.254'}",
            "event_id": "ONWMN3",
            "event_name": "OnCallStateChange",
            "fired_by": "doorpi.sipphone.linphone_lib.CallBacks",
            "start_time": 1531597824.05
        },
        {
            "additional_infos": "{'call_state': 5, 'state': 'Early media', 'remote_uri': 'sip:**611@192.168.90.254'}",
            "event_id": "LT1PGM",
            "event_name": "OnCallStateChange",
            "fired_by": "doorpi.sipphone.linphone_lib.CallBacks",
            "start_time": 1531597812.36
        },
        {
            "additional_infos": "None",
            "event_id": "B7N59I",
            "event_name": "OnCallMediaStateChange",
            "fired_by": "doorpi.sipphone.linphone_lib.CallBacks",
            "start_time": 1531597812.36
        },
        {
            "additional_infos": "None",
            "event_id": "D7EWYK",
            "event_name": "OnPlayerStarted",
            "fired_by": "doorpi.sipphone.linphone_lib.Player",
            "start_time": 1531597812.25
        },
        {
            "additional_infos": "{'number': '**611'}",
            "event_id": "UMHMOC",
            "event_name": "AfterSipPhoneMakeCall",
            "fired_by": "doorpi.sipphone.from_linphone",
            "start_time": 1531597812.16
        },
        {
            "additional_infos": "{'call_state': 3, 'state': 'Outgoing call in progress', 'remote_uri': 'sip:**611@192.168.90.254'}",
            "event_id": "UC5ORV",
            "event_name": "OnCallStateChange",
            "fired_by": "doorpi.sipphone.linphone_lib.CallBacks",
            "start_time": 1531597812.08
        },
        {
            "additional_infos": "{'number': '**611'}",
            "event_id": "6KNNI7",
            "event_name": "OnSipPhoneMakeCall",
            "fired_by": "doorpi.sipphone.from_linphone",
            "start_time": 1531597812.08
        },
        {
            "additional_infos": "None",
            "event_id": "1ZR6LA",
            "event_name": "OnMediaRequired",
            "fired_by": "doorpi.sipphone.linphone_lib.CallBacks",
            "start_time": 1531597812.07
        },
        {
            "additional_infos": "{'call_state': 2, 'state': 'Starting outgoing call', 'remote_uri': 'sip:**611@192.168.90.254'}",
            "event_id": "PHSHL1",
            "event_name": "OnCallStateChange",
            "fired_by": "doorpi.sipphone.linphone_lib.CallBacks",
            "start_time": 1531597812.06
        },
        {
            "additional_infos": "{'number': '**611'}",
            "event_id": "ZX3637",
            "event_name": "BeforeSipPhoneMakeCall",
            "fired_by": "doorpi.sipphone.from_linphone",
            "start_time": 1531597812.05
        },
        {
            "additional_infos": "None",
            "event_id": "99D19P",
            "event_name": "OnKeyPressed_webservice.button1",
            "fired_by": "doorpi.keyboard.from_filesystem",
            "start_time": 1531597812.04
        },
        {
            "additional_infos": "None",
            "event_id": "MQX0Z9",
            "event_name": "AfterStartup",
            "fired_by": "doorpi.doorpi",
            "start_time": 1531597695.17
        },
        {
            "additional_infos": "None",
            "event_id": "T2IX07",
            "event_name": "BeforeStartup",
            "fired_by": "doorpi.doorpi",
            "start_time": 1531597694.13
        },
        {
            "additional_infos": "None",
            "event_id": "10TW1E",
            "event_name": "OnStartup",
            "fired_by": "doorpi.doorpi",
            "start_time": 1531597694.13
        },
        {
            "additional_infos": "None",
            "event_id": "94Y5UM",
            "event_name": "OnPlayerCreated",
            "fired_by": "doorpi.sipphone.linphone_lib.Player",
            "start_time": 1531597694.06
        },
        {
            "additional_infos": "None",
            "event_id": "HF38L6",
            "event_name": "OnRecorderCreated",
            "fired_by": "doorpi.sipphone.linphone_lib.Recorder",
            "start_time": 1531597694.06
        },
        {
            "additional_infos": "None",
            "event_id": "BBTXSD",
            "event_name": "OnSipPhoneCreate",
            "fired_by": "doorpi.sipphone.from_linphone",
            "start_time": 1531597694.05
        },
        {
            "additional_infos": "None",
            "event_id": "QPLHL3",
            "event_name": "OnCallStart",
            "fired_by": "doorpi.sipphone.linphone_lib.CallBacks",
            "start_time": 1531597693.97
        },
        {
            "additional_infos": "None",
            "event_id": "G5R4T1",
            "event_name": "OnWebServerStart",
            "fired_by": "doorpi.status.webserver",
            "start_time": 1531597693.78
        }
    ]
}


das zweite ergibt:


{
    "history_snapshot": [
        "orpi/records/snapshots/20180714-153525.jpg",
        "orpi/records/snapshots/20180714-153607.jpg",
        "orpi/records/snapshots/20180714-153827.jpg"
    ]
}


Die Snapshots werden in FHEM in der Historie auch nicht (bildlich) angezeigt und die gespeicherten .wav Dateien auch nicht per Klick abgespielt.
Der Browser behauptet das der angegebene Pfad nicht existiert, dies tut er aber weil der Ordner /home/doorpi/records mit reichlich
aktuellen .wav-Dateien gefüllt ist.

Ebenso ist mir aufgefallen das ich über den Webbutton

[EVENT_OnKeyPressed_webservice.button2]
10 = file_call_value:/home/doorpi/calltarget

in FHEM keinen ruf an ein internes Telefon absetzen konnte,
da habe ich den

[EVENT_OnKeyPressed_webservice.button1]

in 10 = call:**611
abgeändert und jetzt ruft der DoorPi das Mobilteil an.

Kann es sein das somit die FHEMHelper.sh bei mir Probleme macht?

LG

Jamspoon

Having trouble in Windows? Reboot! Having trouble in Linux? Be root!

Prof. Dr. Peter Henning

Kann man doch nach Einloggen auf dem doorpi-Rechner von Hand ausprobieren.

LG

pah

ager01

#672
Zitat von: illivanilli am 28 November 2017, 19:27:33
Hallo Pah,
ich bräuchte bitte mal Ihre Hilfe bzgl. des Frontplattendesigners.

Auf dieser Seite haben Sie die dxf Datei der Frontplatte freundlicherweise zur Verfügung gestellt.
https://www.doorpi.org/forum/thread/420-doorpi-von-pah/?pageNo=2

Leider bekomme ich bei dem Einbinden der Datei in den Frontplatten Designer von Schaeffer AG den selben Fehler wie der Benutzer MiKn in dem o.g. Link.

Kennen Sie evtl. die Lösung für das Problem?

Vielen Dank für Ihre Rückmeldung!

LG Alex


Hat hier schon jemand eine Lösung gefunden bzw. die Datei neu erstellt und kann sie zur Verfügung stellen?

Grüsse

Achim

ager01

Falls jemand dies als Vorlage nutzen möchte. Ich habe mir noch einmal die Mühe gemacht die Frontplatte nachzuzeichnen.

Prof. Dr. Peter Henning

Ich hatte meine Frontplattendatei auch hier im Forum gepostet, keine Ahnung, warum diese unter den neuen Versionen Fehler produzierte.

Ich bitte aber um Nachsicht dafür, dass ich mich nicht auf die Suche nach dem Fehler machen wollte. Hätte mich mehr Zeit gekostet, als einen der Interessenten das Nachzeichnen.

LG

pah