DoorPi-Projekt

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

Vorheriges Thema - Nächstes Thema

UweH

Nimm mal diesen Link: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DoorPi. Dann gewünschte Datei anklicken und bis ganz nach unten scrollen -> "In anderen Formaten runterladen" -> "Ursprüngliches Format"

Gruß
Uwe

Sailor

Hallo pah

Frage: Was müsste ich theoretisch alles verändern, wenn ich anstelle "light" eine 2te Tür haben möchte.

Neben der besagten Tür befindet sich bei mir der Carport.
Da das gesamte Licht ohnehin über Bewegungsmelder läuft, habe ich für "light" an sich keine Verwendung.

Ohne die 70_DoorPi.pm näher zu kennen, wie aufwendig würdest du die Änderung abschätzen, eine Attributs gesteuerte Fallabrage (Light oder Carport) zu implementieren?

Gruß
    Sailor
******************************
Man wird immer besser...

Franz Tenbrock

#482
Hallo
und wieder einen Stolperstein mitgenommen,
da war doch was

Also bitte als bei der Definition
Code: [Auswählen]
define ... DoorPi <username>:passwort@<ip-adresse>
verwenden.

hatte ich natürlich nicht gemacht und fhem schmierte ständig ab
wäre schön wenn das schnell im Wiki geändert wird, hab mich dann erinnert , hier gelesen dann ging es.

dann war en aus irgendeinem Grund die Paketlisten durcheinander
was ich hiermit als Linux Anfänger dann doch bereinigen konnte,
https://forum.ubuntuusers.de/topic/paketlisten-werden-gelesen-fehler/

jetzt läuft wieder alles und es geht weiter.

werde mich wohl als nächstes mit den ini Dateien beschäftigen müssen
hier mein Versuch nur mit Klingel, ev kann ja mal jemand drüberschaun

hab mich nochmal mit den inis beschäftigt, den Code hatte ich von einem anderen User, nun 2  Post weiter hab ich mich mit dem Wiki ini auseinandergesetzt -zumindest versucht




[DoorPi]
base_path = /usr/local/etc/DoorPi
eventlog = !BASEPATH!/conf/eventlog.db
is_alive_led = blinking_led
last_snapshot =
number_of_snapshots = 10
snapshot_path = /home/doorpi/records

[DoorPiWeb]
indexfile = index.html
ip =
loginfile = login.html
online_fallback = http://motom001.github.io/DoorPiWeb
port = 80
public = AREA_public
www = /home/doorpi/records

[EVENT_BeforeSipPhoneMakeCall]
10 = take_snapshot:192.168.178.87:9000/?action=snapshot
20 = mailto:home@home.net,DoorPi,DoorPi initiating call

[EVENT_OnCallStateDisconnect]
10 = os_execute:/home/doorpi/FHEMHelper.sh call ended

[EVENT_OnCallStateDismissed]
10 = os_execute:/home/doorpi/FHEMHelper.sh call dismissed

[EVENT_OnCallStateReject]
10 = os_execute:/home/doorpi/FHEMHelper.sh call rejected
20 = out:audio,1

[EVENT_OnKeyPressed_onboardpins.0]
10 = take_snapshot
20 = call:11
30 = file_call_value:/home/doorpi/calltarget

[EVENT_OnKeyPressed_webservice.purge]
10 = os_execute:/home/doorpi/FHEMHelper.sh purge

[EVENT_OnKeyPressed_webservice.snapshot]
10 = os_execute:/home/doorpi/FHEMHelper.sh call snapshot
30 = take_snapshot

[EVENT_OnKeyPressed_webservice.streamoff]
10 = os_execute:/etc/init.d/mjpg_streamer stop

[EVENT_OnKeyPressed_webservice.streamon]
10 = os_execute:/etc/init.d/mjpg_streamer start

[EVENT_OnStartup]
10 = sleep:1
20 = os_execute:/home/doorpi/FHEMHelper.sh call init

[EVENT_OnTimeMinuteEvery5]
10 = statuswatchdog:/tmp/doorpi.watchdog

