Autor Thema: Neues Modul: Nello  (Gelesen 8426 mal)

Offline neumann

  • Developer
  • Full Member
  • ****
  • Beiträge: 138
Neues Modul: Nello
« am: 06 August 2017, 20:15:41 »
Hallo zusammen,

wie bereits angekündigt habe ich ein natives Modul für den Chip nello one entwickelt, der Gegensprechanlagen steuerbar macht.
Die Steuerung ist leider nur über eine Cloud-Verbindung möglich - die Events kommen dank MQTT allerdings fast in Echtzeit (sobald man die Geräte-ID erkannt hat).

Funktionen des Moduls:
  • Öffnen der Gebäudetür
  • Ereignisse über Öffnen, Klingeln & co

Zum Setup:
Um das Modul aufzusetzen, muss zunächst ein neuer Nutzer mit Admin-Rechten in der Nello-App angelegt werden, der nur für FHEM verwendet wird - eine Nutzung per App ist mit diesem Account dann nicht mehr möglich.
Anschließend kann das Gerät angelegt werden. Sobald das Gerät erstellt wurde, kann der Login durchgeführt werden.

Sollte der Login fehlschlagen, versucht das Passwort über die recoverPassword Funktion zurückzusetzen.

Dringend empfohlen: Für verzögerungsfreie Events die detectDeviceID Funktion nach dem Login aufrufen. Diese erkennt durch Öffnen der Tür die ID und erzeugt Hilfsgeräte, die die Events an das Modul melden.

Benötigte Pakete:
sudo apt-get install libcpan-meta-yaml-perl
sudo cpan -i Net::MQTT::Simple

Ansonsten kann das Modul dann wie dokumentiert benutzt werden.

Ich freue ich auf euer Feedback!


Liebe Grüße
Oskar
« Letzte Änderung: 08 September 2017, 22:12:09 von neumann »
Modulentwickler
- Spotify #72490
- Nello #75127
Gefällt mir Gefällt mir x 5 Hilfreich Hilfreich x 1 Liste anzeigen

Offline micomat

  • Tester
  • Hero Member
  • ****
  • Beiträge: 1463
  • Alle redem vom WAF - das ist Männerdiskriminierung
Antw:Neues Modul: Nello
« Antwort #1 am: 07 August 2017, 06:19:06 »
Danke :) Werde im Urlaub testen.
1x RasPi with FHEM@1000MHz, CUL433+868, IT, 2x EGPM2LAN, THZ/LWZ, STV, FB_Callmonitor, 3x HMS100TF, HMLAN, 4x HM-LC-Sw1PBU-FM, 1x HM-WDS30-T-O, 2x TX3-TH, Pushover
1x RasPi with 2x USB-IR-SML-Head, THZ via Ser2net and SMA Inverter via LAN for pvoutput.org

Offline columb

  • New Member
  • *
  • Beiträge: 6
Antw:Neues Modul: Nello
« Antwort #2 am: 08 August 2017, 18:04:13 »
Hi,
habe mein nello auch gerade bekommen und habe großes Interesse an deinem Modul. nur weiß ich leider nicht wie ich es installieren soll. kannst du eine ausführliche Anleitung schreiben? danke!

Offline volschin

  • Hero Member
  • *****
  • Beiträge: 1162
Antw:Neues Modul: Nello
« Antwort #3 am: 08 August 2017, 20:55:48 »
Hast Du Dir denn schon mal die Mühe gemacht und die commandref gelesen? Dann könntest Du vielleicht präzisieren, was Dir nicht klar ist.
RPi3+ FHEM5.9,HM-MOD-RPI-PCB+HM-USB-CFG2+hmland
HM: CC-TC,CC-VD,LC-Dim1T-Pl-2,LC-SW1-PL2,LC-Sw1PBU-FM,LC-Dim1PWM-CV,PB-4DIS-WM,RC-19-SW
SEC-RHS,SEC-SC,SEC-SD,SEC-WIN,SEC-MDIR,Sen-MDIR-WM55,SEC-Sco
HUE: diverse, Amzn Dash-Buttons, Siro
4xRPi,4xCO20,OWL+USB,HarmonyHub,FB7590 v7.01,Echo Dot,Logi Circle

