DoorPi-Projekt

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

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

So, die Pläne konsolidieren sich.

Die Türstation wird tatsächlich ein smartes Namensschild bekommen. Die Nextion-Displays werden mit einem vorkonfigurierten GUI bestückt, bestehend aus zwei oder drei Seiten.

1. Seite = Namensschild
2. Seite = Tastatur mit 12 Buttons
3. Seite = Textkästen mit 4 Buttons

Zwar habe ich die Hardware noch nicht da, aber mit Hilfe von Gimp und dem Nextion-Editor diese Seiten schon erstellt. Die werden in einem Binärformat in die Hardware geladen, selbige kommuniziert dann nur noch per serieller Schnittstelle. Da der Hersteller auch eine Arduno-Bilbiothek liefert, werde ich das zusammen mit dem 1-Wire Reader für die iButtons in dem lokalen Arduino unterbringen - und auf der Innenseite der Wand, also ca. 30 cm entfernt, einen RaspberryPi 3 mit DoorPi einbauen.

LG

pah 

Joker

Sehr interessant. Das könnte ich mir für eine V2 meines DoorPi Aufbaus auch vorstellen.
Hast du dir schon Gedanken gemacht bzw. gibt es Informationen darüber, wie man die Displays in eine Frontplatte einbauen kann? Ich denke in Richtung wasserdicht etc...

Prof. Dr. Peter Henning

Aber klar.

Derzeit läuft auf einem meiner 3D-Drucker der Ausdruck des "Bezel" = Montageplatte und Blende, den Nextion hier zur Verfügung stellt: http://wiki.iteadstudio.com/Nextion_HMI_Solution#Related_Downloads

Ist aber noch nicht das Gelbe vom Ei, weil ich eigentlich die Blende in die maßgefertigte Alu-Frontplatte (4mm)  integrieren will. Das bedeutet, dass ich "lediglich" einen hinteren Gehäuseteil modellieren und Ausdrucken muss. 0.1mm Folie wasserdicht an die Frontplatte geklebt, dann von hinten mit umlaufender Dichtung diesen hinteren Gehäuseteil dagegen geschraubt - damit lässt sich IP66 hinbekommen.

LG

pah

P.S.: Pseudonym identisch mit dem aus dem DoorPi-Forum ? Dann schicke ich mal per PN eine Erläuterung.

HoTi

Hallo pah,

wenn du das schon zusammenschreibst würde mich das auch interessieren. Da ich gerade meinen DoorPi plane.
Allerdings habe ich "nur" die Möglichkeit die Frontplatte zu ersetzen, da das Gehäuse schon in der Mauer eingelassen ist.
In diesem "Gehäuse" sitz dann bei mir aber nur das Lebensnotwendige... Sprich: Lautersprecher, Mikrofon, Klingelknopf, Lichtknopf, iButton, ggf. Kamera und Namesschild (in welcher Form auch immer).
Der Rest ist in der Garage in einem Kasten, direkt an der Wand hinter Klingelknopf.
Mein Problem ist, das es die Wetterseite ist und trotz vorgezogenen Dach je nach Wind auch Regenwasser dran spritzen kann.

Viele Grüße aus  Oberbayern
Tim (RettungsTim)

HoTi

Hallo pah,

ich habe heute versucht dein Modul ans Laufen zu bringen. Leider ist nach dem define FHEM nicht mehr zu erreichen.

Verbosen auf 5 setzen kann ich nicht mehr weil FHEM da ja schon abgeschmiert ist. Eventuell könnte ich es über die cfg definieren, wenn dir das was bringen würde.

Hier mal der erzeugte LOG Eintrag:

2016.05.02 12:45:15 1: PERL WARNING: keys on reference is experimental at ./FHEM/70_DoorPi.pm line 349.
2016.05.02 12:45:15 1: PERL WARNING: keys on reference is experimental at ./FHEM/70_DoorPi.pm line 357.
2016.05.02 12:45:15 1: [DoorPi_GetConfig] keyboard 'filesystem' defined as 'webservice'
Not an ARRAY reference at ./FHEM/70_DoorPi.pm line 444.

Viele Grüße aus  Oberbayern
Tim (RettungsTim)

