Blink Security Home Kamera - Modul - 48_BlinkCamera.pm

Begonnen von viegener, 26 Oktober 2016, 22:31:25

Vorheriges Thema - Nächstes Thema

viegener

Ich habe mal ein neues Attribut imgOriginalFile (Wert 1 / 0) hinzugefügt, damit werden bei 1 die Originalnamen für die Thumbnails verwendet und damit auch nicht jedesmal überschrieben. Allerdings gibt es kein automatisches Aufräumen und die Dateien bleiben stehen, wenn man nicht selber aufräumt.

Neue Version findet sich in github
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

strategy

Hallo viegener,

auf diesem Wege vielen, vielen Dank für das FHEM Modul.
Ich hab das Modul jetzt über längere Zeit eingesetzt und bin glücklich mit den Möglichkeiten die das Modul zur verfügung stellt.

Allerdings habe ich seit der vergangenen Woche das Problem, dass sich die Thumbnails (die ich in einer Tablet UI Oberfläche anzeige und auch von dort aus aktualisiere) nicht mehr aktualisieren lassen. Soweit ich das Problem analysieren konnte wird durch die Kamera zwar ein neues Bild aufgenommen (wenn man parallel die Blink-App geöffnet hat wird dort auch das neue Bild angezeigt) aber es wird kein neues Bild heruntergeladen. Vermutlich dauert die Verarbeitung auf Seiten Blink länger als früher sodass entweder nochmal das vorherige Bild abgerufen wird oder der Zugriff auf die Thumbnails noch gesperrt ist.
Kannst du ein ähnliches Verhalten beobachten?

Bei der Suche nach einer Lösung bin ich auch über dein heutiges Update gestolpert und hab das natürlich direkt eingespielt. Natürlich auch in der Hoffnung das sich mein Problem damit erübrigt. Leider ohne erfolg. Sprich das Problem besteht weiterhin.
Zusätzlich scheint sich nun aber noch ein Problem in der Formatierung der URLs für die ThumbnailURL eingeschlichen zu haben. Dort wo vorher Forward Slash / in der URL stand steht nun ein Unterstrich _. Damit lässt sich die URL leider nicht mehr anzeigen. Ersetzt man händisch die Unterstriche wieder durch den Forward Slash wird auch das Bild wieder angezeigt.

Leider ist Perl für mich an vielen Stellen noch ein Buch mit sieben Siegeln. Ich habe versucht die entsprechenden Stellen im Code zu identifizieren um hier schon mögliche Lösungen aufzeigen zu können. Leider bin ich aber an den mangelnden Fertigkeiten gescheitert...

Jede Hilfe ist gerne willkommen.
Viele Grüße,
Strategy

viegener

@strategy: Nein ich kann das Verhalten so wie Du es beschreibst nicht nachvollziehen.

Grundsätzliche Anmerkung: Die Bilder werden immer verzögert heruntergeladen und bis diese dann in FHEM verfügbar sind dauert auf jeden Fall einige Sekunden. Das von blink wieder das alte Bild heruntergeladen wird kann eigentlich sein, denn die Bilder bekommen in blink immer einen eindeutigen Namen.

Das mit den fehlenden / in den Urls habe ich korrigiert und auch noch für die Bilder vermerkt, dass sie nicht gecached werden sollen.
Leider werden diese Attribute in Browsern nicht ganz konsequent umgesetzt und ohne imgOriginalFile ändert sich ja der url auch nicht.

Bei mir klappt das update aber in verschiedenen Browsern relativ gut, wenn ich im Tablet ui einen refresh von 60sec einstelle und imgOriginalFile setze.

Neue Version ist in github
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

strategy

@viegener:
Wow, vielen Dank für den schnellen fix.
Die URLs stimmen damit wieder und die Thumbnails werden auch wieder angezeigt.

Das Problem, dass sich die Bilder nicht aktualisieren habe ich aber leider weiterhin.
Ich habe gerade mal einige weitere Versuche unternommen. Mit folgendem Ergebnis, bzw. Erkenntnissen:

1) Als ich die Oberfläche aufgemacht habe war dort mein sonnenhelles Wohnzimmer zu sehen - auch wenn es schon nach 22h ist :-)
2) Der Befehl "get BLINK getThumbnail Wohnkueche" - Zusammengesetzt und ausgeführt aus der Oberfläche um Schreibfehler zu vermeiden - hat zu folgendem Ergebnis geführt: 
  a) keines der Readings hat sich geändert, bzw. wurde gemäß Zeitstempel aktualisiert
  b) auch im Dateisystem wurde unter /temp keine neue Datei heruntergeladen
  c) In der BLINK-App wurde ein neues Bild aufgenommen und auf diesem Bild ist es auch inzwischen dunkel.
3) Den Befehl "get BLINK getThumbnail Wohnkueche" nochmals ausgeführt und 5 Minuten gewartet. Leider mit gleichem Ergebnis
4) Den Befehl "get BLINK getInfo" ausgeführt mit dem Ergebnis
  a) das die Readings aktualisiert worden sind
  b) das vorher gemachte Thumbnail in /temp heruntergeladen worden ist
  c) die URLs entsprechend auf das aktuelle Thumbnail verweisen
5) Den Befehl "get BLINK getThumbnail Wohnkueche" nochmals ausgeführt und 5 Minuten gewartet. Leider wieder keine Aktualisierung...

Ich hab den Test sowohl mit imgOriginalFile auf 0 als auch auf 1 wiederholt. Kein Unterschied im Ergebnis...

Irgendwelche Ideen was ich noch versuchen kann?

Gruß,
Strategy

viegener

@strategy: So wie es ausschaut hat es wohl auf Blink-Seite eine Änderung gegeben - Bei Thumbnails muss ich jetzt auf das bereitstellen des Bildes warten - das kann ich ändern
Bei mir passiert das automatisch, da ich das Attribut pollingTimeout gesetzt habe und damit sowieso die Bilder regelmässig aktualisiert werden.

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

viegener

@strategy: Kannst Du mit der neuesten Verison aus github nochmal testen. Jetzt wird bei thumbnails gewartet bis die neuen Daten bei blink verfügbar sind und dann automatisch das neueste Bild abgeholt. Caching im Browser ist aber leider immer noch ein Problem bei der Anzeige im tablet ui
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

strategy

@viegener
Ich bin aktuell unterwegs und hab daher nicht so viel Zeit zum testen.
Habe aber gerade das Modul aktualisiert und die Thumbnail-Funktion getestet.

Klappt!

Vielen Dank für die Erweiterung des Moduls.
Ich werde am Wochenende auch nochmal einen ausgiebigen Test machen.

Esjay

#97
Guten Morgen Viegener,
ich habe seit gestern Abend probleme mit den Kameras. Ich habe weder das Passwort noch die  E-Mail geändert. Wenn ich das Modul auf Verbose 5 stelle, kommt lediglich folgendes im Log.