Offline Zephyr

  • Full Member
  • ***
  • Beiträge: 171
Antw:Neues Modul: Nello
« Antwort #4 am: 08 August 2017, 21:29:24 »
Hallo zusammen,

gestern den Nelly bekommen und eingebaut. Funzt super mit der App. Nun möchte ich das Teil natürlich noch in FHEM haben.  ;O)
Also habe ich gestern meine FHEM-Testinstallation gleich auf die aktuelle SVN-Version gebracht.

Die notwendigen Module zu installieren war fast problemlos. Vielleicht ein Hinweis für die commandref: Unter Debian 8.4 musste ich noch zusätzlich das Perl-Modul libcpan-meta-yaml-perl installieren:
sudo apt-get install libcpan-meta-yaml-perl

Da ich den Account unter iOS angelegt  habe, musste ich tatsächlich die Recover password Funktion der App benutzen und bekam ein Passwort zugeschickt, mit dem ich mich einloggen konnte. Der Login klappte dann auch problemlos.

Ein Problem tauchte auf, als ich "detectDeviceID" ausprobieren wollte. Dann stürzte nämlich FHEM ab und gab folgende Fehlermeldungen aus:
2017.08.08 20:55:21 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/31_Nello.pm line 228.
2017.08.08 20:55:31 3: nello_Kameruner: login failed
2017.08.08 20:57:04 3: nello_Kameruner: login failed
2017.08.08 21:06:35 3: nello_Kameruner: login successful
2017.08.08 21:06:44 3: nello_Kameruner: login successful
2017.08.08 21:06:52 3: nello_Kameruner: opening door to detect device ID now.
2017.08.08 21:06:53 3: nello_Kameruner: opened
2017.08.08 21:06:53 3: nello_Kameruner: opened
Undefined subroutine &main::internalExists called at ./FHEM/31_Nello.pm line 140.

mit Verbose 5 kommt folgendes:
2017.08.08 21:21:49 4: DbLog dbl_orpheus -> processing event Timestamp: 2017-08-08 21:21:49, Device: nello_Kameruner, Type: NELLO, Event: login zephyr_allgemein@mac.com Karlsbad91:Wasser, Reading: state, Value: login zephyr_allgemein@mac.com Karlsbad91:Wasser, Unit:
2017.08.08 21:21:49 4: DbLog dbl_orpheus -> 1 of 1 events inserted into table history
2017.08.08 21:21:49 5: DbLog dbl_orpheus -> DbLog_Push Returncode: 0
2017.08.08 21:21:49 5: End notify loop for nello_Kameruner
2017.08.08 21:21:49 5: HttpUtils request header:
POST /login HTTP/1.0
Host: api.nello.io
User-Agent: fhem
Cookie: session=.eJwdyzEKwzAMAMC_aI7AsSVLymeCHMvQoaG4yVT690Jvvw_sr5hPP-O8YLvmHQs8OmxQjdQ0EkYxRcq5oVMdKG0tLmtlbQIL3O-Y-z8clplGUfTOGYkOQUtRcLBxeKIuleH7AyONHuM.DGugww.KtbK9yOz-37S8qMb7mRjgL2TWBI
Content-Length: 117
Content-Type: application/x-www-form-urlencoded


2017.08.08 21:21:49 5: Cmd: >{ReadingsVal("nello_Kameruner","detectDeviceID","")}<
2017.08.08 21:21:49 5: Cmd: >{AttrVal("nello_Kameruner","room","")}<
2017.08.08 21:21:54 5: Cmd: >set nello_Kameruner detectDeviceID<
2017.08.08 21:21:54 4: HttpUtils url=http://nello.oskar.pw/detectMQTT.php
2017.08.08 21:21:54 5: Starting notify loop for nello_Kameruner, 1 event(s), first is detectDeviceID
2017.08.08 21:21:54 5: createNotifyHash
2017.08.08 21:21:54 5: End notify loop for nello_Kameruner
2017.08.08 21:21:54 5: HttpUtils request header:
GET /detectMQTT.php HTTP/1.0
Host: nello.oskar.pw
User-Agent: fhem

