NEWS
[Gelöst] Telegram "getMessage" wird eingestellt
-
@mend
Hast sich erledigt
Ich hab es mal nach der Anleitung aus dem anderen Thread gemacht und das läuft perfekt. Nun habe ich auch ein DP der im IOBroker den Alarm anzeigt.
Du verschickst Dir mit Telegram dann noch das Bild? Da müsste ich erst mal schauen wie ich das machen könnte, deshalb könntest mir hier bisschen unter die Arme greifen und das kurz zeigen.Ich schaffe es schon mal mir per Telegram den SnapShot Link zu schicken, wobei mir 2 Dinge überhaupt nicht gefallen. Im Link stehen meine CAM Zugangsdaten im Klartext drin und der muss manuell geöffnet werden. Wie machst Du das?
-
@crunchip das ist so irreführend wie ich finde.
Es gibt "Frame Change Threshold" und "Minimum Motion Frames"
Wo ist der Unterschied ?
Das hängt mit der Auflösung zusammen ? inwieweit ?
Hat es dann auch was mit der FPS zu tun ?Was macht Despeckle Filter ?
-
mit
wget --output-document /opt/iobroker/ipcam/kamera_bewegung_erkannt.jpg http://192.168.178.56:88/picture/1/current/'
Wird ein Snapshot erstellt und in dem Order abgespeichert.
Du musst den Link natürlich an dir anpassen da jede Cam einen anderen Link für Snapshots hat und den Ordner selber vorher erstellen wo du die Bilder abspeichern möchtest bei mir "ipcam" ...mit
/opt/iobroker/ipcam/kamera_bewegung_erkannt.jpg
lass ich dann genau dieses Bild per Telegram schicken. Da das Bild immer gleich heisst wird es immer mit dem neusten überschrieben somit keine Speicherplatzprobleme oder Müll.
-
@mend sagte in [Gelöst] Telegram "getMessage" wird eingestellt:
wget --output-document /opt/iobroker/ipcam/kamera_bewegung_erkannt.jpg http://192.168.178.56:88/picture/1/current/'
OK, also ich habs mal an meine Pfade angepasst, aber er speichert kein Bild ab. Du hast oben noch am Ende ein ' dran. Ist das zu viel?
So sieht bei mir der Befehl zum Speichern des Bildes aus:wget --output-document /opt/iobroker/foto/kamera_bewegung_erkannt.jpg http://***:*****@192.168.100.8:82/tmpfs/snap.jpg/
Der Aufruf der URL im Browser zeigt ein Bild an, also Login und Pfad zum Snap passen schon mal. Den Ordner "foto" hab ich angelegt und die Berechtigung 766 vergeben.
-
@Jan1
Hast du beim JavaScript Adapter den Hacken bei Exec ? -
@mend
Ja ist drin:
Über die Konsole gehts mit dem Befehl auch einwandfrei, nur aus Blockly raus nicht.
--2020-02-02 10:56:21-- http://jan:*password*@192.168.100.8:82/tmpfs/snap.jpg/ Verbindungsaufbau zu 192.168.100.8:82 … verbunden. HTTP-Anforderung gesendet, auf Antwort wird gewartet … 401 Unauthorized Authentifizierung ausgewählt: Basic realm="tmpfs/snap.jpg/" Verbindungsaufbau zu 192.168.100.8:82 … verbunden. HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK Länge: 117492 (115K) [image/jpeg] Wird in »/opt/iobroker/foto/kamera_bewegung_erkannt.jpg« gespeichert. /opt/iobroker/foto/ 100%[===================>] 114,74K --.-KB/s in 0,06s 2020-02-02 10:56:21 (1,94 MB/s) - »/opt/iobroker/foto/kamera_bewegung_erkannt.jpg« gespeichert [117492/117492]
Der "stop timeout" fehlt bei Dir übrigens und "=wahr" ist nicht nötig bei der falls Bedingung
Selbst mit Debug Block sieht es gut aus, alles wird ausgeführt, nur kein Foto angelegt. Liegt eindeutig bei der Ausführung aus Blockly raus.
Bei mir läuft der 4.3.4 JS Adapter. -
Kopier das mal in den exec Block ein. Natürlich musste deine Daten noch eingeben
wget --output-document /opt/iobroker/foto/kamera_bewegung_erkannt.jpg 'http://jan:password@192.168.100.8:82/tmpfs/snap.jpg/')
Und du musst einen timeout befehl unter deinen trigger setzen.
-
@haselchen sagte in [Gelöst] Telegram "getMessage" wird eingestellt:
wget --output-document /opt/iobroker/foto/kamera_bewegung_erkannt.jpg 'http://jan:password@192.168.100.8:82/tmpfs/snap.jpg/')
Da ist ne schließende Klammer hinten, wo soll denn die öffnende hin, oder ist die zu viel?
-
Sorry, die ist zuviel.
Beim Kopieren eingeschlichen.
So sollte es aussehen -
@haselchen
Hatte ich mir gedacht und die entfernt, was aber trotz des Timeout und dem ergänzten Anführungszeichen immer noch nicht klappt.
-
Und wenn du einfach mal mein Blockly testest?
Und vielleicht einen .jpg Namen nimmst ohne Unterstriche? -
An die Unterstriche liegt es nicht. Die hab ich auch.
Wenn es über die Console läuft kann es auch nicht an den exec Befehl liegen.
Bleibt eigentlich nur noch dein Trigger. Löst dieser überhaupt aus ?P.s ich brauche schon mein „falls“ weil ich nur bei wahr auslösen möchte.
-
@mend
Also mit dem Blockly:
Geht es auch nicht und ja der Trigger löst aus weil das im Log steht:11:35:40.117 debug javascript.0 (31616) script.js.common.diverses.Cat_CAM: Befehl gesendet
P.S. ja die "falls" schon, aber das "= wahr" ist überflüssig.
Und welche Unterstriche? -
Ich hab noch ein Javascript.
Wenn du magst können wir das einfach mal testen.var timeout, timeout1, timeout2; var fs = require('fs'); on({id: 'hm-rpc.XXXXXXXX.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/kamera_bewegung_erkannt.jpg \'http://jan:password@192.168.100.8:82/tmpfs/snap.jpg/\''); }, 2000); timeout1 = setTimeout(function () { const bild = fs.readFileSync('/opt/iobroker/iobroker-data/tmp/kamera_bewegung_erkannt.jpg'); writeFile('vis.0','kamera_bewegung_erkannt.jpg', bild); }, 4000); timeout2 = setTimeout(function () { sendTo("telegram.1", "send", { text: '/tmp/alarm.jpg' }); }, 5000); // ab hier so oft wiederholen wie man es möchte });
Du müsstest oben deine ID eintragen und vielleicht den telegram Part.
Aber ansonsten kannste nach Auslösung mal schauen ob im TMP ordner ein Bild ist oder im VIS.0 Ordner.
fs noch als NPM Modul im Javascript Adapter eintragen. -
@Jan1 ich trigger auf „geändert“ dabei kann es wahr oder falsch sein.
Mich interessiert aber nur das wahr.
Wie soll ich es sonst machen wenn nicht so ?Die Unterstriche beim Bildnamen. abc_efg_12.jpg
Die kann man aber ruhig verwenden.Ich überlege grad noch woran es sonst liegen kann wüsste aber aktuell nicht was das Problem grad bei dir ist hmmmm
-
@haselchen
Ich habe in einem alten Thread auch ein Java Script gefunden und war gerade dabei das passend zu machen.
Allerdings muss das auch über Blockly gehen, da ich nur ungern direkt mit Java Script was mache, mangels fehlender Kenntnisse.@mend
der falls prüft eh auf wahr, deshalb ist das dann doppelt, so einfach kann das sein -
@Jan1 möchtest du ein Blockly zum Verschicken, mit link aus motioneye?
-
@crunchip
was ist den überhaupt "motioneye"?
Und das Blockly was hier in arbeit ist, soll ja genau das machen, wobei im Moment eben das Speichern das Bild nicht funktioniert und mir die Ideen dazu ausgehen.
@haselchen @mend
Hab den Befehl jetzt auch mal gekürzt damit gar keine Unterstriche nötig sind. Funktioniert in der Konsole, aber nicht mit Blockly:wget --output-document /opt/iobroker/foto/Alarm.jpg 'http://jan:*****@192.168.100.8:82/tmpfs/snap.jpg/'
-
Probier mal mein Skript oben mit den Hinweisen darunter.
-
@haselchen
Wo ist denn da der Trigger?
Mein Trigger DP wäre:0_userdata.0.CAM_Alarm