NEWS
Netatmo Adapter Live camera picture URL per Telegram senden
-
Hallo Frank,
ich habe mal nachgelesen https://dev.netatmo.com/en-US/resources … urity/live. Die URL ändert sich alle 3 Stunden. Insofern wäre es mal interessant, ob im Abstand von >3Stunden das richtige Bild angezeigt wird. Wenn dem so ist, dann ist meine Vermutung, dass hier im Telegram oder auf dem Handy selbst das Bild im Cache verbleibt und (wenn kein neuer Link übermittelt wird) das Bild nicht neu geladen wird sondern einfach das "alte" angezeigt wird. Vielleicht magst du das ja mal testen. `
Du hattest Recht. Heute Mittag hat der Postbote geklingelt. Ein Bild kam.
Als ich gerade nach Hause kam habe ich geklingelt. Diesmal kam ein Bild von mir :lol:
Somit funktioniert das mit dem hinterlegten Objekt ansatt der URL.
Klingel ich allerdings erneut, kommt wieder das gleiche Bild. Muss dann wohl wieder 3 Stunden warten.
-
Also nur noch alle 3 Stunden klingeln. Das könnte man ja am Eingang vermerken :lol:
Ich denke damit liegt es an Telegram. Ich würde versuchen das Bild aus der URL in eine Datei auf dem ioBroker-Host zu schreiben und dieses dann per Telegram zu versenden. Also ähnlich wie hier in anderer Form schon umgesetzt: viewtopic.php?f=21&t=18739&hilit=kamera+telegram
Aber vielleicht hat ja noch jemand eine ganz andere Idee.
Gruß
Thomas
-
Hi
Das mit dem v7 oder v 11 lässt sich nicht ändern!!
du musst nur einen teil der URL nehmen
bei mir sieht sie so aus
http://192.xxx.xxx.xx(IP der Kamera)/835abfacdxxxxxxxxx (dert teil aus deiner URL)/live/files/poor/index.m3u8
! Hallo in die Runde,
! ich versuche mal zu schildern was ich bisher tun konnte. Vielleicht hilft es ja bei der ein oder anderen Fragestellung.
! Anlegen der APP unter https://dev.netatmo.com/myaccount/
! Client ID und Client Secret in den Netatmo-Adapter im IOBroker eintragen - Speichern - Adapter startet neu
! In den Objekten im IOBroker findet man nun die Livestream URL der Kamera für den externen Zugriff.
! Bsp.: https://v1.netatmo.net/restricted/xx.xx … <schlüssel 1="">/<schlüssel 2="">/live/index_local.m3u8 Diese funktionier bei mir zeitlich begrenzt im VLC-Player.
! Nun einfach (für den internen Zugriff - Achtung "http" nicht mehr "https") den Link für den Livestream wie folgt generieren:
! http://<lokale ip/der/kamera="">/<schlüssel 1="">/live/index_local.m3u8
! Alternativ für verschiedene Bandbreiten und Auflösungen statt "/live/index_local.m3u8" jeweils:
! /live/files/poor/index.m3u8 (Bandbreite=64000 - Auflösung 640x360)
! /live/files/low/index.m3u8 (Bandbreite=500000 - Auflösung 640x360)
! /live/files/medium/index.m3u8 (Bandbreite=1000000 - Auflösung 1280x720)
! /live/files/high/index.m3u8 (Bandbreite=3000000 - Auflösung 1920x1080)
! verwenden.
! Die jeweiligen Links funktionieren bei mir (bisher) ohne zeitliche Begrenzung.
! Ich hoffe ich konnte ein wenig helfen.
! Gruß
! Thomas</schlüssel></lokale></schlüssel></schlüssel>
aber lies mal hier!! -
Also nur noch alle 3 Stunden klingeln. Das könnte man ja am Eingang vermerken :lol:
Ich denke damit liegt es an Telegram. Ich würde versuchen das Bild aus der URL in eine Datei auf dem ioBroker-Host zu schreiben und dieses dann per Telegram zu versenden. Also ähnlich wie hier in anderer Form schon umgesetzt: viewtopic.php?f=21&t=18739&hilit=kamera+telegram
Aber vielleicht hat ja noch jemand eine ganz andere Idee. `
:lol:"Nur alle 3 Stunden klingeln" ist gut :mrgreen:
Ich werde mal schauen, ob ich es mit Blockly hinbekomme, die Bilddatei wegzuschreiben.
Gruss Frank
-
Ob das mit Blockly was werden kann bin ich gespannt. Kannst ja mal dein Ergebnis posten wenn du magst. Ich schau mal ob ich heute Abend Zeit finde. Die Idee find ich spannend. 8-)
VG
Thomas
-
Hi Thomas,
ich habe mir den Link von Deinem Beispiel mit dem wegschreiben mal angeschaut.
Aber ich verstehe nur Bahnhof und kann es leider nicht auf die Presence umsetzen.
LG Frank
-
Hi Frank,
ich habe mal dein Blockly importiert und das im Javascript nachgebildet. Dies kannst du einfach importieren und müsttest nur noch die ersten Angaben (Zeile 3 bis 5) auf deine Installation anpassen. Ich denke es ist soweit selbsterklärend.
Kannst ja mal versuchen ob es nun funktioniert. Hier im Script wird jetzt das Bild geholt, im Image-Verzeichnis (muss du vorher anlegen) zwischengespeichert, an Telegram gesendet und anschließend wieder gelöscht. Schau mal ob es bei dir funktioniert. Bei mir läuft es
Hab mich dabei an dem Script von @HoffmannOs unter viewtopic.php?f=21&t=18739&hilit=kamera … am#p195677 orientiert.
Grüße
Thomas
var fs = require('fs'); camerapicture = 'netatmo.0.Home.Presence.live.picture' ; // Objekt der Live camera picture URL imagepath = '/Image/' // Pfand zum Zwischenspeicher des Bildes - muss vorher angelegt sein message = 'Es hat an der Haustür geklingelt' // Nachrichtentext für Telegram on({id: "hm-rpc.1.PEQ0653529.1.PRESS_SHORT", val: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setState("mihome.0.devices.gateway_7c49ebb17ef2.mid", 10); setState("mihome.0.devices.gateway_7c49ebb17ef2.dimmer", 100); setState("mihome.0.devices.gateway_7c49ebb17ef2.rgb", '#002BFF'); setState("alexa2.0.Echo-Devices.G090LF0964330VQ6.Commands.speak", 'Es hat an der Haustüre geklingelt'); setStateDelayed("alexa2.0.Echo-Devices.G090LV037066068T.Commands.speak", 'Es hat an der Haustüre geklingelt', 3000, false); setStateDelayed("alexa2.0.Echo-Devices.G2A0QU06837206K8.Commands.speak", 'Es hat an der Haustüre geklingelt', 6000, false); setStateDelayed("alexa2.0.Echo-Devices.G090LV03733600SK.Commands.speak", 'Es hat an der Haustüre geklingelt', 9000, false); setStateDelayed("mihome.0.devices.gateway_7c49ebb17ef2.mid", 10, 5000, false); setStateDelayed("mihome.0.devices.gateway_7c49ebb17ef2.dimmer", 0, 30000, false); getImage( obj ); }); // Bild aus Objekt camerapicture holen function getImage() { var fname = imagepath + Date.now() + '.jpg'; request.get({url: getState(camerapicture).val, encoding: 'binary'}, function (err, response, body) { fs.writeFile(fname, body, 'binary', function(err) { if (err) { log('Fehler beim Bild speichern: ' + err, 'warn'); } else { setTimeout(function() { sendImage(fname); }, 2000); } }); }); } // Bild über Telegram senden function sendImage (fname) { try { sendTo('telegram.0', { text: fname, caption: message, disable_notification: true }); } catch(err) { if (err.code != "ENOENT") log(err); } setTimeout(function() { deleteImage(fname); }, 3000); } // Bild löschen function deleteImage(fname) { try { // var stats = fs.statSync(path); try { fs.unlinkSync(fname); } catch(err) { if (err.code != "ENOENT") log(err); } } catch(err) { if (err.code != "ENOENT") log(err); } }
-
Hi Thomas,
ich habe mir den Link von Deinem Beispiel mit dem wegschreiben mal angeschaut.
Aber ich verstehe nur Bahnhof und kann es leider nicht auf die Presence umsetzen.
LG Frank `
Hi Frank,
konntest schon mal testen? Würde mich nur interessieren ob es bei dir funktioniert. Bei mir läufts und ich find die Idee cool 8-)
Danke nochmal dafür und schönes Wochenende
Gruß Thomas
-
Guten Morgen Thomas,
ich lag am Wochenende flach.
Wo muss ich das Verzeichnis anlegen?
Direkt im iobroker Verzeichnis?
Gruß Frank
-
Hi Frank,
ich hab das direkt in der root angelegt. Du kannst aber auch das vorhandene tmp Verzeichnis nutzen. Dann einfach imagepath = 'tmp' verwenden.
Gruß
Thomas
Gesendet von iPhone mit Tapatalk
-
Hi Thomas,
es funktioniert
Habe TMP genommen.
Leeren muss ich das jetzt nicht noch, oder? Die alten Bilder werden überschrieben!?
Vielen Dank für die Hilfe!
LG Frank
-
Hi Frank,
das ist prima. Jetzt weißt du immer wer klingelt
Leeren musst du nicht. Die Datei wird nach dem senden wieder gelöscht.
Ich nutze es auch, allerdings nur wenn die Presence eine Person erkennt. Coole Idee!
Grüße
Thomas
Gesendet von iPhone mit Tapatalk
-
Hi Thomas,
wo ist der Datenpunkt? Erkennung Person oder Auto?
LG Frank
-
imagepath = '/Image/' // Pfand zum Zwischenspeicher des Bildes - muss vorher angelegt sein
Was muss ich hier eintragen?
Vom Raspberry oder NAS das Image Verzeichnis?
-
Hi Thomas,
wo ist der Datenpunkt? Erkennung Person oder Auto?
LG Frank `
Hi Frank,
den gibts in dieser Form leider nicht. Hab hierzu den Adapter bisschen angepasst. Hatte auch schon den Entwickler angeschrieben ob er daran interessiert ist und nochmal als Profi drüber schauen will. Leider hat er bis heute nicht reagiert.
Ich selber nutze die Erkennung einer Person um in der Nacht richtig Krach zu machen damit ich es im Schlaf auch mitbekomme wenn sich jemand rumtreiben sollte.
Gruß
Thomas
Gesendet von iPhone mit Tapatalk
-
imagepath = '/Image/' // Pfand zum Zwischenspeicher des Bildes - muss vorher angelegt sein
Was muss ich hier eintragen?
Vom Raspberry oder NAS das Image Verzeichnis? `
Wenn ioBroker auf dem Raspberry läuft dann irgendein Verzeichnis auf dem Raspi anlegen oder das vorhandene tmp-Verzeichnis eintragen.
Gruß
Gesendet von iPhone mit Tapatalk
-
Bekomme irgendwie immer eine Fehlermeldung
4720_netatmo_script.jpg -
Du hast eine Netatmo Presence im Einsatz?
Im Script, Zeile 3, muss das Objekt angegeben werden, welches den Link auf das Livebild (als jpg) enthält. In meinem Fall ist das 'netatmo.0.Home.Presence.live.picture'
Gruß
-
Hi Thomas,
wo ist der Datenpunkt? Erkennung Person oder Auto?
LG Frank `
Hi Frank,
den gibts in dieser Form leider nicht. Hab hierzu den Adapter bisschen angepasst. Hatte auch schon den Entwickler angeschrieben ob er daran interessiert ist und nochmal als Profi drüber schauen will. Leider hat er bis heute nicht reagiert. `
Ich finde es auch ne Mega Idee.
Nicht nur für Personen, sondern auch für Autos.
So könnte ich wenn mein Auto ans Haus fährt gleich die Carportbeleuchtung einschalten.
Gibt es einen offiziellen Thread zum Adapter?
Vielleicht dort nochmal einstellen. Ich würde auch meinen Senf dazugeben [emoji16]
LG Frank
Gesendet von iPhone mit Tapatalk
-
Du hast eine Netatmo Presence im Einsatz?
Im Script, Zeile 3, muss das Objekt angegeben werden, welches den Link auf das Livebild (als jpg) enthält. In meinem Fall ist das 'netatmo.0.Home.Presence.live.picture'
Gruß `
Ja die Netatmo Presence.
Also diesen Link ?
https://v11.netatmo.net/restricted/10.2 … ot_720.jpg
Wenn ich den im Browser eingebe dann bekomme ich auch ein Bild.
Edit:
Ich habe jetzt einige links ausprobiert aber irgednwie kommt immer der gleiche Fehler.
4720_netat.jpg