2017.08.08 21:21:54 5: Cmd: >{ReadingsVal("nello_Kameruner","detectDeviceID","")}<
2017.08.08 21:21:54 5: Cmd: >{AttrVal("nello_Kameruner","room","")}<
2017.08.08 21:21:56 3: nello_Kameruner: opening door to detect device ID now.
2017.08.08 21:21:56 4: HttpUtils url=https://api.nello.io/locations/1ea3e447-3757-4b80-9f20-fcd0196623ef/users/c9254f38-ad52-44c7-90e3-f595ea04d765/open
2017.08.08 21:21:56 4: HttpUtils url=https://api.nello.io/locations/1ea3e447-3757-4b80-9f20-fcd0196623ef/users/c9254f38-ad52-44c7-90e3-f595ea04d765/open
2017.08.08 21:21:56 5: HttpUtils request header:
POST /locations/1ea3e447-3757-4b80-9f20-fcd0196623ef/users/c9254f38-ad52-44c7-90e3-f595ea04d765/open HTTP/1.0
Host: api.nello.io
User-Agent: fhem
Cookie: session=.eJwdyzEKwzAMAMC_aI7AsSVLymeCHMvQoaG4yVT690Jvvw_sr5hPP-O8YLvmHQs8OmxQjdQ0EkYxRcq5oVMdKG0tLmtlbQIL3O-Y-z8clplGUfTOGYkOQUtRcLBxeKIuleH7AyONHuM.DGugww.KtbK9yOz-37S8qMb7mRjgL2TWBI
Content-Length: 16
Content-Type: application/x-www-form-urlencoded

2017.08.08 21:21:56 5: HttpUtils request header:
POST /locations/1ea3e447-3757-4b80-9f20-fcd0196623ef/users/c9254f38-ad52-44c7-90e3-f595ea04d765/open HTTP/1.0
Host: api.nello.io
User-Agent: fhem
Cookie: session=.eJwdyzEKwzAMAMC_aI7AsSVLymeCHMvQoaG4yVT690Jvvw_sr5hPP-O8YLvmHQs8OmxQjdQ0EkYxRcq5oVMdKG0tLmtlbQIL3O-Y-z8clplGUfTOGYkOQUtRcLBxeKIuleH7AyONHuM.DGugww.KtbK9yOz-37S8qMb7mRjgL2TWBI
Content-Length: 16
Content-Type: application/x-www-form-urlencoded

2017.08.08 21:21:56 4: https://api.nello.io/locations/1ea3e447-3757-4b80-9f20-fcd0196623ef/users/c9254f38-ad52-44c7-90e3-f595ea04d765/open: HTTP response code 200
2017.08.08 21:21:56 4: HttpUtils https://api.nello.io/locations/1ea3e447-3757-4b80-9f20-fcd0196623ef/users/c9254f38-ad52-44c7-90e3-f595ea04d765/open: Got data, length: 93
2017.08.08 21:21:56 5: HttpUtils response header:
HTTP/1.1 200 OK
Content-Type: application/json
Date: Tue, 08 Aug 2017 19:28:39 GMT
Server: nginx/1.4.6 (Ubuntu)
Set-Cookie: session=.eJwdyzEKwzAMAMC_aI7AsSVLymeCHMvQoaG4yVT690Jvvw_sr5hPP-O8YLvmHQs8OmxQjdQ0EkYxRcq5oVMdKG0tLmtlbQIL3O-Y-z8clplGUfTOGYkOQUtRcLBxeKIuleH7AyONHuM.DGug1A.ClYDQVo3NXq3KbM4hhK5T6Ce5GA; Expires=Wed, 08-Aug-2018 19:21:56 GMT; HttpOnly; Path=/
Content-Length: 93
Connection: Close
2017.08.08 21:21:56 3: nello_Kameruner: opened
2017.08.08 21:21:56 4: HttpUtils url=https://api.nello.io/locations/1ea3e447-3757-4b80-9f20-fcd0196623ef/activity
2017.08.08 21:21:56 5: HttpUtils request header:
GET /locations/1ea3e447-3757-4b80-9f20-fcd0196623ef/activity HTTP/1.0
Host: api.nello.io
User-Agent: fhem
Cookie: session=.eJwdyzEKwzAMAMC_aI7AsSVLymeCHMvQoaG4yVT690Jvvw_sr5hPP-O8YLvmHQs8OmxQjdQ0EkYxRcq5oVMdKG0tLmtlbQIL3O-Y-z8clplGUfTOGYkOQUtRcLBxeKIuleH7AyONHuM.DGugww.KtbK9yOz-37S8qMb7mRjgL2TWBI

