NEWS
Kamera erzeugter Schnappschuss als jpg oder png in VIS
-
So einfach funktioniert das nicht mehr.
Aber die Suche hätte dich @LaBamba schon ein wenig weitergebracht
Gibt haufenweise Scripte, die dein "Problem" lösen.https://forum.iobroker.net/topic/29461/aufruf-welche-guten-javascripts-setzt-ihr-ein/25 (ziemlich in der Mitte von Chaot, Skript musste anpassen)
https://forum.iobroker.net/topic/32652/externes-bild-in-vis?page=1
https://forum.iobroker.net/topic/26875/gelöst-bildanzeige-veraltet
Seit JS Controller 2 ist fs.read und write.file die Vorgabe
Beispiel:
const bild1 = fs.readFileSync(folder,'snap01.jpg');
writeFile('0_userdata.0','alarm1.jpg', bild1);
-
@haselchen Stimmt da war was.
Danke
-
Hab mir selber ewig lange die Zähne dran ausgebissen.
Eine Gefrickel ohne Ende bis das mal ging.
@Glasfaser sei Dank -
@haselchen
Ich glaube, dann lasse ich die finger mal davon. Leider sind meine Kenntnisse da nicht überragend. -
@haselchen
Gibt es das Skript auch als Blockly? -
Meine ja. Bin gerade nur am Handy.
Wenn @Glasfaser nicht schneller ist, könnte ich nachher gegen 23Uhr in meine Blockly Sammlung mal gucken. -
@haselchen
Wäre super! Damit komme ich besser zurecht als mit js -
Ich auch
Ich meine aber das auch ein Javascript dabei ist ( bei der Klingelbild Konstellation)
-
@haselchen
So wie ich das Skript lese werden die Dateien im tmp Verzeichnis zwischengespeichert und dann ins VIS Verzeichnis verschoben.
... und dann mit Basic-image in VIS gebracht. -
So im Groben dürfte das stimmen.
Wichtig sind die Abstände in Sekunden vom Holen des Bildes von der Kamera bis zum Zwischenspeichern und dann weiterleiten. -
Oder den Adapter https://github.com/ioBroker/ioBroker.cameras/blob/master/README.md verwenden und die URL vom Adapter in der Vis verwenden.
-
@haselchen
Den ersten Teil habe ich schon hinbekommen. Die Bilder werden sauber abgelegt.
Übrigens der empfohlene Adapter geht bei mir nicht.
-
So , bin am Rechner und schau mal.
Im Prinzip musste , wenn es bei dir fast die gleichen Geräte sind, nur paar Daten austauschen. Das Bild wird mir per Telegram dann geschickt.var timeout, timeout1, timeout2; var fs = require('fs'); on({id: 'hm-rpc.1.XXXXXXX.1.PRESS_SHORT', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; timeout = setTimeout(function () { exec('wget --output-document /opt/iobroker/iobroker-data/tmp/alarm.jpg \'http://192.XXX.XXX.XXX/picture/1/current/\''); }, 2000); timeout1 = setTimeout(function () { const bild = fs.readFileSync('/opt/iobroker/iobroker-data/tmp/alarm.jpg'); writeFile('vis.0','alarm.jpg', bild); }, 4000); timeout2 = setTimeout(function () { sendTo("telegram.1", "send", { text: '/opt/iobroker/iobroker-data/files/vis.0/alarm.jpg' }); }, 6000); // ab hier so oft wiederholen wie man es möchte });
-
@haselchen
gibt es das sent to usw. in blockly -
Doch, von tmp nach vis.0
read file , write fileIch hab es nur so hinbekommen.
Klappt perfekt.In VIS dann basic-image als Widget.
-
@haselchen
wie es ausschaut geht der erste teil bei mir nicht.
Ich habe einen Datenpunkt angelegt, klingelt jemand, geht der Datenpunkt auf true.Wüsste nicht wie man diesen hier integriert!
-
In Zeile 4 muss doch nur dein Datenpunkt rein 0_userdata.0 ...... ?!
-
var timeout, timeout1, timeout2; var fs = require('fs'); on({id: '0_userdata.0.Aussen.ALP600_klingel', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; timeout = setTimeout(function () { exec('wget --output-document /tmp/klingel/klingel1.jpg \'http://192.168.xxx.xx/cgi-bin/images_cgi?channel=0&user=xxxx&pwd=xxxx''); }, 2000); timeout1 = setTimeout(function () { const bild = fs.readFileSync('/tmp/klingel/klingel1.jpg'); writeFile('vis.0','/klingel/klingel.jpg', bild); }, 4000); timeout2 = setTimeout(function () { sendTo("telegram.1", "send", { text: '/opt/iobroker/iobroker-data/files/vis.0/klingel/klingel.jpg' }); }, 6000); // ab hier so oft wiederholen wie man es möchte });
Bin ratlos!
-
-
@haselchen
Ist der von github direkt?