motom001 / doorpi Goto Github PK
View Code? Open in Web Editor NEWOpenSource VoIP Door-Intercomstation
Home Page: https://www.doorpi.org/forum/
OpenSource VoIP Door-Intercomstation
Home Page: https://www.doorpi.org/forum/
Traceback (most recent call last):
File "/home/pi/DoorPi/doorpi/application.py", line 41, in
finally: doorpi.DoorPi().destroy()
File "/home/pi/DoorPi/doorpi/doorpi.py", line 117, in destroy
self.sipphone.destroy()
File "/home/pi/DoorPi/doorpi/sipphone/by_pjsua.py", line 187, in destroy
if self.current_callcallback is not None:
AttributeError: Pjsua instance has no attribute 'current_callcallback'
Unhandled exception in thread started by
sys.excepthook is missing
lost sys.stderr
2014-12-24 11:09:42,455 [ERROR] [keyboard.KeyboardInterface] could not load keyboard piface
Traceback (most recent call last):
File "/home/pi/DoorPi/doorpi/keyboard/KeyboardInterface.py", line 36, in autodetect
try: return load_piface(input_pins, output_pins)
File "/home/pi/DoorPi/doorpi/keyboard/KeyboardInterface.py", line 46, in load_piface
import keyboard.from_piface
File "/home/pi/DoorPi/doorpi/keyboard/from_piface.py", line 10, in
import piface.pfio # basic for PiFce control
ImportError: No module named piface.pfio
Key -1 nicht gesetzt. Ist dennoch gedrückt.
Kein PiFace vorhanden, nur GPIO.
2014-12-29 14:43:51,478 [INFO] [doorpi] DoorPi.run: Key -1 is pressed
2014-12-29 14:43:51,480 [TRACE] [conf.config_object] get for key -1 in section InputPins (default: )
2014-12-29 14:43:51,482 [TRACE] [conf.config_object] get_string for key -1 in section InputPins (default: )
2014-12-29 14:43:51,485 [TRACE] [conf.config_object] key '-1' doesn't exist in section 'InputPins'
2014-12-29 14:43:51,497 [TRACE] [conf.config_object] return default '
2014-12-29 14:43:51,499 [DEBUG] [doorpi] start action:
2014-12-29 14:43:51,501 [DEBUG] [doorpi] fire_action () and secure_source is True
2014-12-29 14:43:51,504 [DEBUG] [doorpi] couldn't find action or source was not set to secure
2014-12-29 14:43:51,506 [TRACE] [doorpi] get event(event_name = AfterKeyPressed, additional_informations = {'LastKey': 'NotSetYet'}, secure_source = True)
2014-12-29 14:43:51,516 [TRACE] [conf.config_object] get_keys for section AfterKeyPressed
Ich brauche echt Hilfe beim Überarbeiten von Readme und Wiki. Das kostet so viel Zeit und stimmt mit jedem commit weniger zum aktuellen Stand.
Wer kann mir helfen, Struktur und Inhalte der Dokumentationen auf einen aktuellen Stand zu heben?
Records werden abgespeichert unter:
/home/pi/DoorPi/records
obwohl der DoorPi installiert ist unter:
/home/pi/doorpi
Es gibt zwar eine door.cfg, aber in der service-Datei unter docs steht:
python $DOORPI_PATH/doorpi/service.py start --configfile /home/pi/DoorPi/conf/doorpi.ini
Habe Probleme mit der DoorPi.pid und den GPIOs. Nutze kein Piface.
Anbei das LOG. Frohe Weihnachten, viel Grüße und vielen Dank für dein Projekt!!
2014-12-24 11:09:40,889 [DEBUG] [doorpi] init
2014-12-24 11:09:40,896 [ERROR] [root] Exception NameError: PID file '/var/run/doorpi.pid' not locked
Traceback (most recent call last):
File "/home/pi/DoorPi//doorpi/service.py", line 44, in
try: daemon_runner.do_action()
File "/usr/lib/pymodules/python2.7/daemon/runner.py", line 186, in do_action
func(self)
File "/usr/lib/pymodules/python2.7/daemon/runner.py", line 149, in stop
"PID file %(pidfile_path)r not locked" % vars())
DaemonRunnerStopFailureError: PID file '/var/run/doorpi.pid' not locked
2014-12-24 11:09:40,901 [DEBUG] [doorpi] destroy
2014-12-24 11:09:40,903 [TRACE] [doorpi] get event(event_name = OnShutdown, additional_informations = {}, secure_source = True)
2014-12-24 11:09:41,833 [DEBUG] [doorpi] init
2014-12-24 11:09:42,340 [DEBUG] [doorpi] run
2014-12-24 11:09:42,343 [DEBUG] [doorpi] prepare
2014-12-24 11:09:42,345 [DEBUG] [doorpi] parse_argv
2014-12-24 11:09:42,378 [DEBUG] [doorpi] givven arguments argv: Namespace(configfile=<open file '/home/pi/DoorPi/conf/doorpi.ini', mode 'r' at 0xb679f6a8>)
2014-12-24 11:09:42,381 [DEBUG] [doorpi] load_config (<open file '/home/pi/DoorPi/conf/doorpi.ini', mode 'r' at 0xb679f6a8>)
2014-12-24 11:09:42,383 [DEBUG] [doorpi] use configfile: /home/pi/DoorPi/conf/doorpi.ini
2014-12-24 11:09:42,409 [DEBUG] [conf.config_object] init
2014-12-24 11:09:42,411 [TRACE] [conf.config_object] get_from_config
2014-12-24 11:09:42,428 [TRACE] [conf.config_object] get for key keyboard in section DoorPi (default: autodetect)
2014-12-24 11:09:42,430 [TRACE] [conf.config_object] get_string for key keyboard in section DoorPi (default: autodetect)
2014-12-24 11:09:42,432 [TRACE] [conf.config_object] key 'keyboard' exist in section 'DoorPi' with value 'autodetect'
2014-12-24 11:09:42,435 [TRACE] [conf.config_object] get_keys for section InputPins
2014-12-24 11:09:42,437 [TRACE] [conf.config_object] get_keys for section OutputPins
2014-12-24 11:09:42,439 [TRACE] [keyboard.KeyboardInterface] autodetect
2014-12-24 11:09:42,441 [TRACE] [keyboard.KeyboardInterface] load_piface
2014-12-24 11:09:42,446 [DEBUG] [keyboard.from_piface] keyboard.from_piface loaded
2014-12-24 11:09:42,450 [DEBUG] [keyboard.AbstractBaseClass] keyboard.AbstractBaseClass loaded
2014-12-24 11:09:42,455 [ERROR] [keyboard.KeyboardInterface] could not load keyboard piface
Traceback (most recent call last):
File "/home/pi/DoorPi/doorpi/keyboard/KeyboardInterface.py", line 36, in autodetect
try: return load_piface(input_pins, output_pins)
File "/home/pi/DoorPi/doorpi/keyboard/KeyboardInterface.py", line 46, in load_piface
import keyboard.from_piface
File "/home/pi/DoorPi/doorpi/keyboard/from_piface.py", line 10, in
import piface.pfio # basic for PiFce control
ImportError: No module named piface.pfio
2014-12-24 11:09:42,460 [TRACE] [keyboard.KeyboardInterface] load_gpio
2014-12-24 11:09:42,464 [DEBUG] [keyboard.from_gpio] keyboard.from_gpio loaded
2014-12-24 11:09:42,473 [DEBUG] [keyboard.from_gpio] GPIO.init(input_pins = ['18'], output_pins = ['3', '2', '4'])
2014-12-24 11:09:42,478 [ERROR] [root] Exception NameError: type object 'GPIO' has no attribute 'BCM'
Traceback (most recent call last):
File "/home/pi/DoorPi//doorpi/service.py", line 44, in
try: daemon_runner.do_action()
File "/usr/lib/pymodules/python2.7/daemon/runner.py", line 186, in do_action
func(self)
File "/usr/lib/pymodules/python2.7/daemon/runner.py", line 131, in start
self.app.run()
File "/home/pi/DoorPi/doorpi/doorpi.py", line 124, in run
self.prepare()
File "/home/pi/DoorPi/doorpi/doorpi.py", line 72, in prepare
self.__keyboard = detect_keyboard()
File "/home/pi/DoorPi/doorpi/keyboard/KeyboardInterface.py", line 30, in detect_keyboard
output_pins = doorpi.DoorPi().config.get_keys('OutputPins')
File "/home/pi/DoorPi/doorpi/keyboard/KeyboardInterface.py", line 39, in autodetect
try: return load_gpio(input_pins, output_pins)
File "/home/pi/DoorPi/doorpi/keyboard/KeyboardInterface.py", line 57, in load_gpio
output_pins = output_pins
File "/home/pi/DoorPi/doorpi/keyboard/from_gpio.py", line 28, in init
RPiGPIO.setmode(GPIO.BCM)
AttributeError: type object 'GPIO' has no attribute 'BCM'
2014-12-24 11:09:42,487 [DEBUG] [doorpi] destroy
2014-12-24 11:09:42,490 [TRACE] [doorpi] get event(event_name = OnShutdown, additional_informations = {}, secure_source = True)
2014-12-24 11:09:42,492 [TRACE] [conf.config_object] get_keys for section OnShutdown
2014-12-24 11:09:42,494 [TRACE] [doorpi] fire action 20 for event OnShutdown
2014-12-24 11:09:42,497 [TRACE] [conf.config_object] get for key 20 in section OnShutdown (default: )
2014-12-24 11:09:42,499 [TRACE] [conf.config_object] get_string for key 20 in section OnShutdown (default: )
2014-12-24 11:09:42,501 [TRACE] [conf.config_object] key '20' exist in section 'OnShutdown' with value 'mailto:**@gmail.com,DoorPi:OnShutdown,DoorPi down'
2014-12-24 11:09:42,503 [DEBUG] [doorpi] fire_action (mailto:**@gmail.com,DoorPi:OnShutdown,DoorPi down) and secure_source is True
2014-12-24 11:09:42,506 [TRACE] [conf.config_object] get for key server in section SMTP (default: )
2014-12-24 11:09:42,508 [TRACE] [conf.config_object] get_string for key server in section SMTP (default: )
2014-12-24 11:09:42,510 [TRACE] [conf.config_object] key 'server' exist in section 'SMTP' with value 'smtp.gmail.com'
2014-12-24 11:09:42,512 [TRACE] [conf.config_object] get_int for key port in section SMTP (default: -1)
2014-12-24 11:09:42,514 [TRACE] [conf.config_object] get_string for key port in section SMTP (default: )
2014-12-24 11:09:42,516 [TRACE] [conf.config_object] key 'port' exist in section 'SMTP' with value '587'
2014-12-24 11:09:42,518 [TRACE] [conf.config_object] get for key username in section SMTP (default: )
2014-12-24 11:09:42,521 [TRACE] [conf.config_object] get_string for key username in section SMTP (default: )
2014-12-24 11:09:42,523 [TRACE] [conf.config_object] key 'username' exist in section 'SMTP' with value ‚[email protected]'
2014-12-24 11:09:42,525 [TRACE] [conf.config_object] get for key password in section SMTP (default: )
2014-12-24 11:09:42,527 [TRACE] [conf.config_object] get_string for key password in section SMTP (default: )
2014-12-24 11:09:42,529 [TRACE] [conf.config_object] key 'password' exist in section 'SMTP' with value '_****'
2014-12-24 11:09:42,532 [TRACE] [conf.config_object] get for key from in section SMTP (default: )
2014-12-24 11:09:42,534 [TRACE] [conf.config_object] get_string for key from in section SMTP (default: )
2014-12-24 11:09:42,536 [TRACE] [conf.config_object] key 'from' exist in section 'SMTP' with value 'Sprechanlage'
2014-12-24 11:09:42,976 [TRACE] [conf.config_object] get for key use_tls in section SMTP (default: )
2014-12-24 11:09:42,978 [TRACE] [conf.config_object] get_string for key use_tls in section SMTP (default: )
2014-12-24 11:09:42,980 [TRACE] [conf.config_object] key 'use_tls' exist in section 'SMTP' with value 'true'
2014-12-24 11:09:43,218 [TRACE] [conf.config_object] get for key need_login in section SMTP (default: )
2014-12-24 11:09:43,221 [TRACE] [conf.config_object] get_string for key need_login in section SMTP (default: )
2014-12-24 11:09:43,223 [TRACE] [conf.config_object] key 'need_login' exist in section 'SMTP' with value 'true'
2014-12-24 11:09:45,204 [DEBUG] [keyboard.from_gpio] GPIO.destroy()
on each start, the givven configfile will be overwritten by defaults
Hallo Thomas,
habe damit begonnen doorpi mit einer Anbindung zum IP-Symcon (http://www.ip-symcon.de) auszustatten. IP-Symcon ist ein Smarthome Anwendung, welche verschiedene Hardware miteinander verbinden kann.
Die Kommunikation zu IP-Symcon lässt sich über ein API (siehe hierzu Forenbeitrag: http://www.ip-symcon.de/forum/threads/26516-JSON-RPC-%C3%BCber-Python?highlight=python+rpc) herstellen.
Beschreibung der API in IP-Symcon findet man hier: http://www.ip-symcon.de/service/dokumentation/entwicklerbereich/datenaustausch/
Mein Ziel ist es eventgesteuert aus doorpi Variablen in IP-Symcon zu verändern.
Dazu folgender Eintrag in der doorpi.cfg
[EVENT_OnCallStateConnect]
10 = out:1,1
20 = ipsrpc:40276,TRUE
[EVENT_OnCallStateDisconnect]
10 = out:1,0
20 = ipsrpc:40276,FALSE[/code]
40276 ist meine Variablennummer des Typs BOOLEAN in IP-Symcon.
und folgendes script im Ordner: /home/pi/doorpi/doorpi/action/SingleActions/ipsrpc.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import logging
logger = logging.getLogger(__name__)
logger.debug("%s loaded", __name__)
import doorpi
import requests
import json
from requests.auth import HTTPBasicAuth
from action.base import SingleAction
def IpsRpc(methodIps, paramIps):
try:
url = "http://192.168.178.5:82/api/"
auth=HTTPBasicAuth('user', 'password')
headers = {'content-type': 'application/json'}
payload = {
"method": methodIps,
"params": paramIps,
"jsonrpc": "2.0",
"id": 0,
}
response = requests.post(url, auth=auth, data=json.dumps(payload), headers=headers).json
logger.debug(response)
except:
logger.exception("couldn't send IpsRpc")
return False
return True
def get(parameters):
parameter_list = parameters.split(',')
if len(parameter_list) is not 2: return None
variable = parameter_list[0]
value = parameter_list[1]
return IpsRpcAction(IpsRpc, "SetValue", [variable,value])
class IpsRpcAction(SingleAction):
pass
Die Events werden im doorpi.log geladen und auch beim entsprechenden event ausgelöst, jedoch geht keine Message an IP-Symcon. Ich bin mit meinem "Latein" am Ende und komme hier nicht weiter.
Mit Wireshark kann ich keinen Netzwerkverkehr zwischen doorpi (192.168.178.9) und IP-Symcon (192.168.178.5) feststellen.
Hast Du evtl eine Idee ?
Falls wir das hinkriegen würde ich im IP-Symcon Forum mal die Brücke zu Deinem doorpie Projekt schlagen, da dort auch öfters nach einer intelligenten "Klingellösung" gesucht wird. Wäre doch gelacht, wenn Du die 10 Votes für den Banana Pi nicht zusammenkriegen würdest ;-)
Gruß,
Hermann
Fehlermeldung:
C2015-01-27 22:42:24,050 [ERROR] [action.handler] error while fire action PjsipHandleEventsAction with args () and kwargs {'timeout': 50} for event_name OnTimeTick
Traceback (most recent call last):
File "/home/pi/doorpi/doorpi/action/handler.py", line 140, in fire_event_synchron
action.run(silent)
File "/home/pi/doorpi/doorpi/action/base.py", line 48, in run
return self.__callback(**self.__kwargs)
File "/home/pi/doorpi/doorpi/action/SingleActions/pjsip_handle_events.py", line 15, in pjsip_handle_events
doorpi.DoorPi().sipphone.lib.handle_events(timeout)
File "/usr/local/lib/python2.7/dist-packages/pjsua.py", line 2258, in handle_events
return _pjsua.handle_events(timeout)
KeyboardInterrupt
Ich hatte gerade das Problem das sich ja die pjsua ja in den letzen zwei Tagen geändert hat.
Der Befehl "sudo git pull" konnte mein Problem jedoch nicht lösen. Ich musste daher DoorPI neu installieren. Eine Update-Routine wäre daher super.
PS: Ohne die Hilfe von Hermann hätte ich das natürlich wieder nicht hinbekommen !!!
Der Start von DoorPi (meistens kurz nach Installation) bleibt einfach hängen:
2015-01-31 17:33:59,641 [INFO] [__main__] loaded with arguments: ['/home/pi/DoorPI/doorpi/main.py', 'start', '--configfile', '/home/pi/DoorPI/conf/doorpi.cfg']
2015-01-31 17:34:00,141 [DEBUG] [doorpi] run
2015-01-31 17:34:00,145 [DEBUG] [doorpi] prepare
2015-01-31 17:34:00,148 [DEBUG] [doorpi] givven arguments argv: Namespace(configfile=<open file '/home/pi/DoorPI/conf/doorpi.cfg', mode 'r' at 0xb66e6498>)
2015-01-31 17:34:00,153 [DEBUG] [conf.config_object] load_config (<open file '/home/pi/DoorPI/conf/doorpi.cfg', mode 'r' at 0xb66e6498>)
2015-01-31 17:34:00,156 [DEBUG] [conf.config_object] use configfile: /home/pi/DoorPI/conf/doorpi.cfg
2015-01-31 17:34:00,182 [DEBUG] [conf.config_object] __init__
2015-01-31 17:34:00,185 [TRACE] [conf.config_object] get_from_config
2015-01-31 17:34:00,200 [TRACE] [conf.config_object] get for key typ in section keyboard (default: autodetect)
2015-01-31 17:34:00,203 [TRACE] [conf.config_object] get_string for key typ in section keyboard (default: autodetect)
2015-01-31 17:34:00,206 [TRACE] [conf.config_object] key 'typ' exist in section 'keyboard' with value 'gpio'
2015-01-31 17:34:00,210 [TRACE] [conf.config_object] get_int for key bouncetime in section keyboard (default: 5000)
2015-01-31 17:34:00,213 [TRACE] [conf.config_object] get_string for key bouncetime in section keyboard (default: )
2015-01-31 17:34:00,216 [TRACE] [conf.config_object] key 'bouncetime' doesn't exist in section 'keyboard'
2015-01-31 17:34:00,219 [TRACE] [conf.config_object] return default '
2015-01-31 17:34:00,222 [TRACE] [conf.config_object] get_keys for section InputPins
2015-01-31 17:34:00,225 [TRACE] [conf.config_object] get_keys for section OutputPins
2015-01-31 17:34:00,228 [TRACE] [keyboard.KeyboardInterface] load_gpio
2015-01-31 17:34:00,235 [DEBUG] [keyboard.from_gpio] keyboard.from_gpio loaded
2015-01-31 17:34:00,246 [DEBUG] [keyboard.AbstractBaseClass] keyboard.AbstractBaseClass loaded
2015-01-31 17:34:00,251 [DEBUG] [keyboard.from_gpio] GPIO.__init__(input_pins = ['11', '13'], output_pins = ['18', '12', '16'])
2015-01-31 17:34:00,255 [TRACE] [action.handler] register Event OnKeyPressed from keyboard.from_gpio
2015-01-31 17:34:00,258 [DEBUG] [action.handler] event_source keyboard.from_gpio was added
2015-01-31 17:34:00,261 [TRACE] [action.handler] added event_name OnKeyPressed an register source keyboard.from_gpio
2015-01-31 17:34:00,270 [TRACE] [action.handler] register Event OnKeyPressed_11 from keyboard.from_gpio
2015-01-31 17:34:00,283 [TRACE] [action.handler] added event_name OnKeyPressed_11 an register source keyboard.from_gpio
2015-01-31 17:34:00,288 [TRACE] [action.handler] register Event OnKeyPressed_13 from keyboard.from_gpio
2015-01-31 17:34:00,295 [TRACE] [action.handler] added event_name OnKeyPressed_13 an register source keyboard.from_gpio
2015-01-31 17:34:00,300 [DEBUG] [doorpi] Keyboard is now GPIO Keyboard
2015-01-31 17:34:00,425 [DEBUG] [sipphone.by_pjsua] sipphone.by_pjsua loaded
2015-01-31 17:34:00,474 [DEBUG] [sipphone.pjsua_lib.SipPhoneAccountCallBack] sipphone.pjsua_lib.SipPhoneAccountCallBack loaded
2015-01-31 17:34:00,480 [DEBUG] [sipphone.pjsua_lib.SipPhoneCallCallBack] sipphone.pjsua_lib.SipPhoneCallCallBack loaded
2015-01-31 17:34:00,497 [TRACE] [conf.config_object] get for key record_while_dialing in section DoorPi (default: False)
2015-01-31 17:34:00,500 [TRACE] [conf.config_object] get_string for key record_while_dialing in section DoorPi (default: False)
2015-01-31 17:34:00,517 [TRACE] [conf.config_object] key 'record_while_dialing' exist in section 'DoorPi' with value 'true'
2015-01-31 17:34:00,520 [DEBUG] [sipphone.by_pjsua] __init__
2015-01-31 17:34:00,533 [TRACE] [action.handler] register Event OnSipPhoneCreate from sipphone.by_pjsua
2015-01-31 17:34:00,537 [DEBUG] [action.handler] event_source sipphone.by_pjsua was added
2015-01-31 17:34:00,540 [TRACE] [action.handler] added event_name OnSipPhoneCreate an register source sipphone.by_pjsua
2015-01-31 17:34:00,553 [TRACE] [action.handler] register Event OnSipPhoneStart from sipphone.by_pjsua
2015-01-31 17:34:00,556 [TRACE] [action.handler] added event_name OnSipPhoneStart an register source sipphone.by_pjsua
2015-01-31 17:34:00,559 [TRACE] [action.handler] register Event OnSipPhoneDestroy from sipphone.by_pjsua
2015-01-31 17:34:00,573 [TRACE] [action.handler] added event_name OnSipPhoneDestroy an register source sipphone.by_pjsua
2015-01-31 17:34:00,576 [TRACE] [action.handler] register Event OnSipPhoneRecorderCreate from sipphone.by_pjsua
2015-01-31 17:34:00,579 [TRACE] [action.handler] added event_name OnSipPhoneRecorderCreate an register source sipphone.by_pjsua
2015-01-31 17:34:00,582 [TRACE] [action.handler] register Event OnSipPhoneRecorderDestroy from sipphone.by_pjsua
2015-01-31 17:34:00,596 [TRACE] [action.handler] added event_name OnSipPhoneRecorderDestroy an register source sipphone.by_pjsua
2015-01-31 17:34:00,599 [TRACE] [action.handler] register Event OnSipPhoneMakeCall from sipphone.by_pjsua
2015-01-31 17:34:00,602 [TRACE] [action.handler] added event_name OnSipPhoneMakeCall an register source sipphone.by_pjsua
2015-01-31 17:34:00,618 [DEBUG] [action.SingleActions.sleep] action.SingleActions.sleep loaded
2015-01-31 17:34:00,633 [TRACE] [action.handler] action SleepAction with args (0.5,) and kwargs {} was added to new evententry AfterCallStateDisconnect
2015-01-31 17:34:00,637 [TRACE] [action.handler] action <bound method Pjsua.cleanup_after_call of <sipphone.by_pjsua.Pjsua instance at 0xb5dfae90>> with args () and kwargs {} was added to event AfterCallStateDisconnect
2015-01-31 17:34:00,641 [TRACE] [action.handler] fire Event OnSipPhoneCreate from sipphone.by_pjsua asyncron
2015-01-31 17:34:00,683 [DEBUG] [action.handler] no actions for event OnSipPhoneCreate - skip fire_event OnSipPhoneCreate from sipphone.by_pjsua
2015-01-31 17:34:00,667 [DEBUG] [sipphone.by_pjsua] init Lib
2015-01-31 17:34:00,689 [DEBUG] [sipphone.by_pjsua] CreateUAConfig
2015-01-31 17:34:00,692 [DEBUG] [sipphone.by_pjsua] CreateMediaConfig
2015-01-31 17:34:00,698 [DEBUG] [sipphone.by_pjsua] CreateLogConfig
2015-01-31 17:34:01,044 [DEBUG] [sipphone.by_pjsua] init transport
2015-01-31 17:34:01,047 [DEBUG] [sipphone.by_pjsua] CreateTransportConfig
2015-01-31 17:34:01,054 [DEBUG] [sipphone.by_pjsua] Lib.start()
2015-01-31 17:34:01,058 [DEBUG] [sipphone.by_pjsua] init Acc
2015-01-31 17:34:01,061 [DEBUG] [sipphone.by_pjsua] CreateAccountConfig
2015-01-31 17:34:01,066 [TRACE] [conf.config_object] get for key server in section SIP-Phone (default: )
2015-01-31 17:34:01,070 [TRACE] [conf.config_object] get_string for key server in section SIP-Phone (default: )
2015-01-31 17:34:01,073 [TRACE] [conf.config_object] key 'server' exist in section 'SIP-Phone' with value '192.168.10.1'
2015-01-31 17:34:01,076 [TRACE] [conf.config_object] get for key username in section SIP-Phone (default: )
2015-01-31 17:34:01,079 [TRACE] [conf.config_object] get_string for key username in section SIP-Phone (default: )
2015-01-31 17:34:01,083 [TRACE] [conf.config_object] key 'username' exist in section 'SIP-Phone' with value '621'
2015-01-31 17:34:01,086 [TRACE] [conf.config_object] get for key password in section SIP-Phone (default: )
2015-01-31 17:34:01,089 [TRACE] [conf.config_object] get_string for key password in section SIP-Phone (default: )
2015-01-31 17:34:01,092 [TRACE] [conf.config_object] key 'password' exist in section 'SIP-Phone' with value '*******'
2015-01-31 17:34:01,095 [TRACE] [conf.config_object] get for key realm in section SIP-Phone (default: )
2015-01-31 17:34:01,098 [TRACE] [conf.config_object] get_string for key realm in section SIP-Phone (default: )
2015-01-31 17:34:01,101 [TRACE] [conf.config_object] key 'realm' exist in section 'SIP-Phone' with value 'fritz.box'
2015-01-31 17:34:01,104 [INFO] [sipphone.by_pjsua] try to create AccountConfig
2015-01-31 17:34:01,107 [DEBUG] [sipphone.by_pjsua] username: 621
2015-01-31 17:34:01,111 [DEBUG] [sipphone.by_pjsua] password: ******
2015-01-31 17:34:01,114 [DEBUG] [sipphone.by_pjsua] server: 192.168.10.1
2015-01-31 17:34:01,119 [DEBUG] [sipphone.by_pjsua] realm: fritz.box
2015-01-31 17:34:01,122 [DEBUG] [sipphone.pjsua_lib.SipPhoneAccountCallBack] __init__
2015-01-31 17:34:01,126 [TRACE] [action.handler] register Event BeforeCallIncoming from sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,129 [DEBUG] [action.handler] event_source sipphone.pjsua_lib.SipPhoneAccountCallBack was added
2015-01-31 17:34:01,132 [TRACE] [action.handler] added event_name BeforeCallIncoming an register source sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,141 [TRACE] [action.handler] register Event OnCallReconnect from sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,145 [TRACE] [action.handler] added event_name OnCallReconnect an register source sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,148 [TRACE] [action.handler] register Event AfterCallReconnect from sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,151 [TRACE] [action.handler] added event_name AfterCallReconnect an register source sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,155 [TRACE] [action.handler] register Event OnCallBusy from sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,158 [TRACE] [action.handler] added event_name OnCallBusy an register source sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,161 [TRACE] [action.handler] register Event AfterCallBusy from sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,164 [TRACE] [action.handler] added event_name AfterCallBusy an register source sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,169 [TRACE] [action.handler] register Event OnCallIncomming from sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,172 [TRACE] [action.handler] added event_name OnCallIncomming an register source sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,175 [TRACE] [action.handler] register Event AfterCallIncomming from sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,178 [TRACE] [action.handler] added event_name AfterCallIncomming an register source sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,182 [TRACE] [action.handler] register Event OnCallReject from sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,185 [TRACE] [action.handler] added event_name OnCallReject an register source sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,188 [TRACE] [action.handler] register Event AfterCallReject from sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,191 [TRACE] [action.handler] added event_name AfterCallReject an register source sipphone.pjsua_lib.SipPhoneAccountCallBack
2015-01-31 17:34:01,198 [DEBUG] [sipphone.by_pjsua] Listening on: 192.168.10.176
2015-01-31 17:34:01,202 [DEBUG] [sipphone.by_pjsua] Port: 53879
2015-01-31 17:34:01,205 [TRACE] [conf.config_object] get for key dialtone in section DoorPi (default: )
2015-01-31 17:34:01,208 [TRACE] [conf.config_object] get_string for key dialtone in section DoorPi (default: )
2015-01-31 17:34:01,212 [TRACE] [conf.config_object] key 'dialtone' exist in section 'DoorPi' with value '!BASEPATH!/doorpi/media/ShortDialTone.wav'
2015-01-31 17:34:01,215 [DEBUG] [sipphone.by_pjsua] dialtone is missing or not readable - create it now
Hallo Developer,
In einem anderen Issues geht es um das Feature RFID und deren anbindung, da ich versprochen habe mich um ein DoorPi Hardware Board zu kümmern mach ich das mal hier.
Da ich auch nicht all wissend bin bitte euch um eure Meinungen und mithilfe damit ich das Projekt ( LCD läuft schon ) ausbauen kann.
** LCD Display 16x2 ( http://1qr.at/T2 ) um Status von DoorPi auszugeben und um Probleme leichter zu lokalisieren
** DoorPi Gehäuse ( http://1qr.at/TS ) in dem der Raspberry , die Erweiterungsplatine , das LCD, PiFace platz finden soll
da ich das schon getestet habe sehe ich da kein Problem und alles ist aufgeräumt und für den Einbau in einen Verteiler vorbereitet, wo sich ja eigentlich eine Sprechanlage befinden sollte.
** Ausbau einer Wiegand 26 Schnittstelle / Bus der erstens im stande ist 100 Meter per Kabel minimum
2 adern zu überprücken, Optionale Features wie Beep oder LED usw benötigen zusätzliche adern
der Datenbus D1 und D0 kann an den GPIO`s per Python Script angebunden werden.
Vorteil des ganzen , es gibt sehr viele günstige Endgeräte ( http://1qr.at/TJ ) für den Wiegand 26bit Bus vom RDIF , Fingerprint, Code, ....
** Minimal Bedinung am DoorPi Geräuse neben dem LCD Display per taster die wiederum per
MCP23017-E/SP Ic Chip ( http://1qr.at/TV ) am Raspberry angebunden sind um so zum beispiel einen Reset Taster, ...
** Eine Real Time Clock würde ich in diesem fall auch noch am print verbauen.
Freu mich auf Feedback
Stammt aus Issue #35 "SSH / Clients (HTML+APP)"
Wunsch / Anforderung:
SSH Befehl für Türöffner über PiFace
Steht in Verbindung mit #46. Grundsätzlich sollte DoorPi unter 2.7 und 3.3 bzw. 3.5 lauffähig sein.
Anfrage per Mail:
Bitte Möglichkeit geben, zyklisch direkt mit dem Watchdog zu kommunizieren (/dev/watchdog).
Watchdog überwacht DoorPi und im Fehlerfall soll ein Reboot durchgeführt werden.
Erweiterung meiner Teststellung - eventuell kann BananaPi relativ schnell eingebunden werden.
Für späteren Meilenstein:
http://dev.windows.com/en-us/featured/raspberrypi2support
Die Performance des RPi wird bei manchen an Grenzen stoßen. Speziell mit Echo-Unterdrückung und hochauflösendem Video-Signal wird es beim Single-Core 700MHz eng.
Deshalb der weite Blick voraus zum Quad-Core - eventuell mit optionalem Windows 10 um Installation und Konfiguration zu erleichtern.
Meldung aus Issue #17
2015-01-12 20:34:10,505 [DEBUG] [main] loaded with arguments: ['./main.py', '--configfile', '/home/pi/DoorPi/conf/doorpi.cfg']
2015-01-12 20:34:10,510 [DEBUG] [doorpi] init
2015-01-12 20:34:10,515 [DEBUG] [doorpi] run
2015-01-12 20:34:10,520 [DEBUG] [doorpi] prepare
2015-01-12 20:34:10,524 [DEBUG] [doorpi] givven arguments argv: Namespace(configfile=)
2015-01-12 20:34:10,530 [DEBUG] [conf.config_object] load_config ()
2015-01-12 20:34:10,535 [DEBUG] [conf.config_object] use configfile: /home/pi/DoorPi/conf/doorpi.cfg
2015-01-12 20:34:10,559 [DEBUG] [conf.config_object] init
2015-01-12 20:34:10,563 [TRACE] [conf.config_object] get_from_config
2015-01-12 20:34:10,583 [TRACE] [conf.config_object] get for key typ in section keyboard (default: autodetect)
2015-01-12 20:34:10,588 [TRACE] [conf.config_object] get_string for key typ in section keyboard (default: autodetect)
2015-01-12 20:34:10,592 [TRACE] [conf.config_object] section 'keyboard' doesn't exist
2015-01-12 20:34:10,597 [TRACE] [conf.config_object] return default 'autodetect
2015-01-12 20:34:10,602 [TRACE] [conf.config_object] get_int for key bouncetime in section keyboard (default: 5000)
2015-01-12 20:34:10,606 [TRACE] [conf.config_object] get_string for key bouncetime in section keyboard (default: )
2015-01-12 20:34:10,611 [TRACE] [conf.config_object] section 'keyboard' doesn't exist
2015-01-12 20:34:10,615 [TRACE] [conf.config_object] return default '
2015-01-12 20:34:10,620 [TRACE] [conf.config_object] get_keys for section InputPins
2015-01-12 20:34:10,626 [TRACE] [conf.config_object] get_keys for section OutputPins
2015-01-12 20:34:10,631 [TRACE] [keyboard.KeyboardInterface] autodetect
2015-01-12 20:34:10,635 [TRACE] [keyboard.KeyboardInterface] load_piface
2015-01-12 20:34:10,642 [DEBUG] [keyboard.from_piface] keyboard.from_piface loaded
2015-01-12 20:34:10,739 [DEBUG] [keyboard.AbstractBaseClass] keyboard.AbstractBaseClass loaded
2015-01-12 20:34:10,746 [DEBUG] [keyboard.from_piface] init(input_pins = ['11', '13', '15'], output_pins = ['18', '7', '16'])
2015-01-12 20:34:10,751 [TRACE] [action.handler] register Event OnKeyPressed from keyboard.from_piface
2015-01-12 20:34:10,755 [TRACE] [action.handler] register Eventsource keyboard.from_piface
2015-01-12 20:34:10,760 [DEBUG] [action.handler] event_source keyboard.from_piface was added
2015-01-12 20:34:10,764 [TRACE] [action.handler] added event_name OnKeyPressed an register source keyboard.from_piface
2015-01-12 20:34:10,925 [ERROR] [main] Exception NameError: No PiFace Digital board detected (hardware_addr=0, bus=0, chip_select=0).
Traceback (most recent call last):
File "./main.py", line 114, in main_as_application
try: doorpi.DoorPi(parsed_arguments).run()
File "/home/pi/DoorPi/doorpi/doorpi.py", line 174, in run
if not self.prepared: self.prepare(self.__parsed_arguments)
File "/home/pi/DoorPi/doorpi/doorpi.py", line 99, in prepare
self.__keyboard = load_keyboard()
File "/home/pi/DoorPi/doorpi/keyboard/KeyboardInterface.py", line 35, in load_keyboard
bouncetime = bouncetime
File "/home/pi/DoorPi/doorpi/keyboard/KeyboardInterface.py", line 41, in autodetect
try: return load_piface(input_pins, output_pins, bouncetime)
File "/home/pi/DoorPi/doorpi/keyboard/KeyboardInterface.py", line 54, in load_piface
output_pins = output_pins
File "/home/pi/DoorPi/doorpi/keyboard/from_piface.py", line 41, in __init
p.init()
File "/usr/lib/python2.7/dist-packages/pifacedigitalio/core.py", line 166, in init
raise failed_boards[0]
NoPiFaceDigitalDetectedError: No PiFace Digital board detected (hardware_addr=0, bus=0, chip_select=0).
2015-01-12 20:34:10,940 [DEBUG] [doorpi] destroy
2015-01-12 20:34:10,945 [WARNING] [action.handler] source doorpi unknown - skip fire_event OnShutdown
2015-01-12 20:34:10,949 [TRACE] [action.handler] unregister Eventsource doorpi and force_unregister is True
2015-01-12 20:34:10,954 [DEBUG] [keyboard.from_piface] destroy
Exception pifacedigitalio.core.NoPiFaceDigitalError: NoPiFaceDigitalError('There is no PiFace Digital with hardware_addr 0',) in > ignored
pi@doorberry ~/DoorPi/doorpi $
Fehlermeldung aus dem Forum:
http://www.forum-raspberrypi.de/Thread-haussteuerung-doorpi-voip-wechselsprechanlage-tuersprechanlage?pid=126878#pid126878
2015-01-10 16:48:19,379 [DEBUG] [keyboard.from_piface] __init__(input_pins = ['11', '13', '15'], output_pins = ['18', '7', '16'])
...
2015-01-10 16:48:19,726 [ERROR] [__main__] Exception NameError: list index out of range
Traceback (most recent call last):
File "/home/pi/DoorPi/doorpi/main.py", line 114, in main_as_application
try: doorpi.DoorPi(parsed_arguments).run()
File "/home/pi/DoorPi/doorpi/doorpi.py", line 174, in run
if not self.__prepared: self.prepare(self.__parsed_arguments)
File "/home/pi/DoorPi/doorpi/doorpi.py", line 99, in prepare
self.__keyboard = load_keyboard()
File "/home/pi/DoorPi/doorpi/keyboard/KeyboardInterface.py", line 35, in load_keyboard
bouncetime = bouncetime
File "/home/pi/DoorPi/doorpi/keyboard/KeyboardInterface.py", line 41, in autodetect
try: return load_piface(input_pins, output_pins, bouncetime)
File "/home/pi/DoorPi/doorpi/keyboard/KeyboardInterface.py", line 54, in load_piface
output_pins = output_pins
File "/home/pi/DoorPi/doorpi/keyboard/from_piface.py", line 51, in __init__
self.set_output(output_pin, 0, False)
File "/home/pi/DoorPi/doorpi/keyboard/from_piface.py", line 108, in set_output
p.digital_write(pin, value)
File "/usr/lib/python2.7/dist-packages/pifacedigitalio/core.py", line 226, in digital_write
_get_pifacedigital(hardware_addr).output_pins[pin_num].value = value
IndexError: list index out of range
2015-01-10 16:48:19,753 [DEBUG] [doorpi] destroy
Anfrage per Mail:
Bitte auch anderes sipphone anbieten (z.B. liblinphone)
Zum Beispiel wird beim Start folgendes ausgegeben:
[sipphone.by_pjsua] for example at this moment:Key-%LastKey%Y-12-23_19-04-38.wav
Da liblinphone nicht erfolgsversprechend aussieht hier eine Alternative:
https://wiki.gnome.org/Apps/Empathy
Eventuell können die Python Bindings mit Video-Support genutzt werden
Wunsch per Mail von @pmunz
Was hältst du einen RFID Receiver einzubinden ?
Immer mehr Menschen fordern die Transponder
Ob Aufkleber oder karte .
Ich hab das schon am laufen aber halt alles leihen Haft
Da python nicht so meins ist .
Ich hab den Reader per serieller schittstelle UART
An den gpio s angebunden , ein display begrüßt mich per Namen
Das Display ( per i2c bus ) kann ja optional sein.
Ein kleines User Management hatte ich im
Python code
I2c wäre auch möglich da wir dir busadresse
Im Python Code zusätzlich zum piface
Vergeben können / könnten.
Ein Emulator für Ein- und Ausgänge wird sowohl beim Testen als auch bei Anbindung an Fremdsysteme (#36) benötigt.
Habe mal ein Problem mit den GPIOS.. dachte dass jetzt soweit alles funktioniert aber beim start von DoorPi stellt er mir meine Output Pins auf Input um.
Außerdem beendet sich DoorPi nach dem Start sofort wieder.
Hier der Error im Log:
2014-12-27 18:04:31,843 [ERROR] [root] Exception NameError: set_output() got an unexpected keyword argument 'pin'
Traceback (most recent call last):
File "/home/pi/DoorPi//doorpi/service.py", line 44, in
try: daemon_runner.do_action()
File "/usr/lib/pymodules/python2.7/daemon/runner.py", line 186, in do_action
func(self)
File "/usr/lib/pymodules/python2.7/daemon/runner.py", line 131, in _start
self.app.run()
File "/home/pi/DoorPi/doorpi/doorpi.py", line 147, in run
if led is not '': self.is_alive_led(led)
File "/home/pi/DoorPi/doorpi/doorpi.py", line 168, in is_alive_led
log_output = False
TypeError: set_output() got an unexpected keyword argument 'pin'
2014-12-27 18:04:31,851 [DEBUG] [doorpi] destroy
Es besteht der Wunsch, ein Dashboard für den Webservice anzubieten.
Die empfangenen Dateien sollen übersichtlich und strukturiert dargestellt werden.
Optional soll das Dashboard erweitert werden können.
Komponenten sind:
die while-Schleife in doorpi.py wird zu schnell durchlaufen, vielleicht würde ein time.sleep(0.1) helfen?
Das wirkt sich negativ auf z.B. die Sprachqualität aus. Auch die Wiedergabe vom DialTone hört sich dadurch komisch an.
Anfrage per Mail:
Bitte Möglichkeit geben, zyklisch eine Status-Datei schreiben zu lassen.
Diese soll dann vom Watchdog überwacht werden und im Fehlerfall ein Reboot durchgeführt werden.
Es sollen mehrere Ein- und Ausgabeschnittstellen gleichzeitig angebunden werden.
Das ist nötig wenn:
Ich möchte die Log-Ausgabe gerne in der Konsole verfolgen - wie starte ich DoorPi als Anwendung und nicht als Daemon?
In der Config sollte einstellbar sein, wie lange DoorPi versucht die Telefone anzurufen bevor es aufgibt.
Im Standard sind es 120 Sekunden, das ist viel zu lange.
Die Log-Datei unter /var/log/doorpi wird nicht richtig geschrieben.
Die doorpi.log selbst ist leer.
Anforderung aus dem Forum hier:
http://www.forum-raspberrypi.de/Thread-haussteuerung-doorpi-voip-wechselsprechanlage-tuersprechanlage?pid=130109#pid130109
Geht dort speziell um eine Kühlraumüberwachung.
Beim Gesprächsaufbau klingelt es einmal, danach wird DoorPi sofort beendet. Es gibt keine weitere Fehlermeldungen in der Log-Datei.
Wäre es möglich, die Loglevel im doorpi.cfg einstellbar zu machen.
Installation Loglevel --> DEBUG
Normalbetrieb --> WARNING, ERROR
Wünsche von hier:
http://www.ip-symcon.de/forum/threads/26739-DoorPI-VoIP-Door-Intercomstation-with-Raspberry-Pi?p=245497#post245497
Meine Wünsche wären ...
V1. Ist wer zu Hause = Haustelefon und Videostream auf dem Monitor
V2. ist keiner zu Hause = Videostream auf dem Handy
VG
Andreas
while execute Doorpi.install comes following error message:
Der Quellcode von DoorPi sollte besser dokumentiert werden.
Eventuell kann dafür Sphinx (http://sphinx-doc.org/) genutzt werden.
2014-12-24 11:09:40,889 [DEBUG] [doorpi] init
2014-12-24 11:09:40,896 [ERROR] [root] Exception NameError: PID file '/var/run/doorpi.pid' not locked
Traceback (most recent call last):
File "/home/pi/DoorPi//doorpi/service.py", line 44, in
try: daemon_runner.do_action()
File "/usr/lib/pymodules/python2.7/daemon/runner.py", line 186, in do_action
func(self)
File "/usr/lib/pymodules/python2.7/daemon/runner.py", line 149, in stop
"PID file %(pidfile_path)r not locked" % vars())
DaemonRunnerStopFailureError: PID file '/var/run/doorpi.pid' not locked
es wird nur noch die Datei
/var/log/doorpi/stderr.log mit vielen Fehlermeldungen gefüllt.
Bitte Video-Support hinzufügen. Es sollen PiCam oder Netzwerkkamera unterstützt werden.
Per Mail:
Wunsch nach mehr Events, speziell beim Thema Zeit. So soll z.B. das statusfile nur aller 5 Minuten geschrieben werden.
Habe eben einen SipCall gemacht und nachdem DTMF "#" gesendet wurde und sofort danach aufgelegt wird läuft doorpi nicht mehr. Beendet man den SipCall erst nachdem das Event door-open abgearbeitet ist funktioniert doorpi weiterhin.
https://github.com/wiringX/wiringX
Vorteile:
Als zusätzliches Keyboard sicherlich nicht falsch, zumal die Anbindung neuer Keyboards recht gut gekapselt ist. Eventuell im Zusammenhang mit Re-Design der Keyboards #44
sudo /etc/init.d/doorpi restart fürht zu dem Fehler:
pi@doorpi ~ $ sudo /etc/init.d/doorpi stop
Stopping server
Traceback (most recent call last):
File "/home/pi/DoorPi//doorpi/service.py", line 46, in
finally: doorpi.DoorPi().destroy()
File "/home/pi/DoorPi/doorpi/doorpi.py", line 106, in destroy
self.fire_event('OnShutdown')
File "/home/pi/DoorPi/doorpi/doorpi.py", line 170, in fire_event
for action in sorted(self.get_config().get_keys(event_name)):
AttributeError: 'NoneType' object has no attribute 'get_keys'
for example the status_led stay on after shutdown
Bei nicht Benutzung einer PIFace-Karte DoorPi startet nicht
Um die Ausführung von DoorPi zu kapseln sollte virtualenv eingerichtet werden.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.