2017.08.08 21:21:57 4: https://api.nello.io/locations/1ea3e447-3757-4b80-9f20-fcd0196623ef/users/c9254f38-ad52-44c7-90e3-f595ea04d765/open: HTTP response code 200
2017.08.08 21:21:57 4: HttpUtils https://api.nello.io/locations/1ea3e447-3757-4b80-9f20-fcd0196623ef/users/c9254f38-ad52-44c7-90e3-f595ea04d765/open: Got data, length: 93
2017.08.08 21:21:57 5: HttpUtils response header:
HTTP/1.1 200 OK
Content-Type: application/json
Date: Tue, 08 Aug 2017 19:28:39 GMT
Server: nginx/1.4.6 (Ubuntu)
Set-Cookie: session=.eJwdyzEKwzAMAMC_aI7AsSVLymeCHMvQoaG4yVT690Jvvw_sr5hPP-O8YLvmHQs8OmxQjdQ0EkYxRcq5oVMdKG0tLmtlbQIL3O-Y-z8clplGUfTOGYkOQUtRcLBxeKIuleH7AyONHuM.DGug1A.ClYDQVo3NXq3KbM4hhK5T6Ce5GA; Expires=Wed, 08-Aug-2018 19:21:56 GMT; HttpOnly; Path=/
Content-Length: 93
Connection: Close
2017.08.08 21:21:57 3: nello_Kameruner: opened
2017.08.08 21:21:57 4: HttpUtils url=https://api.nello.io/locations/1ea3e447-3757-4b80-9f20-fcd0196623ef/activity
2017.08.08 21:21:57 4: http://nello.oskar.pw/detectMQTT.php: HTTP response code 200
2017.08.08 21:21:57 4: HttpUtils http://nello.oskar.pw/detectMQTT.php: Got data, length: 40
2017.08.08 21:21:57 5: HttpUtils response header:
HTTP/1.1 200 OK
Date: Tue, 08 Aug 2017 19:21:54 GMT
Server: Apache/2.4.10 (Debian)
Content-Length: 40
Connection: close
Content-Type: text/html; charset=UTF-8
Undefined subroutine &main::internalExists called at ./FHEM/31_Nello.pm line 140.

Hilft das für eine eventuelle Fehlersuche oder kann mir jemand einen Tipp geben?

Vielen Dank
Zephyr
FHEM 5.5 auf Fritz!Box 7390 und Beagle Bone black mit RFXtrx433

Offline neumann

  • Developer
  • Full Member
  • ****
  • Beiträge: 138
Antw:Neues Modul: Nello
« Antwort #5 am: 09 August 2017, 10:32:32 »
Lieber Zephyr,

vielen Dank für's Testen und das Feedback - da hatte sich tatsächlich ein Fehler eingeschlichen - bitte probiere es mit der neuen Version aus dem SVN erneut.
Das fehlende Paket habe ich ebenfalls der Liste hinzugefügt.