[Group]
administrators = admin
guests = visitor

[ReadPermission]
guests = dashboard

[SIP-Phone]
firewallpolicy = PolicyNoFirewall
audio_codecs = PCMA,PCMU
call_timeout = 60
capture_device = ALSA: default device
dialtone = !BASEPATH!/media/ShortDialTone.wav
dialtone_renew_every_start = False
dialtone_volume = 35
echo_cancellation_enabled = False
identity = DoorPi
local_port = 5060
max_call_time = 120
playback_device = ALSA: default device
record_while_dialing = False
records = !BASEPATH!/records/%Y-%m-%d_%H-%M-%S.wav
sipphonetyp = linphone
sipserver_password = password
sipserver_realm = 192.168.178.1
sipserver_server = 192.168.178.1
sipserver_username = Fritzdoorpi
stun_server =
ua.max_calls = 2
video_codecs = VP8
video_device = StaticImage: Static picture
video_display_enabled = Tue
video_size = vga

[User]
admin = admin
visitor = visitor

[WritePermission]
administrators = dashboard,status,config

[keyboards]
onboardpins = piface
webservice = filesystem

[onboardpins_keyboard]
bouncetime = 2000
polarity = 0
pressed_on_keydown = True
pull_up_down = PUD_UP

[onboardpins_InputPins]
0 = call:11

[onboardpins_OutputPins]
0 = door
6 = audio
7 = blinking_led

[EVENT_OnKeyPressed_onboardpins.0]
10 = take_snapshot:localhost:9000/?action=snapshot
20 = call:11

[webservice_InputPins]
gettarget = sleep:0
purge = sleep:0
snapshot = sleep:0
streamoff = sleep:0
streamon = sleep:0

[webservice_keyboard]
base_path_input = /home/doorpi/keyboard/inputs/
base_path_output = /home/doorpi/keyboard/outputs/
bouncetime = 2000
polarity = 0
pressed_on_keydown = True
reset_input = false

die Verzeichnisse hab ich angelegt
und die

Helper

# /bin/sh
#
# FHEMHelper.sh
#
# Script file to perform various external tasks for DoorPi
#
# Prof. Dr. Peter A. Henning, 2017
#
#  $Id: FHEMHelper 2017-05 - pahenning $
#
########################################################################################
#
#  This programm is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#
#  The GNU General Public License can be found at
#  http://www.gnu.org/copyleft/gpl.html.
#  A copy is found in the textfile GPL.txt and important notices to the license
#  from the author is found in LICENSE.txt distributed with these scripts.
#
#  This script is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#########################################################################################
#  History
#  no_Legend 2016-09-28: Hinzufügen von verschiedenen Variablen, sowie bedingte Ausführung
#                        der Textausgaben auf einem TTS_Device.
#########################################################################################

checkstream() {
  streampid=`pidof mjpg_streamer`
  if [ -z "$streampid" ]; then
    stream="off"
  else
    stream="on"
  fi
}

FHEMDP=DoorPi              # FHEM Devicename for DoorPi
FHEMIP=192.168.178.87            # IP address for DoorPi
FHEMPORT=8083                 # Port number for DoorPi
FHEMHTTPS=false               # true for HTTPS, false without HTTPS
curlprog=curl
curlargs=-k                     # -k to disable HTTPS certificate check,
                                # -u user:password for user and password
HOME=/home/doorpi             # Doorpi Standard /usr/local/etc/DoorPi/
default_target=**614             # default telephone number to be called bei mir **614
FHEMTTS=true                  # true for TTS output, false without TTS
FHEMTTSDEVICE="AllTablets"      # FHEM Devicename for TTS device

### FHEM path ###
if [ $FHEMHTTPS = "true" ]; then
FHEM="https://$FHEMIP:$FHEMPORT/fhem?XHR=1&cmd.$FHEMDP"
else
FHEM="http://$FHEMIP:$FHEMPORT/fhem?XHR=1&cmd.$FHEMDP"
fi

### execute commands ##
case $1 in