2017.10.03 10:00:33 5: BlinkCamera_PollInfo Kameras: called
2017.10.03 10:00:33 4: BlinkCamera_PollInfo Kameras: polling still running
2017.10.03 10:00:33 4: BlinkCamera_PollInfo Kameras: initiate next polling homescreen 15s
2017.10.03 10:00:35 5: BlinkCamera_Set Kameras: Processing BlinkCamera_Set( reset ) - args :<undef>:
2017.10.03 10:00:35 3: BlinkCamera_Set Kameras: reset requested
2017.10.03 10:00:35 4: BlinkCamera_Setup Kameras: called
2017.10.03 10:00:35 4: BlinkCamera_Setup Kameras: found file :..:
2017.10.03 10:00:35 4: BlinkCamera_Setup Kameras: found file :.Test-unix:
2017.10.03 10:00:35 4: BlinkCamera_Setup Kameras: found file :.XIM-unix:
2017.10.03 10:00:35 4: BlinkCamera_Setup Kameras: found file :.X11-unix:
2017.10.03 10:00:35 4: BlinkCamera_Setup Kameras: found file :.:
2017.10.03 10:00:35 4: BlinkCamera_Setup Kameras: found file :.font-unix:
2017.10.03 10:00:35 4: BlinkCamera_Setup Kameras: found file :.ICE-unix:
2017.10.03 10:00:35 4: BlinkCamera_ResetPollInfo Kameras: called
2017.10.03 10:00:35 4: BlinkCamera_ResetPollInfo Kameras: finished
2017.10.03 10:00:35 4: BlinkCamera_Setup Kameras: ended
2017.10.03 10:00:35 5: BlinkCamera_Set Kameras: reset done succesful
2017.10.03 10:00:40 5: BlinkCamera_PollInfo Kameras: called
2017.10.03 10:00:40 4: BlinkCamera_DoCmd Kameras: called  for cmd :homescreen  par2:POLLING::
2017.10.03 10:00:40 4: BlinkCamera_DoCmd Kameras: add send to queue cmd homescreen  par2:POLLING:
2017.10.03 10:00:40 4: BlinkCamera_DoCmd Kameras: try to send cmd cmd :login:
2017.10.03 10:00:40 4: BlinkCamera_DoCmd Kameras:   data :{ "password" : "xxxxxxxxxxxx", "client_specifier" : "FHEM blinkCameraModule 1 - Kameras", "email" : "xxxxxxxxxxxxx" }:
2017.10.03 10:00:40 4: BlinkCamera_DoCmd Kameras: call url :https://rest.prir.immedia-semi.com/login:
2017.10.03 10:00:40 4: BlinkCamera_Callback Kameras: called from DoCmd
2017.10.03 10:00:40 4: BlinkCamera_Callback Kameras: status err :gethostbyname rest.prir.immedia-semi.com failed:  data
2017.10.03 10:00:40 5: BlinkCamera_Callback Kameras: for cmd :login:  retry :1  resulted in :NonBlockingGet: returned gethostbyname rest.prir.immedia-semi.com failed:  cmdId :-- from DoCmd
2017.10.03 10:00:40 1: DEBUG>Result ::
2017.10.03 10:00:40 3: BlinkCamera_Callback Kameras: Reached max retries (ret: NonBlockingGet: returned gethostbyname rest.prir.immedia-semi.com failed) for cmd homescreen
2017.10.03 10:00:40 4: BlinkCamera_Callback Kameras: handle queued cmd with :homescreen:
2017.10.03 10:00:40 4: BlinkCamera_DoCmd Kameras: called  for cmd :homescreen  par2:POLLING::
2017.10.03 10:00:40 2: BlinkCamera_DoCmd Kameras: failed due to invalid auth token homescreen  par2:POLLING:
2017.10.03 10:00:40 4: BlinkCamera_PollInfo Kameras: initiate next polling homescreen 15s
2017.10.03 10:00:55 5: BlinkCamera_PollInfo Kameras: called
2017.10.03 10:00:55 4: BlinkCamera_PollInfo Kameras: polling still running
2017.10.03 10:00:55 4: BlinkCamera_PollInfo Kameras: initiate next polling homescreen 15s
2017.10.03 10:01:10 5: BlinkCamera_PollInfo Kameras: called
2017.10.03 10:01:10 4: BlinkCamera_PollInfo Kameras: polling still running
2017.10.03 10:01:10 4: BlinkCamera_PollInfo Kameras: initiate next polling homescreen 15s
2017.10.03 10:01:25 5: BlinkCamera_PollInfo Kameras: called
2017.10.03 10:01:25 4: BlinkCamera_PollInfo Kameras: polling still running
2017.10.03 10:01:25 4: BlinkCamera_PollInfo Kameras: initiate next polling homescreen 15s
2017.10.03 10:01:40 5: BlinkCamera_PollInfo Kameras: called
2017.10.03 10:01:40 4: BlinkCamera_PollInfo Kameras: polling still running
2017.10.03 10:01:40 4: BlinkCamera_PollInfo Kameras: initiate next polling homescreen 15s
2017.10.03 10:01:55 5: BlinkCamera_PollInfo Kameras: called
2017.10.03 10:01:55 4: BlinkCamera_PollInfo Kameras: polling still running
2017.10.03 10:01:55 4: BlinkCamera_PollInfo Kameras: initiate next polling homescreen 15s
2017.10.03 10:02:10 5: BlinkCamera_PollInfo Kameras: called
2017.10.03 10:02:10 4: BlinkCamera_PollInfo Kameras: polling still running
2017.10.03 10:02:10 4: BlinkCamera_PollInfo Kameras: initiate next polling homescreen 15s
2017.10.03 10:02:19 3: BlinkCamera_Undef Kameras: called
2017.10.03 10:02:19 4: BlinkCamera_Undef Kameras: done
2017.10.03 10:03:13 3: BlinkCamera_Define Kameras: called
2017.10.03 10:04:35 3: ZWave got config for philio/pan11.xml from ./FHEM/lib/openzwave_deviceconfig.xml.gz
2017.10.03 10:04:39 5: BlinkCamera_Attr Kameras: called
2017.10.03 10:04:39 5: BlinkCamera_Attr Kameras: set  on pollingTimeout to 15
2017.10.03 10:04:39 4: BlinkCamera_ResetPollInfo Kameras: called
2017.10.03 10:04:39 4: BlinkCamera_ResetPollInfo Kameras: finished
2017.10.03 10:04:44 5: BlinkCamera_PollInfo Kameras: called
2017.10.03 10:04:44 4: BlinkCamera_DoCmd Kameras: called  for cmd :homescreen  par2:POLLING::
2017.10.03 10:04:44 4: BlinkCamera_DoCmd Kameras: add send to queue cmd homescreen  par2:POLLING:
2017.10.03 10:04:44 4: BlinkCamera_DoCmd Kameras: try to send cmd cmd :login:
2017.10.03 10:04:44 4: BlinkCamera_DoCmd Kameras:   data :{ "password" : "xxxxxxxxxx", "client_specifier" : "FHEM blinkCameraModule 1 - Kameras", "email" : "xxxxxxxxx" }:
2017.10.03 10:04:44 4: BlinkCamera_DoCmd Kameras: call url :https://rest.prir.immedia-semi.com/login:
2017.10.03 10:04:44 4: BlinkCamera_Callback Kameras: called from DoCmd
2017.10.03 10:04:44 4: BlinkCamera_Callback Kameras: status err :gethostbyname rest.prir.immedia-semi.com failed:  data
2017.10.03 10:04:44 5: BlinkCamera_Callback Kameras: for cmd :login:  retry :1  resulted in :NonBlockingGet: returned gethostbyname rest.prir.immedia-semi.com failed:  cmdId :-- from DoCmd
2017.10.03 10:04:44 1: DEBUG>Result ::
2017.10.03 10:04:44 3: BlinkCamera_Callback Kameras: Reached max retries (ret: NonBlockingGet: returned gethostbyname rest.prir.immedia-semi.com failed) for cmd homescreen
2017.10.03 10:04:44 4: BlinkCamera_Callback Kameras: handle queued cmd with :homescreen:
2017.10.03 10:04:44 4: BlinkCamera_DoCmd Kameras: called  for cmd :homescreen  par2:POLLING::
2017.10.03 10:04:44 2: BlinkCamera_DoCmd Kameras: failed due to invalid auth token homescreen  par2:POLLING:
2017.10.03 10:04:44 4: BlinkCamera_PollInfo Kameras: initiate next polling homescreen 15s
2017.10.03 10:04:59 5: BlinkCamera_PollInfo Kameras: called
2017.10.03 10:04:59 4: BlinkCamera_PollInfo Kameras: polling still running
2017.10.03 10:04:59 4: BlinkCamera_PollInfo Kameras: initiate next polling homescreen 15s
2017.10.03 10:05:14 5: BlinkCamera_PollInfo Kameras: called
2017.10.03 10:05:14 4: BlinkCamera_PollInfo Kameras: polling still running
2017.10.03 10:05:14 4: BlinkCamera_PollInfo Kameras: initiate next polling homescreen 15s
2017.10.03 10:05:29 5: BlinkCamera_PollInfo Kameras: called
2017.10.03 10:05:29 4: BlinkCamera_PollInfo Kameras: polling still running
2017.10.03 10:05:29 4: BlinkCamera_PollInfo Kameras: initiate next polling homescreen 15s
2017.10.03 10:05:44 5: BlinkCamera_PollInfo Kameras: called
2017.10.03 10:05:44 4: BlinkCamera_PollInfo Kameras: polling still running
2017.10.03 10:05:44 4: BlinkCamera_PollInfo Kameras: initiate next polling homescreen 15s
2017.10.03 10:05:59 5: BlinkCamera_PollInfo Kameras: called
2017.10.03 10:05:59 4: BlinkCamera_PollInfo Kameras: polling still running
2017.10.03 10:05:59 4: BlinkCamera_PollInfo Kameras: initiate next polling homescreen 15s