Prof. Dr. Peter Henning

Hm, wundert mich, weil das bei mir schon im Produktivsystem läuft und bereits Beta-Status hat.

Bitte mal die angehängte Version testen.

LG

pah

Wal

Zitat von: HoTi am 02 Mai 2016, 12:51:05
Hallo pah,
ich habe heute versucht dein Modul ans Laufen zu bringen. Leider ist nach dem define FHEM nicht mehr zu erreichen.

Das hatte ich auch, habe dann die doorpi.ini von pah angepasst und es ging.
Kaum macht man es richtig, funktioniert es auch !

Gruß
Walter

HoTi

Zitat von: Wal am 02 Mai 2016, 14:11:38
Das hatte ich auch, habe dann die doorpi.ini von pah angepasst und es ging.

Ich habe ja die DoorPi.ini an meine System angepasst!

Was hast du den noch geändert?

@pah
ich werde es Testen.
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

HoTi

Bei dem reload von deinem neuen Modul passiert das:

syntax error at ./FHEM/70_DoorPi.pm line 43, near "1.0beta1"
Global symbol "@a" requires explicit package name at ./FHEM/70_DoorPi.pm line 52.
Global symbol "@a" requires explicit package name at ./FHEM/70_DoorPi.pm line 52.
Global symbol "$v" requires explicit package name at ./FHEM/70_DoorPi.pm line 52.
Global symbol "@a" requires explicit package name at ./FHEM/70_DoorPi.pm line 53.
Global symbol "@a" requires explicit package name at ./FHEM/70_DoorPi.pm line 53.
Global symbol "$v" requires explicit package name at ./FHEM/70_DoorPi.pm line 53.
Global symbol "@a" requires explicit package name at ./FHEM/70_DoorPi.pm line 55.
Global symbol "@a" requires explicit package name at ./FHEM/70_DoorPi.pm line 55.
Global symbol "$newkeys" requires explicit package name at ./FHEM/70_DoorPi.pm line 56.
Global symbol "$newkeys" requires explicit package name at ./FHEM/70_DoorPi.pm line 58.
Unmatched right curly bracket at ./FHEM/70_DoorPi.pm line 59, at end of line
./FHEM/70_DoorPi.pm has too many errors.
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

Prof. Dr. Peter Henning

Öh, das war eine zu schnelle Änderung aus derFerne...Sorry

LG

pah

HoTi

Ach überhaupt kein Problem! Ich wollte es dir nur schreiben, du weißt es ja jetzt. Ich Teste wieder wenn du dazu gekommen bist was zu ändern.

Wenn du noch Infos von mir brauchst oder ich was falsch mache,  meldest dich bitte.
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

Wal

#146
Zitat von: HoTi am 02 Mai 2016, 14:30:06
Ich habe ja die DoorPi.ini an meine System angepasst!

Was hast du den noch geändert?

doorpi.cfg
define myDoorPi DoorPi 192.168.120.4
attr myDoorPi room DoorPi


doorpi.ini
[DoorPi]
base_path = /usr/local/etc/DoorPi
snapshot_path = /home/doorpi/records
number_of_snapshots = 10
eventlog = /home/doorpi/log/eventlog.db
is_alive_led =
last_snapshot =

[DoorPiWeb]
indexfile = index.html
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

[AdminNumbers]
**621 = active

[EVENT_OnStartup]
10 = sleep:1

[SIP-Phone]
identity = DoorPi
local_port = 5060
firewallpolicy = PolicyNoFirewall
sipphonetyp = linphone
sipserver_password = xxxxxx
sipserver_realm = fritz.box
sipserver_server = 192.168.120.1
sipserver_username = 620
stun_server =
max_call_time = 120
call_timeout = 15
ua.max_calls = 2
capture_device = ALSA: USB Device 0x46d:0x825
playback_device = ALSA: bcm2835 ALSA
audio_codecs = PCMA,PCMU
record_while_dialing = False
records = /home/doorpi/records/%Y-%m-%d_%H-%M-%S.wav
dialtone = /home/doorpi/sounds/ShortDialTone.wav
dialtone_renew_every_start = False
dialtone_volume = 35
echo_cancellation_enabled = False
video_codecs = VP8
video_device = StaticImage: Static picture
video_display_enabled = False
video_size = vga

