NEWS
Kamera erzeugter Schnappschuss als jpg oder png in VIS
-
Guten Abend,
ich lasse automatisiert über ein blockly skript ein Bild erstellen. Klingelt wieder jemand an der Tür wird das Bild überschrieben.
Jedoch habe ich das Problem, dass dieses Bild in VIS nicht wählbar ist. Auch wenn ich es in direkt in /opt/iobroker/iobroker-data/files/vis.0/tuerklingel lege.Wenn ich es dann über einen ganz normalen basic - image einfügen will, geht es leider nicht. Das Bild wird gar nicht gefunden.
-
@LaBamba Gib den Namen des Bildes mal händisch ein und schau ob es im Widget Angezeigt wird.
-
@CrunkFX
nein funktioniert nicht! -
Meine Vermutung ist, dass nur hochgeladene Dateien verwendet werden können. Die funktionieren!
-
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!