init) #-- send current target to FHEM
       target=`cat $HOME/calltarget`
       $curlprog $curlargs "$FHEM=setreading%20$FHEMDP%20call_target%20$target" &
       #-- send state of mjpg_streamer to FHEM
       streampid=`pidof mjpg_streamer`
       if [ -z "$streampid" ]; then
         $curlprog $curlargs "$FHEM=setreading%20$FHEMDP%20stream%20off" &
       else
         $curlprog $curlargs "$FHEM=setreading%20$FHEMDP%20stream%20on" &
       fi
       ;;

doorunlockandopen)
       $curlprog $curlargs "$FHEM=set%20$FHEMDP%20door%20unlockandopen" &
       if [ $FHEMTTS = "true" ]; then
     $curlprog $curlargs "$FHEM=set%20$FHEMTTSDEVICE%20audioPlay%20Music/066_zutrittbewohner.mp3" &
       fi
       ;;

dooropened)
       $curlprog $curlargs "$FHEM=set%20$FHEMDP%20door%20opened" &
       ;;

wrongid)
       $curlprog $curlargs "$FHEM=set%20$FHEMDP%20call%20wrong_id" &
       if [ $FHEMTTS = "true" ]; then
   $curlprog $curlargs "$FHEM=set%20$FHEMTTSDEVICE%20audioPlay%20Music/065_zutrittsversuch.mp3" &
       fi
       ;;

softlock)
       $curlprog $curlargs "$FHEM=set%20$FHEMDP%20door%20softlock" &
       ;;

call)
       $curlprog $curlargs "$FHEM=set%20$FHEMDP%20call%20$2" &
       ;;

gettarget)
       echo "{ReadingsVal('$FHEMDP','call_target','$default_target')}" | socat -t50 - TCP:$FHEMIP:7072 > $HOME/calltarget
       ;;

purge)
       find $HOME/records/ -type f -ctime +1 -delete
       ;;

movement)
       $curlprog $curlargs "$FHEM=set%20$FHEMDP%20call%20movement" &
       ;;

sabotage)
       $curlprog $curlargs "$FHEM=set%20$FHEMDP%20call%20sabotage" &
       ;;

alive)
       $curlprog $curlargs "$FHEM=set%20$FHEMDP%20call%20alive" &
       ;;


esac



na ob das so richtig ist ??

cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Prof. Dr. Peter Henning

Zitatna ob das so richtig ist ??
Was soll das bedeuten ?

LG

pah

Franz Tenbrock

#484
eine freundliche Bitte sich das ev mal anzuschauen ...
egal wer !!!!!!!!!
sonst sitze ich wohl wieder Stunden dran.  ::)

werde erst mal ein Image machen - sicherheitshalber

bei einigen Einträgen ist mir halt nicht der Sinn bekannt
wenn was fehlt oder so schmiert mir fhem wohlmöglich wieder ab,
ok im Log ev hinweise...hab ich ja mittlerweile verstanden

Die Anmeldeprozedur bei der Fritte hat sich ja auch geändert, 620 geht nicht mehr, auch das hat mich Stunden gekostet, nicht Ihre Schuld !
andere sind da ja auch erst nicht mit zurechtgekommen
2 Zeilen im Wiki dazu wären hilfreich, es reicht ja schon ein Hinweis.

das mit dem Passwort bei der DoorPi Definition ebenso, hab hier alles jetzt 2 oder 3 mal gelsen, daher konnte ich mich hinterher daran erinnern

mit den keyboards und virtuellen keyboards kann ich mir ja nun vorstellen
auch wenn ich es sicher noch nicht richtig umsetzen kann
das mit AREA  ist mir noch ein großes ?

FHEM hat das virtuelle Keyboard und die Daten werden dann an Doorpi übergeben auf das reale Keyboard.