Es kommt mir so vor, als ob der login nicht richtig funktioniert. Habe mir zur Sicherheit die App nochmal heruntergeladen, und konnte mich ohne Probleme mit der Email und dem Passwort aus dem define einloggen.

Hast du evtl. eine Idee, woran das liegen könnte?

Das habe ich eben auch noch beim durchsehen des Logs gefunden. Wahrscheinlich nur zur Info.

2017.10.03 00:29:10 1: PERL WARNING: Use of uninitialized value $arg in string eq at ./FHEM/48_BlinkCamera.pm line 1649

Edit.

list vom Device

Internals:
   AuthToken  INVALID
   CFGFN
   DEF        xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx
   Email      xxxxxxxxxxxxxxxxx
   FAILS      0
   NAME       Kameras
   NR         568
   POLLING    1
   SNAME      Kameras
   STATE      Polling
   TYPE       BlinkCamera
   URL        https://rest.prir.immedia-semi.com
   cmd        cmd :login:
   cmdJson
   cmdResult  NonBlockingGet: returned gethostbyname rest.prir.immedia-semi.com failed
   doStatus
   HU_DO_PARAMS:
     addr       https://rest.prir.immedia-semi.com:443
     cmd        login
     data
     displayurl <hidden>
     header     agent: TelegramBot/1.0