Vielen Dank!

LG
Oskar
Modulentwickler
- Spotify #72490
- Nello #75127

Offline columb

  • New Member
  • *
  • Beiträge: 6
Antw:Neues Modul: Nello
« Antwort #6 am: 09 August 2017, 11:32:21 »
Hast Du Dir denn schon mal die Mühe gemacht und die commandref gelesen? Dann könntest Du vielleicht präzisieren, was Dir nicht klar ist.

Sorry natürlich nicht. Aber jetzt... ;D

Offline neumann

  • Developer
  • Full Member
  • ****
  • Beiträge: 138
Antw:Neues Modul: Nello
« Antwort #7 am: 09 August 2017, 11:59:33 »
Sorry natürlich nicht. Aber jetzt... ;D

und jetzt kommst du klar?
Modulentwickler
- Spotify #72490
- Nello #75127

Offline columb

  • New Member
  • *
  • Beiträge: 6
Antw:Neues Modul: Nello
« Antwort #8 am: 09 August 2017, 12:06:54 »
Naja, habe nello jetzt eingerichtet kann mich einloggen, aber nur mit dem Account den als erstes das Setup für nello gemacht habe.

Nachdem ich set detectDeviceID eingebe stürzt fhem leider ab.

Offline neumann

  • Developer
  • Full Member
  • ****
  • Beiträge: 138
Antw:Neues Modul: Nello
« Antwort #9 am: 09 August 2017, 12:08:34 »
Wie gesagt, das habe ich eben behoben.
Ersetz mal die Datei anbei (morgen dann auch als Update verfügbar).

Und füge einen neuen Nutzer hinzu, da du sonst den Account auf deinem Handy nicht mehr verwenden kannst (du wirst ständig ausgeloggt werden).
Modulentwickler
- Spotify #72490
- Nello #75127

Offline columb

  • New Member
  • *
  • Beiträge: 6
Antw:Neues Modul: Nello
« Antwort #10 am: 09 August 2017, 12:26:00 »
Danke jetzt funktioniert alles soweit.

User wird erkannt und fhem stürzt nicht ab. Jetzt schaue ich mal wie ich das bastel das wenns klingelt mein Lametric anspringt..

Tausend d´Dank erstmal an dich.

Offline neumann

  • Developer
  • Full Member
  • ****
  • Beiträge: 138
Antw:Neues Modul: Nello
« Antwort #11 am: 09 August 2017, 12:27:27 »
Super, gerne!
Erstell dir dafür einfach ein notify auf das Reading last_ring bei deinem Nello device.

LG
Modulentwickler
- Spotify #72490
- Nello #75127

Offline columb

  • New Member
  • *
  • Beiträge: 6
Antw:Neues Modul: Nello
« Antwort #12 am: 09 August 2017, 13:20:21 »
Danke. Es funktioniert.

Hier der notify code:
nello {fhem ("set lametric msg 'a9766' 'Es klingelt an der Haustür' 'notifications:knock-knock'") if (ReadingsVal("nello","last_ring","") > 1502275036)}
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline neumann

  • Developer
  • Full Member
  • ****
  • Beiträge: 138
Antw:Neues Modul: Nello
« Antwort #13 am: 09 August 2017, 13:25:22 »
Hey,

das mit dem hardgecodeten timestamp ist keine gute Idee, änder mal dein Notify ab auf folgendes:
nello.last_ring:.* {fhem ("set lametric msg 'a9766' 'Es klingelt an der Haustür' 'notifications:knock-knock'")}
das sollte es zuverlässig tun.

LG
Modulentwickler
- Spotify #72490
- Nello #75127

Offline asciidisco

  • New Member
  • *
  • Beiträge: 30
Antw:Neues Modul: Nello
« Antwort #14 am: 14 August 2017, 15:59:35 »
Sehr cool. Habe es vor ner guten Stunde bei mir installiert & direkt eingebunden. Funktioniert tadellos soweit. Danke für´s Modul.