probiere es noch einmal, am Ende wirds dann holperig  >:(


[DoorPi]
base_path = /usr/local/etc/DoorPi
eventlog = !BASEPATH!/conf/eventlog.db
is_alive_led = blinking_led
last_snapshot =
number_of_snapshots = 10
snapshot_path = /home/doorpi/records

[DoorPiWeb]
indexfile = index.html
ip =
loginfile = login.html
online_fallback = http://motom001.github.io/DoorPiWeb
port = 80
public = AREA_public
www = /home/doorpi/records

[AREA_public]
.*

[AREA_config]
/control/config_value_get
/control/config_value_set
/control/config_value_delete
/control/config_save
/control/config_get_configfile

[AREA_dashboard]
/dashboard/pages/.*html

[AREA_status]
/status
/mirror

[AREA_control]
.*

[User]
admin = admin
visitor = visitor

[Group]
administrators = admin
guests = visitor

[WritePermission]
administrators = dashboard,status,config

[ReadPermission]
guests = dashboard

[DTMF]
"#" = out:door,1,0,3


[SIP-Phone]
firewallpolicy = PolicyNoFirewall
audio_codecs = PCMA,PCMU
call_timeout = 60
capture_device = ALSA: default device
dialtone = !BASEPATH!/media/ShortDialTone.wav
dialtone_renew_every_start = False
dialtone_volume = 35
echo_cancellation_enabled = False
identity = DoorPi
local_port = 5060
max_call_time = 120
playback_device = ALSA: default device
record_while_dialing = False
records = !BASEPATH!/records/%Y-%m-%d_%H-%M-%S.wav
sipphonetyp = linphone
sipserver_password = password
sipserver_realm = 192.168.178.1
sipserver_server = 192.168.178.1
sipserver_username = Fritzdoorpi
stun_server =
ua.max_calls = 2
video_codecs = VP8
video_device = StaticImage: Static picture
video_display_enabled = Tue
video_size = vga


[EVENT_OnStartup]
10 = sleep:1
20 = os_execute:/home/doorpi/FHEMHelper.sh call init

[EVENT_BeforeSipPhoneMakeCall]
10 = os_execute:/home/doorpi/FHEMHelper.sh call startup
20 = take_snapshot
#10 = take_snapshot:192.168.178.87:9000/?action=snapshot
#20 = mailto:home@home.net,DoorPi,DoorPi initiating call

[EVENT_OnCallStateDisconnect]
10 = os_execute:/home/doorpi/FHEMHelper.sh call ended

[EVENT_OnCallStateDismissed]
10 = os_execute:/home/doorpi/FHEMHelper.sh call dismissed

[EVENT_OnCallStateReject]
10 = os_execute:/home/doorpi/FHEMHelper.sh call rejected
20 = out:audio,1

[EVENT_OnTimeMinuteEvery5]
10=statuswatchdog:/tmp/doorpi.watchdog

[keyboards]
onboardpins = piface
webservice = filesystem

####################### Virtual keyboard #######################

[webservice_keyboard]
base_path_input = /home/doorpi/keyboard/inputs/
base_path_output = /home/doorpi/keyboard/outputs/
bouncetime = 2000
polarity = 0
pressed_on_keydown = True
reset_input = false

[webservice_InputPins]
gettarget = sleep:0
purge = sleep:0
snapshot = sleep:0
streamoff = sleep:0
streamon = sleep:0
gettarget       = sleep:0
purge           = sleep:0
clear           = sleep:0
button1         = sleep:0
button2         = sleep:0

#-- communicate to FHEM that a snapshot has been taken
[EVENT_OnKeyPressed_webservice.snapshot]
10 = os_execute:/home/doorpi/FHEMHelper.sh call snapshot
20 = take_snapshot

#-- start video stream
[EVENT_OnKeyPressed_webservice.streamon]
10 = os_execute:/etc/init.d/mjpg_streamer start

#-- stop video stream
[EVENT_OnKeyPressed_webservice.streamoff]
10 = os_execute:/etc/init.d/mjpg_streamer stop

#-- obtain the target call number from FHEM
[EVENT_OnKeyPressed_webservice.gettarget]
10 = os_execute:/home/doorpi/FHEMHelper.sh gettarget

#-- purge all files older than one day
[EVENT_OnKeyPressed_webservice.purge]
10 = os_execute:/home/doorpi/FHEMHelper.sh purge

[EVENT_OnKeyPressed_webservice.button1]
10 = os_execute:/home/doorpi/FHEMHelper.sh sabotage

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

#Es folgt die Definition der realen Buttons:
####################### Real keyboard #######################

[onboardpins_keyboard]
pull_up_down = PUD_UP

[onboardpins_OutputPins]
0 = door
7 = blinking_led

[onboardpins_InputPins]
0 = file_call_value:/home/doorpi/calltarget
1 = sleep:0
4 = sleep:0
5 = sleep:0
6 = sleep:0
7 = sleep:0


#-- Sabotage detection 
[EVENT_OnKeyPressed_onboardpins.7]
10 = os_execute:/home/doorpi/FHEMHelper.sh sabotage


[EVENT_OnKeyPressed_onboardpins.0]
10 = take_snapshot
20 = call:11
30 = file_call_value:/home/doorpi/calltarget

[EVENT_OnKeyPressed_webservice.purge]
10 = os_execute:/home/doorpi/FHEMHelper.sh purge

[EVENT_OnKeyPressed_webservice.snapshot]
10 = os_execute:/home/doorpi/FHEMHelper.sh call snapshot
30 = take_snapshot

[EVENT_OnKeyPressed_webservice.streamoff]
10 = os_execute:/etc/init.d/mjpg_streamer stop

[EVENT_OnKeyPressed_webservice.streamon]
10 = os_execute:/etc/init.d/mjpg_streamer start


[EVENT_OnTimeMinuteEvery5]
10 = statuswatchdog:/tmp/doorpi.watchdog



[onboardpins_keyboard]
bouncetime = 2000
polarity = 0
pressed_on_keydown = True
pull_up_down = PUD_UP

[onboardpins_InputPins]
0 = call:11

[onboardpins_OutputPins]
0 = door
6 = audio
7 = blinking_led

[EVENT_OnKeyPressed_onboardpins.0]
10 = take_snapshot:localhost:9000/?action=snapshot
20 = call:11






cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Prof. Dr. Peter Henning

@sailor:

Das hängt sehr von der Komplexität dieser Tür ab. Für die "normale" Tür gibt es ja die Kommandos open, locked, unlocked - während für "light" die Kommandos on, off und on-for-timer definiert wurden.

light wird also ebenso wie "door" etwas speziell behandelt. Will man also eine zweite vollwertige Tür, müsste man den ganzen Türkram verdoppeln  :'( :'( :'(

Wenn das aber nur eine Nebentür ist, die ein einzelnes Kommando zur Öffnung verlangt, kann man einfach in der doorpi.ini in der Sektion
[webservice_InputPins]
...
carportopen        = (hier doorpi-actions)


definieren. Dann liest das DoorPi-Modul mit dem Kommando "get ... config" diese Konfigurationsdatei ein und bietet in der FHEM-Oberfläche ein Kommando "set cartportopen" an.

LG

pah

Per

Sollte man nicht mittels notify oder DOIF den Befehl einfach übersetzen können, bei Bedarf?

Prof. Dr. Peter Henning

Bitte welchen Befehl denn ??

LG

pah

Franz Tenbrock

#488
Hallo ich noch mal
versuche immer noch mich in die Systematik - Zusammenhänge und Funktionsweise der einzelnen Dateien einzulesen.
Den Thread hier nun zum 3. Mal ganz gelesen, nicht ganz so einfach da es ja ein Entwicklungsprozess war.

Beim lesen der comandref ist mir nun eine Frage gekommen

Necessary ingredients of the DoorPi configuration

The following Events need to be defined for DoorPi in order to communicate with FHEM:

[EVENT_BeforeSipPhoneMakeCall]
10 = url_call:<URL of FHEM>/fhem?XHR=1&cmd.<DoorPi-Device>=set <DoorPi-Device> call start
20 = take_snapshot

in  der doorpi.ini.safe
[EVENT_BeforeSipPhoneMakeCall]
10 = out:irlight,1
20 = take_snapshot
30 = os_execute:/home/doorpi/FHEMHelper.sh call started
40 = out:irlight,0


im Prinzip das gleiche ?!

nur einmal eben über die helper.sh und einmal direkt über die ini

ich will ja nur erst Klingel und Verstärker steuern,
das Ganze über fhem erst mal nur mit doorpi beobachten, Bilder zb anzeigen Wav abhören.

kann ich auf die Helper verzichten  und es so wie in der commandref beschrieben direkt machen ?


eine weitere Frage,in einem Post war hier das beschrieben
Die Ordner
/home/doorpi/log
/home/doorpi/records
/home/doorpi/sounds
/home/doorpi/keyboard
/home/doorpi/keyboard/inputs
/home/doorpi/keyboard/outputs erstellt.
In den Ordner /home/doorpi/keyboard/inputs die Scripte von pah kopiert

die Ordner sind da, aber was muss in inputs ?
da sind bei mir Dateien auch drin
zb
gettarget    mit Inhalt : false
Inhalt wird in der doorpi.ini definiert und dann dort zur weiteren Verarbeitung gespeichert ?

Sorry wenn ich nerve
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Prof. Dr. Peter Henning

Zitat
10 = url_call:<URL of FHEM>/fhem?XHR=1&cmd.<DoorPi-Device>=set <DoorPi-Device> call start

30 = os_execute:/home/doorpi/FHEMHelper.sh call started

im Prinzip das gleiche ?!

Natürlich - so steht es doch im Helper-Skript drin. Wenn man etwa an der DoorPi.ini ändert , muss aber jedesmal doorpi neu gestartet werden. Ein Helper-Skript kann man auch ohne Neustart ändern.

Der Ordner
Zitat/home/doorpi/keyboard/input
wird nur intern von DoorPi selbst verwendet, da muss GAR NICHTS REIN !!!

LG

pah

Franz Tenbrock

ich wäre schon zufrieden wenn es einfach nur läuft
es klingelt,
es wird ein snapshot gemacht
ich kann sehen wann wer geklingelt hat

ev später Bewegungsmelder, das dann auch Bilder gemacht werden wenn einfach nur jemand am Eingang war.

Ohne Programmiererfahrung ist es einfach zu kompliziert von doorpi nach fhem nach helper und zurück
da mach ich bei einer Änderung dann erst mal lieber ein reboot und warte ein paar Sekunden.

Schritt für Schritt, in der Runde hier bin ich sicher der mit der geringsten Programmiererfahrung, damit muss ich halt leben.

aber mit  meinem Kameradom bin ich super zufrieden, dem sieht man es auch bei genauem ansehen nciht an wie der zustande gekommen ist
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Franz Tenbrock

#491
so hab nun von Sailor 11.05.17 die doorpi.ini genommen, Benutzer und Passwort gesetzt

in der helper hab ich am Anfang das hier stehen, Rest unverändert

checkstream() {
  streampid=`pidof mjpg_streamer`
  if [ -z "$streampid" ]; then
    stream="off"
  else
    stream="on"
  fi
}

FHEMDP=doorpi             # FHEM Devicename for DoorPi
FHEMIP=192.168.178.87            # IP address for DoorPi
FHEMPORT=8083                 # Port number for DoorPi
FHEMHTTPS=false               # true for HTTPS, false without HTTPS
curlprog=curl
curlargs=-k                     # -k to disable HTTPS certificate check,
                                # -u user:password for user and password
HOME=/home/doorpi             # Doorpi Standard /usr/local/etc/DoorPi/
default_target=**614             # default telephone number to be called bei mir **614
FHEMTTS=true                  # true for TTS output, false without TTS
FHEMTTSDEVICE="AllTablets"      # FHEM Devicename for TTS device



es klingelt am Fritzfon
verbose 5 als Attr vergeben

das kommt nun im Log


2017.05.18 14:50:46 1: [DoorPi_Cmd] called with only hash => Issue a non-blocking call to http://door:pi@192.168.178.87/control/trigger_event?event_name=OnKeyPressed_webservice.doorlocked&event_source=doorpi.keyboard.from_filesystem
2017.05.18 14:50:46 1: [DoorPi_Cmd] called with only hash => Issue a non-blocking call to http://door:pi@192.168.178.87/control/trigger_event?event_name=OnKeyPressed_webservice.doorunlocked&event_source=doorpi.keyboard.from_filesystem
2017.05.18 14:54:19 1: [DoorPi_Cmd] called with only hash => Issue a non-blocking call to http://door:pi@192.168.178.87/control/trigger_event?event_name=OnKeyPressed_webservice.purge&event_source=doorpi.keyboard.from_filesystem
2017.05.18 14:54:29 3: [DoorPi_GetHistory] found 28 events
2017.05.18 14:54:29 1: [DoorPi_GetHistory] No snapshot found with 2017-05-18_14-53-47.jpg
2017.05.18 14:54:29 1: [DoorPi_GetHistory] No record found with 2017-05-18_14-53-47.wav
2017.05.18 14:54:29 1: [DoorPi_GetHistory] No snapshot found with 2017-05-18_14-52-17.jpg
2017.05.18 14:54:29 1: [DoorPi_GetHistory] No record found with 2017-05-18_14-52-17.wav
2017.05.18 14:54:29 1: [DoorPi_GetHistory] No snapshot found with 2017-05-18_14-50-17.jpg
2017.05.18 14:54:29 1: [DoorPi_GetHistory] No record found with 2017-05-18_14-50-17.wav
2017.05.18 14:54:29 1: [DoorPi_GetHistory] No snapshot found with 2017-05-18_14-47-41.jpg
2017.05.18 14:54:29 1: [DoorPi_GetHistory] No record found with 2017-05-18_14-47-41.wav



hab die 
fhemweb_doorpicalllist,js im richtigen Ordner

aber

url-call.py
handler.py
history_event.py

nur runtergeladen weiß aber nicht wohin damit

mit Zeitverspätung ovn 10 Minuten kommt dann auch eine Anzeige von 4 Anrufen
ohne Bilder ohne wav

dafür ist wohl der handler?!
https://forum.fhem.de/index.php/topic,49877.msg619643.html#msg619643
aber leider kein Hinweis wo das hin muss
im doorpi Forum auch Suche ohne Erfolg, hier 1. Treffer s.o.
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Prof. Dr. Peter Henning

An Stelle der bisherigen Dateien gleichen Namens in der DoorPi-Software.

find / -name handler.py -print


pah

Franz Tenbrock

#493
so langsam gebe ich auf

ich weiß schon gar nicht mehr was ich gemacht habe
apache auf 81
doorpi auf 8080
fhem 8083
stream 9000

geht auch alles nun parallel

jetzt noch das hier

2017.05.20 01:22:52 0: Server started with 10 defined entities (fhem.pl:14304/2017-05-17 perl:5.020002 os:linux user:fhem pid:6159)
2017.05.20 01:22:53 3: FHEMWEB WEB CSRF error: csrf_874478538552048 ne csrf_723896782800532. For detals see the csrfToken FHEMWEB attribute
2017.05.20 01:22:56 1: [DoorPi_GetConfig] has error 192.168.178.87: Verbindungsaufbau abgelehnt
2017.05.20 01:23:06 1: [DoorPi_GetHistory] cannot be called, no connection
2017.05.20 01:25:50 0: Server shutdown
2017.05.20 01:25:53 1: Including fhem.cfg
2017.05.20 01:25:53 3: telnetPort: port 7072 opened
2017.05.20 01:25:53 3: WEB: port 8083 opened
2017.05.20 01:25:53 3: WEBphone: port 8084 opened
2017.05.20 01:25:53 3: WEBtablet: port 8085 opened
2017.05.20 01:25:53 2: eventTypes: loaded 5 events from ./log/eventTypes.txt
2017.05.20 01:25:53 1: Including ./log/fhem.save
2017.05.20 01:25:53 1: usb create starting
2017.05.20 01:25:53 3: Probing CUL device /dev/ttyAMA0
2017.05.20 01:25:54 3: Probing TCM_ESP3 device /dev/ttyAMA0
2017.05.20 01:25:54 3: Probing FRM device /dev/ttyAMA0
2017.05.20 01:25:59 1: usb create end
2017.05.20 01:25:59 2: SecurityCheck:  WEB,WEBphone,WEBtablet has no associated allowed device with basicAuth. telnetPort has no associated allowed device with password/globalpassword.  Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2017.05.20 01:25:59 0: Featurelevel: 5.8
2017.05.20 01:25:59 0: Server started with 10 defined entities (fhem.pl:14304/2017-05-17 perl:5.020002 os:linux user:fhem pid:6889)
2017.05.20 01:26:03 1: [DoorPi_GetConfig] has error 192.168.178.87: Verbindungsaufbau abgelehnt
2017.05.20 01:26:13 1: [DoorPi_GetHistory] cannot be called, no connection
2017.05.20 01:26:40 1: [DoorPi_GetConfig] has error 192.168.178.87: Verbindungsaufbau abgelehnt


den crsf token hab ich auf none gesetzt

ist das komlex
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

Prof. Dr. Peter Henning

#494
Ich habe leider nicht die Zeit, irgend jemanden bei der Hand zu nehmen und Schritt für Schritt durch alle möglichen Installationsfehler zu lotsen.

Also hier eine Anleitung zum korrekten Vorgehen:

1. Laufende Version von FHEM besorgen.

2. 70_DoorPi.pm und fhemweb_doorpicalllist.js installieren.
Und zwar die letzte gepostete/veröffentlichte Version, die in der subroutineDoorPi_Cmd die Zeile
  Log3 $name, 1,"[DoorPi_Cmd] called with only hash => Issue a non-blocking call to $url"; 

ohne Kommentarzeichen hat.

Warum ? Diese Zeile gibt den aktuellen Aufruf der DoorPi-Software per URL ins FHEM-Log aus.

Diesen aktuellen Aufruf kann man aus dem FHEM-Log abschreiben und von Hand oder per Copy/Paste selber in einen Browser eingeben. Man braucht also gar nicht FHEM und DoorPi zusammen zu testen - beide können separat überprüft werden !

Und zwar bei fast allen Kommandos, lediglich bei get history und get config muss man noch wissen, dass der tatsächliche Aufruf lautet
   
<doorpi-url>/status?module=history_event&name=OnCallStateChange&value=1000
<doorpi-url>/status?module=history_snapshot
<doorpi-url>/status?module=config

Nebenbei gesagt: Das ist alles in der Doku der DoorPi-Software enthalten.

3. Laufende Version von DoorPi besorgen und damit als Erstes die obigen drei Kommandos ausführen. Weiter erst, wenn diese ordentliche Responses (also JSON) ergeben !

4. Erst jetzt die doorpi.ini schrittweise an die Kommunikation mit FHEM anpassen.

Und NEIN, bitte als Anfänger NICHT dauernd in der doorpi.ini herumbasteln. Sondern möglichst alle Kommunikation mit FHEM über das Helper-Skript abwickeln.

Warum ? Weil dann das korrekte Ausführen der Kommandos in FHEM auch getestet werden kann, ohne dass man die Doorpi-Software benutzt. Eben einfach per Kommandozeilenaufruf des Helper-Skriptes. Alternativ kann man natürlich auch einfach die gerufenen URLs in den Browser eingeben und sehen, was in FHEM passiert.

Es ist also eminent wichtig (für Laien), 
- das FHEM-Modul in der FHEM-Umgebung
- die DoorPi-Software auf dem DoorPi-Rechner
- sowie die Kommunikation (FHEM->DoorPi mit Browser, DoorPi->FHEM mit Helperskript oder Browser)
getrennt austesten zu können. Alles Andere macht keinen Sinn.

Ach ja: Bitte nicht mehrere Änderungen auf einmal durchführen. Es ist absehbar, dass das Gesamtsystem sonst irgendwann in einen vollkommen inkonsistenten Zustand gerät.

LG

pah