NEWS
[Neuer Adapter] Reolink Kamera
-
Hallo zusammen, Ich bräuchte mal nen Tipp. Ich versuche grad das Bild einer Kamera per Telegram zu verschicken. Da http-get am Certifikat scheitert, dachte ich mir ich nutze die eingebaute Funktion des Adapters.
sendTo("reolink.0",{action: "snap"}, function(result){ sendTo("telegram.0",{text:result}); });
Leider scheint Telegram das aber nicht als Bild zu erkennen.
sendTo("reolink.0",{action: "snap"}, function(result){ const buffer =Buffer.from(result.base64, "base64"); sendTo("telegram.0",{text:buffer}); });
die Fehler sind Wahlweise
Failed sending [chatId - 995414256]: Error: ETELEGRAM: 413 Request Entity Too Large Failed sending [chatId - 995414256]: Error: ETELEGRAM: 400 Bad Request: message text is empty
Hat jemand nen Tipp?
-
@dominic151617 warum nicht das fertige Blockly von z.B. hier nutzen:
-
@wendy2702 Dank für die schnelle Antwort. Das war auch mein Startpunkt. Leider bekomme ich da den Fehler
script.js.Kamera.Reolink_Haustür: httpGet(url=http://192.168.178.123/cgi-bin/api.cgi?cmd=Snap&channel=0&rs=&user=admin&password=geheim, error=self-signed certificate)
Darüber ist @Ringo-66 auch schon weiter oben gestolpert. Leider konnte ich im weiteren Verlauf keine Lösung dafür finden. Daher habe ich einen anderen Ansatz gewählt. Ansicht macht es ja auch wengig sinn, das Bild erst auf die Platte zu schreiben und dann wieder einzulesen.
-
@dominic151617 hast du denn „http“ in der Kamera aktiv?
-
@dominic151617 Probier ersteinmal wie telegram das Bild haben will:
sendTo("telegram.0",{file:{type:"image/png",base64:"iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACmSURBVFhH7ZdhCoAgDEZnd9D737T8xJkNNY1Ef+yB2LTcC1qWOT20kCBgjIkh0WwfmeuIxyGYnRzIPElgFSqgAvsKOOdCzeZ1y7EcZzDG16HvwtckihLdA4xxk3HeGGttc17Cc+lN6Ds/dlO6w6/ItQHn7H4GcDK3Em/zNboE5KKjcQstQxVQARVYLlDdC2YzvBfMQgVUYB8BlMWfn2E1ZJ7Fv+dEF0UZoNhXp9NnAAAAAElFTkSuQmCC"}});
oder
sendTo("telegram.0",{file:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACmSURBVFhH7ZdhCoAgDEZnd9D737T8xJkNNY1Ef+yB2LTcC1qWOT20kCBgjIkh0WwfmeuIxyGYnRzIPElgFSqgAvsKOOdCzeZ1y7EcZzDG16HvwtckihLdA4xxk3HeGGttc17Cc+lN6Ds/dlO6w6/ItQHn7H4GcDK3Em/zNboE5KKjcQstQxVQARVYLlDdC2YzvBfMQgVUYB8BlMWfn2E1ZJ7Fv+dEF0UZoNhXp9NnAAAAAElFTkSuQmCC"});
Im Reolink adapter ist auch ein Beispiel für Matrix (Synapse, Elements)
sendTo("reolink.0",{action: "snap"}, function(result){ sendTo("matrix-org.0",{file:result}); });
-
@wendy2702
ich glaube da habe ich vergessen auf speichern zu klicken. Leider stolpere ich damit in den nächsten Fehler. Ich bekomme nur den Pfad und nicht das Bild. Wenn ich Terminal schaue, ist die Datei aber vorhanden. Ich lege das Thema für heute erstmal zur Seite. Besten Dank schon mal.
-
So, hab es jetzt doch hinbekommen. Danke noch mal an @wendy2702 und @oelison. Ich spar mir mal, über welche Fehlversuche ich zur Löung gekommen bin. Im Endefekt muss der Buffer als
{"type":"Buffer","data":[255,216,255,219,0,132,0,10,7,7,8,7 (hier fehlt ne Menge)]}
vorliegen. Was jetzt funktioniert ist:
sendTo("reolink.0",{action: "snap"}, function(result){ const buffer =Buffer.from(result.base64, "base64"); sendTo('telegram.0', { text: buffer, type: "photo", caption: 'A wonderful adapter' }); });
-
@gonzokalle Hi. Habe die CX810 nun hier. Auch in der APP, aber komme mit dem Adapter nicht online, bzw. der link auf github zur API, macht bei mir nichts. muss ich noch was beachten?
Edit: Habe es schon gefunden und in der APP https aktiviert.
-
@dominic151617 Danke. Ich habe das jetzt auch in die Readme.md kopiert.
-
@oelison sagte in [Neuer Adapter] Reolink Kamera:
Ich habe das jetzt auch in die Readme.md kopiert.
Hallo ich habe das Script übernommen, bekomme eine Info Meldung
reolink.0 2025-05-12 13:04:44.715 info send back the image!
Edit: Der Bot wollte nur einen Neustart
-
@dominic151617 sagte in [Neuer Adapter] Reolink Kamera:
Im Endefekt muss der Buffer als
Hi, wo wird den der Buffer eingetragen?
Edit: Hat sich erledigt