[keyboards]
onboardpins = piface
webservice = filesystem

[webservice_keyboard]
base_path_input = /home/doorpi/keyboard/inputs/
base_path_output = /home/doorpi/keyboard/outputs/
[onboardpins_InputPins]
0 = call:**622
1 = call:**622
2 = call:**622
3 = call:**622

[EVENT_OnKeyPressed_onboardpins.7]
#10 = os_execute:/home/doorpi/iButton_NOK.sh

[EVENT_OnKeyPressed_onboardpins.6]
#10 = os_execute:/home/doorpi/iButton_OK.sh
#20 = out:door,1,0,3

[webservice_InputPins]
door = out:door,1,0,3
lighton = out:light,1
lightonfortimer = out:light,1,0,60
lightoff = out:light,0
dashlighton = out:dashlight,1
dashlightoff = out:dashlight,0
purge = sleep:0
clear = sleep:0
button1 = sleep:0
button2 = sleep:0

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

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

[onboardpins_keyboard]
pull_up_down = PUD_UP

[onboardpins_OutputPins]
0 = door
1 = light
2 = blinking_led


Mit "adduser" den User doorpi erstellt.
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.
In den Ordner /home/doorpi/sounds die ShortDialTone.wav.
Das war glaube ich alles.
Kaum macht man es richtig, funktioniert es auch !

Gruß
Walter

Joker

Zitat von: Prof. Dr. Peter Henning am 02 Mai 2016, 10:15:54
Derzeit läuft auf einem meiner 3D-Drucker der Ausdruck des "Bezel" = Montageplatte und Blende, den Nextion hier zur Verfügung stellt: http://wiki.iteadstudio.com/Nextion_HMI_Solution#Related_Downloads

Ist aber noch nicht das Gelbe vom Ei, weil ich eigentlich die Blende in die maßgefertigte Alu-Frontplatte (4mm)  integrieren will. Das bedeutet, dass ich "lediglich" einen hinteren Gehäuseteil modellieren und Ausdrucken muss. 0.1mm Folie wasserdicht an die Frontplatte geklebt, dann von hinten mit umlaufender Dichtung diesen hinteren Gehäuseteil dagegen geschraubt - damit lässt sich IP66 hinbekommen.
Klingt gut. Ich sehe das mal für die Version 2 meines DoorPi vor. Erstmal kommt ein nicht smartes Namensschild dran (sprich beleuchtetes Plexiglas mit Aufdruck  ;D)

Zitat
P.S.: Pseudonym identisch mit dem aus dem DoorPi-Forum ? Dann schicke ich mal per PN eine Erläuterung.
Yepp that's me... danke für weitere Infos. Wie gesagt, eilt aktuell nicht da noch nicht akut.

Dein FHEM Modul will ich auch schon lang mal testen, kam aber bisher noch nicht dazu...

Wal

Hi pah,
ich musste deine 70_doorpi.pm ändern, um das Licht wieder auszuschalten.

$newkeys =~ s/$door/$door:$doorsubs /g;               # FHEMWEB sugar
    $newkeys =~ s/$light/$light:on,on-for-timer,off /g;   # FHEMWEB sugar
    $newkeys =~ s/$dashlight/$dashlight:on,off /g;        # FHEMWEB sugar
    $newkeys =~ s/button(\d\d?)/button$1:noArg /g;        # FHEMWEB sugar
    $newkeys =~ s/purge/purge:noArg /g;                   # FHEMWEB sugar

ich habe jeweils ein Leerzeichen vor /g eingefügt, da in der Maske bei Set Befehl immer offoff angezeigt wurde.
Kaum macht man es richtig, funktioniert es auch !

Gruß
Walter

Prof. Dr. Peter Henning

#149
Stimmt. Übernehme ich gerne.

Edit: Nene, so einfach ist das doch nicht - denn ob die richtigen Kommandos in der doorpi.ini stehen, muss erst noch geprüft werden. Diese relativ umfangreiche Prüfung habe ich jetzt eingebaut in die Version 1.0beta2 (im repository).

LG

pah