NEWS
[Neuer Adapter] EuSec
-
@longbow soweit ich weiß geht das nicht und wenn nur über Umwege aber da kenne ich mich nicht aus. Evtl über Google Home, Apple HomeKit?
-
@longbow
Nutze ihn hauptsächlich um die Sicherheitsmodi smart umzustellen. -
Hallo,
möglicherweise wurde das Thema hier schonmal behandelt, bisher las ich jedoch nur Fragen dazu und fand keine Lösung.Das interessanteste Feature für mich und vermutlich einige andere Leute hier, ist, einen Livestream von Eufy in der VIS einzubinden. Die Kameras mit rtsp Funktionalität sollten da keine Probleme bereiten. Jedoch die Doorbell WIFI und Floodlight Cam Pro 2 haben mich echt gestresst.
Da ich stets versuche mit gesundem Halbwissen und den mit zur Verfügung stehenden Möglichkeiten eine Lösung zu finden, habe ich aus Verzweiflung mal eine Brücke zwischen Home Assistant und Iobroker geschlagen und tatsächlich ein Ergebnis erzielt.
Die Eufy Integration im Home Assistant greift den P2P Stream mittels "RTSP Simple Server Add-on" ab. Diese Stream läuft dann über eine GO2RTC Instanz und kann im VIS angezeigt werden. Der Rest ist dann simpel.Stream im Iframe wiedergeben und den Stream-Start mit einem einfachen Skript aktivieren. Z.B. : Wenn VIS Einfahrt aufgerufen wird, starte den stream,usw.
Damit lässt sich dann auch alles andere gestalten, wie z.B. Bild ploppt auf bei motion detection etc.
Nun würde mich mal interessieren ob das auch nur mit IoB Adaptern ohne Home Assistant möglich ist. Ich habe dazu leider noch nichts gefunden.@rumpeltec @all
ich habe die neueren s330 Kameras, diese unterstützen ja auch rtsp. Wenn ich in yahka eine Kamera anlege und den rtsp link dort eintrage etc. habe ich ff. die Kamera zwar in Homekit aber es wird kein Bild angezeigt.
Weiß jemand bzw. hat es so bereits in betrieb wie mit dem Aufruf der Kamera in der Home-App auf iPhone/iPad und co der Stream gestartet werden kann?
Wäre echt super wenn ich die Kameras so über Umwege einer Homekit Funktionalität zuführen könnte (offiziell wird's das von eufy wahrscheinlich nie geben)
-
Bezüglich der S100 Wired Wall Light Cam habe ich mir mal den Code angeguckt. Zum Glück kann ich da (theoretisch) doch etwas mehr machen als nur ein Issues aufzumachen.
Die Lampe wird aktuell von dem Adapter nur als Unbekanntes Gerät angelegt, ich habe bei mir lokal die ID der Lampe als bekanntes Gerät aufgenommen und sie als Hack zum testen genau wie die Floodlight Cam im Adapter behandelt. Das hat zur Folge, dass die Lampe angelegt wird und auch gefüllte Datenpunkte bekommt. Auch das Steuern funktioniert grundsätzlich schon mal. Mit meiner Version kann ich die Lampe jetzt schon mal an und ausschalten. Aktuell ist es aber noch kein Status den ich als ChangeRequest einreichen kann. Ich hoffe, dass ich bis zum Wochenende einen Stand habe den ich dann schon mal einreichen und euch zum testen geben kann.
Da es meine ersten Versuche sind mich in die Adapter Programmierung einzuarbeiten kann ich aber nichts versprechen. Habe aktuell leider nur sehr wenig Zeit dafür.
Aber ich wollte euch schon mal die Rückmeldung geben, dass die Lampe grundsätzlich mit dem Adapter funktionieren sollte.
Gruß
Martin -
Bezüglich der S100 Wired Wall Light Cam habe ich mir mal den Code angeguckt. Zum Glück kann ich da (theoretisch) doch etwas mehr machen als nur ein Issues aufzumachen.
Die Lampe wird aktuell von dem Adapter nur als Unbekanntes Gerät angelegt, ich habe bei mir lokal die ID der Lampe als bekanntes Gerät aufgenommen und sie als Hack zum testen genau wie die Floodlight Cam im Adapter behandelt. Das hat zur Folge, dass die Lampe angelegt wird und auch gefüllte Datenpunkte bekommt. Auch das Steuern funktioniert grundsätzlich schon mal. Mit meiner Version kann ich die Lampe jetzt schon mal an und ausschalten. Aktuell ist es aber noch kein Status den ich als ChangeRequest einreichen kann. Ich hoffe, dass ich bis zum Wochenende einen Stand habe den ich dann schon mal einreichen und euch zum testen geben kann.
Da es meine ersten Versuche sind mich in die Adapter Programmierung einzuarbeiten kann ich aber nichts versprechen. Habe aktuell leider nur sehr wenig Zeit dafür.
Aber ich wollte euch schon mal die Rückmeldung geben, dass die Lampe grundsätzlich mit dem Adapter funktionieren sollte.
Gruß
Martin -
Hallo an alle,
ich möchte euch meinen ersten ioBroker Adapter "euSec", an dem ich gerade Arbeite, vorstellen:
https://github.com/bropat/ioBroker.euSec
Dieser Adapter ermöglicht die Steuerung von Eufy-Sicherheitsgeräten (https://www.eufylife.com/de/products/643/sicherheit) durch die Verbindung mit der Eufy-Cloud.
Nähere Infos findet ihr hier: https://bropat.github.io/ioBroker.eusec
Für jeweiligen Ratschläge und Verbesserungen bin ich sehr dankbar!
Grüße
-
Hallo Leute!
habe jetzt die 1.0.0 installiert und wieder einmal einen versuch gewagt, den Adapter zu aktivieren.
Seitdem bekomme ich beim Starten des Streams folgende Fehlermeldungen:eusec.0 2023-05-18 17:41:08.651 error ffmpegStreamToGo2rtc(): ffmpeg output: eusec.0 2023-05-18 17:41:08.650 error ffmpegStreamToGo2rtc(): An error occurred: ffmpeg was killed with signal SIGSEGV eusec.0 2023-05-18 17:39:39.571 error Station: T8010P23204831AD Device: T8210P0020482249 - Error - Stopping livestream... [{}] eusec.0 2023-05-18 17:39:39.571 error ffmpegStreamToGo2rtc(): ffmpeg stderr:ffmpeg version 5.0.1-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2022 the FFmpeg developers built with gcc 8 (Debian 8.3.0-6) configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg libavutil 57. 17.100 / 57. 17.100 libavcodec 59. 18.100 / 59. 18.100 libavformat 59. 16.100 / 59. 16.100 libavdevice 59. 4.100 / 59. 4.100 libavfilter 8. 24.100 / 8. 24.100 libswscale 6. 4.100 / 6. 4.100 libswresample 4. 3.100 / 4. 3.100 libpostproc 56. 3.100 / 56. 3.100Input #0, hevc, from 'unix:/tmp/eusec.0.1.sock': Duration: N/A, bitrate: N/A Stream #0:0: Video: hevc (Main), yuv420p(tv), 1024x768, 15 fps, 15 tbr, 1200k tbnInput #1, aac, from 'unix:/tmp/eusec.0.2.sock': Duration: N/A, bitrate: 24 kb/s Stream #1:0: Audio: aac (LC), 16000 Hz, mono, fltp, 24 kb/sStream mapping: Stream #0:0 -> #0:0 (copy) Stream #1:0 -> #0:1 (aac (native) -> opus (native))Press [q] to stop, [?] for helpKann mir hier jemand weiterhelfen? Die Adresse des Streams wird auch für 2 Sekunden im entsprechenden Objekt dargestellt, verschwindet aber auch gleich wieder. Und gibt es jetzt auch einen RTSP Stream? Kann man den vielleicht im VIS darstellen? Die m3u8 Streams gehen ja glaube ich immer noch nicht, oder hat sich hier schon etwas neues ergeben?
-
Hallo Leute!
habe jetzt die 1.0.0 installiert und wieder einmal einen versuch gewagt, den Adapter zu aktivieren.
Seitdem bekomme ich beim Starten des Streams folgende Fehlermeldungen:eusec.0 2023-05-18 17:41:08.651 error ffmpegStreamToGo2rtc(): ffmpeg output: eusec.0 2023-05-18 17:41:08.650 error ffmpegStreamToGo2rtc(): An error occurred: ffmpeg was killed with signal SIGSEGV eusec.0 2023-05-18 17:39:39.571 error Station: T8010P23204831AD Device: T8210P0020482249 - Error - Stopping livestream... [{}] eusec.0 2023-05-18 17:39:39.571 error ffmpegStreamToGo2rtc(): ffmpeg stderr:ffmpeg version 5.0.1-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2022 the FFmpeg developers built with gcc 8 (Debian 8.3.0-6) configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg libavutil 57. 17.100 / 57. 17.100 libavcodec 59. 18.100 / 59. 18.100 libavformat 59. 16.100 / 59. 16.100 libavdevice 59. 4.100 / 59. 4.100 libavfilter 8. 24.100 / 8. 24.100 libswscale 6. 4.100 / 6. 4.100 libswresample 4. 3.100 / 4. 3.100 libpostproc 56. 3.100 / 56. 3.100Input #0, hevc, from 'unix:/tmp/eusec.0.1.sock': Duration: N/A, bitrate: N/A Stream #0:0: Video: hevc (Main), yuv420p(tv), 1024x768, 15 fps, 15 tbr, 1200k tbnInput #1, aac, from 'unix:/tmp/eusec.0.2.sock': Duration: N/A, bitrate: 24 kb/s Stream #1:0: Audio: aac (LC), 16000 Hz, mono, fltp, 24 kb/sStream mapping: Stream #0:0 -> #0:0 (copy) Stream #1:0 -> #0:1 (aac (native) -> opus (native))Press [q] to stop, [?] for helpKann mir hier jemand weiterhelfen? Die Adresse des Streams wird auch für 2 Sekunden im entsprechenden Objekt dargestellt, verschwindet aber auch gleich wieder. Und gibt es jetzt auch einen RTSP Stream? Kann man den vielleicht im VIS darstellen? Die m3u8 Streams gehen ja glaube ich immer noch nicht, oder hat sich hier schon etwas neues ergeben?
@worxweis said in [Neuer Adapter] EuSec:
Hallo Leute!
habe jetzt die 1.0.0 installiert und wieder einmal einen versuch gewagt, den Adapter zu aktivieren.
Seitdem bekomme ich beim Starten des Streams folgende Fehlermeldungen:eusec.0 2023-05-18 17:41:08.651 error ffmpegStreamToGo2rtc(): ffmpeg output: eusec.0 2023-05-18 17:41:08.650 error ffmpegStreamToGo2rtc(): An error occurred: ffmpeg was killed with signal SIGSEGV eusec.0 2023-05-18 17:39:39.571 error Station: T8010P23204831AD Device: T8210P0020482249 - Error - Stopping livestream... [{}] eusec.0 2023-05-18 17:39:39.571 error ffmpegStreamToGo2rtc(): ffmpeg stderr:ffmpeg version 5.0.1-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2022 the FFmpeg developers built with gcc 8 (Debian 8.3.0-6) configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg libavutil 57. 17.100 / 57. 17.100 libavcodec 59. 18.100 / 59. 18.100 libavformat 59. 16.100 / 59. 16.100 libavdevice 59. 4.100 / 59. 4.100 libavfilter 8. 24.100 / 8. 24.100 libswscale 6. 4.100 / 6. 4.100 libswresample 4. 3.100 / 4. 3.100 libpostproc 56. 3.100 / 56. 3.100Input #0, hevc, from 'unix:/tmp/eusec.0.1.sock': Duration: N/A, bitrate: N/A Stream #0:0: Video: hevc (Main), yuv420p(tv), 1024x768, 15 fps, 15 tbr, 1200k tbnInput #1, aac, from 'unix:/tmp/eusec.0.2.sock': Duration: N/A, bitrate: 24 kb/s Stream #1:0: Audio: aac (LC), 16000 Hz, mono, fltp, 24 kb/sStream mapping: Stream #0:0 -> #0:0 (copy) Stream #1:0 -> #0:1 (aac (native) -> opus (native))Press [q] to stop, [?] for helpKann mir hier jemand weiterhelfen? Die Adresse des Streams wird auch für 2 Sekunden im entsprechenden Objekt dargestellt, verschwindet aber auch gleich wieder. Und gibt es jetzt auch einen RTSP Stream? Kann man den vielleicht im VIS darstellen? Die m3u8 Streams gehen ja glaube ich immer noch nicht, oder hat sich hier schon etwas neues ergeben?
Habe das gleiche Problem. Hat das noch wer bzw. gibt es hier eine Lösung?
-
Hi,
ich weiß nicht ob die Frage schon gestellt wurde, hab aber nichts gefunden.
Wo muss ich unter eusec.0.verify_code den 2FA code eingeben.
wenn ich wie in der Anleitung auf den Stift klicke kommt dort:

mir ist aber nicht klar wo ich ihn dort eingeben muss.
Vielen Dank
Gruß
uznadm -
Hi,
ich weiß nicht ob die Frage schon gestellt wurde, hab aber nichts gefunden.
Wo muss ich unter eusec.0.verify_code den 2FA code eingeben.
wenn ich wie in der Anleitung auf den Stift klicke kommt dort:

mir ist aber nicht klar wo ich ihn dort eingeben muss.
Vielen Dank
Gruß
uznadmWirklich durchblicken kann ich da immer noch nicht.
Ich habe es nun endlich geschafft diesen Captcha über Umwege zu bekommen.
Habe die URL in VIS eingetragen und siehe da, er zeigt einen Code an.
Nach Eingabe wird auch alles connected.Problem ist immer noch bei der Ausgabe des Bildes über telegram und das hat etwas mit dem Pfad zu tun.
Hinweis: Ich habe keine eufy-cloud.Trage ich den HTML Datenpunkt im VIS ein wird das Bild aktualisiert. Nehme dazu das Objekt picture_html
In Telegram nutze ich picture_url was auch immer funktionierte. Jetzt bekomme ich jedoch nur noch einen Text mit dem Pfad geschickt der so beginnt: /eusec.0/T8010xxxxxxxxx/last_event/T8113N1xxxxxxxxxx.jpg...da fehlt ja vor der Adresse was.
Ich habe es mit der iobroker IP versucht im Browser - geht nicht....dann mit der IP der station - geht nicht.
Hier mein Blockly....wäre schön wenn mir jemand sagen könnte wie ich das ändere.

-
@locito09 said in [Neuer Adapter] EuSec:
Funktioniert das immer noch bei Dir @locito09? Ich bekomme nur noch den Pfad per Telegram geschickt.
@Marko1974
Geht bei mir auch nicht mehr, nur in der VIS lässt sich das Bild anzeigen, bei mir wird der Personen Detected dantenpunkt auch nicht mehr aktualisiert -
Hallo an alle,
ich möchte euch meinen ersten ioBroker Adapter "euSec", an dem ich gerade Arbeite, vorstellen:
https://github.com/bropat/ioBroker.euSec
Dieser Adapter ermöglicht die Steuerung von Eufy-Sicherheitsgeräten (https://www.eufylife.com/de/products/643/sicherheit) durch die Verbindung mit der Eufy-Cloud.
Nähere Infos findet ihr hier: https://bropat.github.io/ioBroker.eusec
Für jeweiligen Ratschläge und Verbesserungen bin ich sehr dankbar!
Grüße
@bropat
Hi, habe alles abgesucht und nichts gefunden. Kann mir einer sagen was ich mit den go2rtc einstellungen mache?
Nachtrag:
was muss ich unter den Livestream Einstellungen konfigurieren? -
@Marko1974
Geht bei mir auch nicht mehr, nur in der VIS lässt sich das Bild anzeigen, bei mir wird der Personen Detected dantenpunkt auch nicht mehr aktualisiert@locito09 said in [Neuer Adapter] EuSec:
@Marko1974
Geht bei mir auch nicht mehr, nur in der VIS lässt sich das Bild anzeigen, bei mir wird der Personen Detected dantenpunkt auch nicht mehr aktualisiertKann man da was machen @bropat ?
-
@Marko1974
Geht bei mir auch nicht mehr, nur in der VIS lässt sich das Bild anzeigen, bei mir wird der Personen Detected dantenpunkt auch nicht mehr aktualisiert -
Eventuell für jemanden interessant
Recht zügiger Weg um ein aktuelles Bild per Telegram zu sendenvar Path_Pic; var URL_CAM; const fs = require('fs'); async function create_pic(Path_Pic, URL_CAM) { //check if picture exists - if yes delete if (fs.existsSync(Path_Pic)) { exec(('rm ' + String(Path_Pic))); await wait(1000); //just to be sure that the picture is deleted } // Start Stream await wait(1000); //just to be sure that the stream has started exec((['ffmpeg -loglevel fatal -rtsp_transport tcp -i ',URL_CAM,' -f image2 -vframes 1 -pix_fmt yuvj420p ',Path_Pic].join(''))); await wait(2000); //ffmpeg needs time for creation if (!(fs.existsSync(Path_Pic))) { await wait(2000); //ffmpeg needs more time for creation log('nicht vorhanden'); } sendTo("telegram.0", "send", { text: Path_Pic, user: '' }); } //Example how to use function //If rtsp exist use rtsp setState('eusec.0.XXXXXXXXXXXXX.cameras.XXXXXXXXXXXXXX.rtsp_stream' /* Start stream */, true); //normally already switched on await create_pic('/opt/XXXXXX/XXXXXXX/Pic.jpeg', 'rtsp://USR:PWD@192.168.XXX.XXX/live0'); //Store path picture - rtsp url //If rtsp not exist use go2rtc but much slower setState('eusec.0.XXXXXXXXXXXXX.cameras.XXXXXXXXXXXXXX.start_stream' /* Start stream */, true); await create_pic('/opt/XXXXXX/XXXXXXX/Pic.jpeg', 'rtsp://raspberrypi:8554/XXXXXXXXXXXXXX'); //Store path picture - o2rtc url -
Eventuell für jemanden interessant
Recht zügiger Weg um ein aktuelles Bild per Telegram zu sendenvar Path_Pic; var URL_CAM; const fs = require('fs'); async function create_pic(Path_Pic, URL_CAM) { //check if picture exists - if yes delete if (fs.existsSync(Path_Pic)) { exec(('rm ' + String(Path_Pic))); await wait(1000); //just to be sure that the picture is deleted } // Start Stream await wait(1000); //just to be sure that the stream has started exec((['ffmpeg -loglevel fatal -rtsp_transport tcp -i ',URL_CAM,' -f image2 -vframes 1 -pix_fmt yuvj420p ',Path_Pic].join(''))); await wait(2000); //ffmpeg needs time for creation if (!(fs.existsSync(Path_Pic))) { await wait(2000); //ffmpeg needs more time for creation log('nicht vorhanden'); } sendTo("telegram.0", "send", { text: Path_Pic, user: '' }); } //Example how to use function //If rtsp exist use rtsp setState('eusec.0.XXXXXXXXXXXXX.cameras.XXXXXXXXXXXXXX.rtsp_stream' /* Start stream */, true); //normally already switched on await create_pic('/opt/XXXXXX/XXXXXXX/Pic.jpeg', 'rtsp://USR:PWD@192.168.XXX.XXX/live0'); //Store path picture - rtsp url //If rtsp not exist use go2rtc but much slower setState('eusec.0.XXXXXXXXXXXXX.cameras.XXXXXXXXXXXXXX.start_stream' /* Start stream */, true); await create_pic('/opt/XXXXXX/XXXXXXX/Pic.jpeg', 'rtsp://raspberrypi:8554/XXXXXXXXXXXXXX'); //Store path picture - o2rtc url@tbsjah
Sogar sehr interessant.
Kannst du das für die Blockly Anhänger übersetzen?:blush: -
@tbsjah
Sogar sehr interessant.
Kannst du das für die Blockly Anhänger übersetzen?:blush:<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id=".5kR@*@BVv1O7noIe(3G">XXXXXXXXXXXXXXXX_Pic</variable> <variable id="HG,5+Q1IK)XD#v$T4*hl">URL_CAM</variable> <variable id="oN*3XW_?QS7$:FwR$CbD">Check</variable> </variables> <block type="procedures_defcustomreturn" id="J!Bvoqs}(Lq/G?ZW,-(]" x="188" y="263"> <mutation statements="false"> <arg name="XXXXXXXXXXXXXXXX_Pic" varid=".5kR@*@BVv1O7noIe(3G"></arg> <arg name="URL_CAM" varid="HG,5+Q1IK)XD#v$T4*hl"></arg> </mutation> <field name="NAME">create_pic</field> <field name="SCRIPT">dmFyIGlDb3VudCA9IDA7DQp2YXIgYkZvdW5kID0gdHJ1ZTsNCnZhciBmcyA9IHJlcXVpcmUoJ2ZzJyk7DQoNCi8vY2hlY2sgaWYgcGljdHVyZSBleGlzdHMgLSBpZiB5ZXMgZGVsZXRlDQppZiAoZnMuZXhpc3RzU3luYyhQYXRoX1BpYykpIHsNCiAgICBleGVjKCgncm0gICcgKyBTdHJpbmcoUGF0aF9QaWMpKSk7DQogICAgYXdhaXQgd2FpdCgxMDAwKTsgIC8vanVzdCB0byBiZSBzdXJlIHRoYXQgdGhlIHBpY3R1cmUgaXMgZGVsZXRlZA0KfSANCiANCiAgLy8gU3RhcnQgU3RyZWFtDQogIGF3YWl0IHdhaXQoMTAwMCk7ICAvL2p1c3QgdG8gYmUgc3VyZSB0aGF0IHRoZSBzdHJlYW0gaGFzIHN0YXJ0ZWQNCiAgZXhlYygoWydmZm1wZWcgLWxvZ2xldmVsIGZhdGFsIC1ydHNwX3RyYW5zcG9ydCB0Y3AgLWkgJyxVUkxfQ0FNLCcgLWYgaW1hZ2UyIC12ZnJhbWVzIDEgLXBpeF9mbXQgeXV2ajQyMHAgJyxQYXRoX1BpY10uam9pbignJykpKTsNCiANCndoaWxlICghKGZzLmV4aXN0c1N5bmMoUGF0aF9QaWMpKSkgew0KICBpQ291bnQgPSBpQ291bnQgKyAxOw0KICBhd2FpdCB3YWl0KDEwMDApOyAvL2ZmbXBlZyBuZWVkcyBtb3JlIHRpbWUgZm9yIGNyZWF0aW9uDQogIGlmIChpQ291bnQgPT0gMTApIHsgLy9ub3RoaW5nIGhhcHBlbnMgYWZ0ZXIgMTBzIC0+IHNraXANCiAgYkZvdW5kID0gZmFsc2U7IA0KICAgIGJyZWFrOw0KICB9DQp9DQogDQoNCnJldHVybiBiRm91bmQ7</field> <comment pinned="false" h="80" w="160">Describe this function...</comment> </block> <block type="control" id="lN7OPGS,BYEuQ@]tdjAV" x="188" y="313"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">eusec.0.XXXXXXXXXXXXXXXX.cameras.XXXXXXXXXXXXXXXX.rtsp_stream</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="pBb4#,2FShkMf9DWMg6D"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="f~O~*,YL5.W@65-.lGf9"> <field name="VAR" id="oN*3XW_?QS7$:FwR$CbD">Check</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="HRD7cJ{40v0Y%W3MkFuW"> <mutation name="create_pic"> <arg name="XXXXXXXXXXXXXXXX_Pic"></arg> <arg name="URL_CAM"></arg> </mutation> <value name="ARG0"> <block type="text" id="0]6j[8=u`;kcgni7!oT`"> <field name="TEXT">PATH/Pic.jpeg</field> </block> </value> <value name="ARG1"> <block type="convert_tostring" id="L9g6b9r{-+K?NdU3s$G="> <value name="VALUE"> <block type="get_value" id="mgW_61f13,(6M{4~:-`n"> <field name="ATTR">val</field> <field name="OID">eusec.0.XXXXXXXXXXXXXXXX.cameras.XXXXXXXXXXXXXXXX.rtsp_stream_url</field> </block> </value> </block> </value> </block> </value> <next> <block type="controls_if" id="AH%upH|y(afK(2}sVr#7"> <value name="IF0"> <block type="logic_compare" id="D_;;c_hk!dF83JX[p/M`"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="zO@w4w~4LFmb1,p)l*vs"> <field name="VAR" id="oN*3XW_?QS7$:FwR$CbD">Check</field> </block> </value> <value name="B"> <block type="logic_boolean" id="~934R*fRj3g6d~/JEX.p"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="8r90W{b2|I21hZT)$_*`"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="rO)Fwr+*@@m~T-KRk6HO"> <field name="TEXT">PATH/Pic.jpeg</field> </shadow> </value> <value name="USERNAME"> <block type="text" id="RQQ)]z?_{Q7yj}xKs=rL"> <field name="TEXT">User</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </xml> -
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id=".5kR@*@BVv1O7noIe(3G">XXXXXXXXXXXXXXXX_Pic</variable> <variable id="HG,5+Q1IK)XD#v$T4*hl">URL_CAM</variable> <variable id="oN*3XW_?QS7$:FwR$CbD">Check</variable> </variables> <block type="procedures_defcustomreturn" id="J!Bvoqs}(Lq/G?ZW,-(]" x="188" y="263"> <mutation statements="false"> <arg name="XXXXXXXXXXXXXXXX_Pic" varid=".5kR@*@BVv1O7noIe(3G"></arg> <arg name="URL_CAM" varid="HG,5+Q1IK)XD#v$T4*hl"></arg> </mutation> <field name="NAME">create_pic</field> <field name="SCRIPT">dmFyIGlDb3VudCA9IDA7DQp2YXIgYkZvdW5kID0gdHJ1ZTsNCnZhciBmcyA9IHJlcXVpcmUoJ2ZzJyk7DQoNCi8vY2hlY2sgaWYgcGljdHVyZSBleGlzdHMgLSBpZiB5ZXMgZGVsZXRlDQppZiAoZnMuZXhpc3RzU3luYyhQYXRoX1BpYykpIHsNCiAgICBleGVjKCgncm0gICcgKyBTdHJpbmcoUGF0aF9QaWMpKSk7DQogICAgYXdhaXQgd2FpdCgxMDAwKTsgIC8vanVzdCB0byBiZSBzdXJlIHRoYXQgdGhlIHBpY3R1cmUgaXMgZGVsZXRlZA0KfSANCiANCiAgLy8gU3RhcnQgU3RyZWFtDQogIGF3YWl0IHdhaXQoMTAwMCk7ICAvL2p1c3QgdG8gYmUgc3VyZSB0aGF0IHRoZSBzdHJlYW0gaGFzIHN0YXJ0ZWQNCiAgZXhlYygoWydmZm1wZWcgLWxvZ2xldmVsIGZhdGFsIC1ydHNwX3RyYW5zcG9ydCB0Y3AgLWkgJyxVUkxfQ0FNLCcgLWYgaW1hZ2UyIC12ZnJhbWVzIDEgLXBpeF9mbXQgeXV2ajQyMHAgJyxQYXRoX1BpY10uam9pbignJykpKTsNCiANCndoaWxlICghKGZzLmV4aXN0c1N5bmMoUGF0aF9QaWMpKSkgew0KICBpQ291bnQgPSBpQ291bnQgKyAxOw0KICBhd2FpdCB3YWl0KDEwMDApOyAvL2ZmbXBlZyBuZWVkcyBtb3JlIHRpbWUgZm9yIGNyZWF0aW9uDQogIGlmIChpQ291bnQgPT0gMTApIHsgLy9ub3RoaW5nIGhhcHBlbnMgYWZ0ZXIgMTBzIC0+IHNraXANCiAgYkZvdW5kID0gZmFsc2U7IA0KICAgIGJyZWFrOw0KICB9DQp9DQogDQoNCnJldHVybiBiRm91bmQ7</field> <comment pinned="false" h="80" w="160">Describe this function...</comment> </block> <block type="control" id="lN7OPGS,BYEuQ@]tdjAV" x="188" y="313"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">eusec.0.XXXXXXXXXXXXXXXX.cameras.XXXXXXXXXXXXXXXX.rtsp_stream</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="pBb4#,2FShkMf9DWMg6D"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="f~O~*,YL5.W@65-.lGf9"> <field name="VAR" id="oN*3XW_?QS7$:FwR$CbD">Check</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="HRD7cJ{40v0Y%W3MkFuW"> <mutation name="create_pic"> <arg name="XXXXXXXXXXXXXXXX_Pic"></arg> <arg name="URL_CAM"></arg> </mutation> <value name="ARG0"> <block type="text" id="0]6j[8=u`;kcgni7!oT`"> <field name="TEXT">PATH/Pic.jpeg</field> </block> </value> <value name="ARG1"> <block type="convert_tostring" id="L9g6b9r{-+K?NdU3s$G="> <value name="VALUE"> <block type="get_value" id="mgW_61f13,(6M{4~:-`n"> <field name="ATTR">val</field> <field name="OID">eusec.0.XXXXXXXXXXXXXXXX.cameras.XXXXXXXXXXXXXXXX.rtsp_stream_url</field> </block> </value> </block> </value> </block> </value> <next> <block type="controls_if" id="AH%upH|y(afK(2}sVr#7"> <value name="IF0"> <block type="logic_compare" id="D_;;c_hk!dF83JX[p/M`"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="zO@w4w~4LFmb1,p)l*vs"> <field name="VAR" id="oN*3XW_?QS7$:FwR$CbD">Check</field> </block> </value> <value name="B"> <block type="logic_boolean" id="~934R*fRj3g6d~/JEX.p"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="8r90W{b2|I21hZT)$_*`"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="rO)Fwr+*@@m~T-KRk6HO"> <field name="TEXT">PATH/Pic.jpeg</field> </shadow> </value> <value name="USERNAME"> <block type="text" id="RQQ)]z?_{Q7yj}xKs=rL"> <field name="TEXT">User</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </xml>@tbsjah
Importieren hat gut geklappt.
Was muss ich denn wo eintragen?