User-Agent: TelegramBot/1.0

Host: rest.prir.immedia-semi.com

Content-Type: application/json
     hideurl    1
     host       rest.prir.immedia-semi.com
     loglevel   4
     method     POST
     par1
     par2
     path       /login
     protocol   https
     redirects  0
     timeout    30
     url        https://rest.prir.immedia-semi.com/login
     args:
       homescreen
       undef
       POLLING
       1
     hash:
     sslargs:
   READINGS:
     2017-10-03 10:04:44   cmdResult       NonBlockingGet: returned gethostbyname rest.prir.immedia-semi.com failed
   cmdQueue:
   getoptions:
     getInfo
     getInfoCamera
     getThumbnail
     getVideoAlert
     liveview
   setoptions:
     arm
     camDisable
     camEnable
     disarm
     login
     reset
     videoDelete
     zDebug
Attributes:
   pollingTimeout 15
   room       Alarm
   verbose    0


Die Version habe ich vorhin sicherhaltshalber aus dem Git genommen und eingespielt.

Gruß

viegener

Ich habe dieselben Probleme - es sieht so aus, also ob Blink sowohl den url als auch das API geändert hat >:(

Konnte das bisher nicht lösen - ich musss vermutlich das neue Protokoll erst wieder analysieren und dann hoffen dass es sich interpretieren lässt

Leider geben die von Blink da nichts raus.... :(

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

viegener

Das ging schneller als erwartet, es wurde nur die Technik für den hostnamen geändert, der muss wohl jetzt aus dem login gelesen werden. Habe das Modul angepasst und in github eingechecked - sollte mit der neuen Version wieder gehen

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Esjay

Sehr gut,schön das es so schnell und scheinbar mit geringem Aufwand gelöst werden konnte..Vielleicht ist das ja jetzt auch der Punkt,wo man das Modul offiziell in fhem übernehmen kann  ;) ..
Grüße

viegener

Zitat von: Esjay am 03 Oktober 2017, 13:11:23
Sehr gut,schön das es so schnell und scheinbar mit geringem Aufwand gelöst werden konnte..Vielleicht ist das ja jetzt auch der Punkt,wo man das Modul offiziell in fhem übernehmen kann  ;) ..
Grüße

Funktiioniert es denn bei Dir damit wieder?

Immer dieses Nachhaken ;)
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Esjay

Zitat von: viegener am 03 Oktober 2017, 13:37:43
Funktiioniert es denn bei Dir damit wieder?

Immer dieses Nachhaken ;)

Ich kann erst gegen Nachmittag testen,da ich gerade unterwegs bin.Werde aber definitiv nachher eine Rückmeldung geben..
Ich werd auch nicht aufgeben  ;)  ;D  ;D

Esjay

So, postive Rückmeldung. Funktioniert wieder so wie es soll.
Danke für deine schnelle Reaktion

Grüße

Mumpitz

Zitat von: viegener am 03 Oktober 2017, 13:37:43
Funktiioniert es denn bei Dir damit wieder?

Immer dieses Nachhaken ;)

Auch bei mir wieder alles ok! Danke für die schnelle Reaktion!


Gesendet von iPad mit Tapatalk