Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. 900icarD

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    9
    • Profile
    • Following 0
    • Followers 0
    • Topics 8
    • Posts 47
    • Best 3
    • Groups 1

    900icarD

    @900icarD

    3
    Reputation
    7
    Profile views
    47
    Posts
    0
    Followers
    0
    Following
    Joined Last Online
    Location Regensburg

    900icarD Follow
    Starter

    Best posts made by 900icarD

    • RE: PV Speicher, welche Adapter und was steuert Ihr damit?

      @alk sagte in PV Speicher, welche Adapter und was steuert Ihr damit?:

      https://forum.iobroker.net/topic/65668/mit-e3dc-s10e-und-keba-p30-c-serie-pv-optimiert-ev-laden

      Wow, Top für die umfangreiche Beschreibung Mal sehn was davon ich ggf. nutzen kann. Danke schön.

      posted in Off Topic
      9
      900icarD
    • RE: Proxmox VM friert ein

      @trooper
      Also bei mir lief das auch mit 16GB. Anfänglich (über 1 Jahr) ohne Probleme und später dann immer häufiger Freezes bis es dann schon nach 2-3 Stunden immer gefreezt war.
      Ich bin ja dann auf den AMD umgestiegen und bisher (über 2 Wochen) kein Mucks mehr.
      Auf dem AMD hab ich die VMS exakt mit den selben vorherigen Einstellungen eingespielt aber ist eben ein anderes Board und vielleicht ist die Speicherzuordnung da auch anders.
      Ich hatte aber auf dem Intel auch nur den iOBroker mal alleine laufen ohne andere VMs. Auch eingefroren. Irgendwie strange.
      Wenn ich mal wieder Zeit und Lust habe, werde ich da mal weiter testen oder es findet vorher jemand definitiv das Problem 😉

      posted in Proxmox
      9
      900icarD
    • RE: Netatmo / Websocket Error

      @apollon77 Oh, ha ... vielen Dank für den Tip mit dem Popup Blocker. Das war tatsächlich das simple Problem. Da wär ich jetzt so schnell nicht drauf gekommen weil beim Klicken auf den Button unten ja kurz die Info mit dem OK erscheint und auch im Log nix zu finden war.
      Habs jetzt mit dem Chrome Browser gemacht und siehe da, da kam das Browserfenster wo man bestätigen muss und nun läuft alles wieder.
      Auch die Datenpunkte der LastEvents werden nun wieder sauber aktualisiert.
      Perfekt und danke nochmals für die Hilfe.

      posted in ioBroker Allgemein
      9
      900icarD

    Latest posts made by 900icarD

    • RE: VIS-1 HTML Widget mit Datenpunkt verbinden/steuern

      @oliverio
      Hallo Oliver, vielen Dank für Deine schnelle Hilfe.
      Jetzt funktioniert das Ganze auch so wie gedacht.

      Ja ich denke, die KI wird die "Lösungen" sich sicherlich auch hier aus dem Forum ziehen und dann ist halt immer mal was dabei was nicht passt oder halt nicht 100%. Mal sehn wann die Ki das nächste Mal neue Beiträge hier im Forum scannt. Dann sollte sie ja auch über diese Lösung hier stolpern und für andere passts dann gleich aufs erste Mal.

      Cool wäre es natürlich wenn jemand aus dieser Lösung gleich ein fertiges Widget bauen könnte was dann andere nutzen können. Dazu reichen meine Fähigkeiten leider nicht.

      Viele Grüße,
      Robert

      posted in Visualisierung
      9
      900icarD
    • VIS-1 HTML Widget mit Datenpunkt verbinden/steuern

      Hallo Zusammen,

      ich bin noch mit der VIS 1 unterwegs weil ich damit echt gut zurechtkomme und bisher alles funktioniert was ich umsetzen wollte.
      Nun habe ich auch mal ChatGPT als Helferknecht benutzt und bin erstaunt was damit schon alles geht (fast alles, scheinbar).

      Ich habe mir eingebildet einen Apple iOS Style Toggle Button kreieren zu lassen.
      Bildschirmfoto 2025-06-17 um 15.10.05.png
      Der von ChatGPT generierte Code sieht so aus:

      <!-- ---------- BEGIN: iOS-Style Toggle für ioBroker VIS ---------- -->
      <style>
      #iosToggleWidget {
        font-family: sans-serif;
        text-align: center;
        margin: 20px;
      }
      #iosToggleWidget .toggleWrapper {
        display: inline-block;
        padding: 20px;
        background: white;
        border: 1px solid #ddd;
        border-radius: 8px;
      }
      #iosToggleWidget input[type="checkbox"] {
        display: none;
      }
      #iosToggleWidget label {
        position: relative;
        display: block;
        width: 50px;
        height: 30px;
        background: lightgray;
        border-radius: 30px;
        cursor: pointer;
        transition: background 0.3s;
      }
      #iosToggleWidget label:after {
        content: "";
        position: absolute;
        top: 1px;
        left: 1px;
        width: 28px;
        height: 28px;
        background: whitesmoke;
        border-radius: 50%;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
        transition: left 0.3s;
      }
      #iosToggleWidget input[type="checkbox"]:checked + label {
        background: #2ecc71;
      }
      #iosToggleWidget input[type="checkbox"]:checked + label:after {
        left: 21px;
      }
      </style>
      
      <div id="iosToggleWidget">
        <div class="toggleWrapper">
          <!-- ✅ Ersetze diesen Datenpunkt mit deinem echten Datenpunkt -->
          <input type="checkbox" id="iosToggle" data-oid="0_userdata.0.Test.Testschalter_3" onchange="vis.setValue(this.dataset.oid, this.checked)">
          <label for="iosToggle"></label>
        </div>
      </div>
      <script>
      var datenpunktname= "0_userdata.0.Test.Testschalter_3";
      function setzeWert(variablenName, Wert){
         this.servConn._socket.emit('setState', variablenName, Wert);
      }
      $("input[name=station]").change(function(){
          var station=this.value;
          var playername = $("input[name=squeeze]:checked").val();
          setzeWert(datenpunktname,station);
      });
      </script>
      

      Wenn ich den Schalter betätige, ändert sich auch brav der Datenpunkt, so wie es sein soll. Was jedoch nicht klappt, ist, dass wenn ich den Datenpunkt in der Objektstruktur ändere (also nicht den Vis Button) dann ändert sich der Vis Button aber nicht mit.

      Auf meine freundliche Frage "Wenn ich den Datenpunkt ändere dann ändert sich der Button in der Vis nicht mit. Woran kann das liegen?" hat dann ChatGPT eine "Lösung" vorgeschlagen:

      Antwort:
      Das Verhalten, dass sich der Toggle-Button nicht automatisch aktualisiert, wenn sich der Wert des Datenpunkts außerhalb des Widgets (z. B. durch ein anderes Widget oder Script) ändert, deutet auf einen Fehler oder eine Inkompatibilität im Binding-Code hin.

      ⸻

      ✅ Mögliche Ursachen & Lösungen

      🔧 1. vis.binds.basic.value wird nicht ausgeführt

      Problem: Die Funktion vis.binds.basic.value(...) funktioniert nicht, weil vis.binds.basic evtl. nicht geladen ist oder das Timing nicht stimmt.

      Lösung: Nutze stattdessen das offizielle Binding-System von ioBroker VIS, das automatisch Trigger setzt.

      ....

      aber das funktioniert nicht und ich habe da auch mehrere Versionen probiert, ohne Erfolg.
      Daher hier die Frage an die Script-Profis (ich habe da nur sehr rudimentär Ahnung davon) wie der untere <div> bzw. <script> Teil aussehen müsste damit das auch klappt.

      Generell, wie sind eure Erfahrungen mit ChatGPT in diesem Bereich? Gerade was CSS angeht, finde ich, bietet es da schon sehr gute, schnelle Lösungen.

      Wäre super wenn eine MI (Menschliche Intelligenz) hier helfen könnte 🙂

      Vielen Dank und viele Grüße

      Edit: der komplette Code befindet sich im HTML Widget unter dem Punkt HTML. Also nichts im Reiter CSS oder Reiter Script.

      posted in Visualisierung
      9
      900icarD
    • RE: GELÖST: Base64 Bilddatei per Telegram senden?

      @mcu Perfekt! So funktionierts.
      Vielen, vielen Dank für Deine schnelle und umfangreiche Hilfe 👍 👏 🙏

      posted in Blockly
      9
      900icarD
    • RE: GELÖST: Base64 Bilddatei per Telegram senden?

      @mcu Aaaaaahhhh ... oh, mann wie peinlich. Das hätte ich ja checken müssen als ich den Punkt anstatt dem Unterstrich gesehen habe, tzzz 😵
      Super, danke. Das funktioniert natürlich.

      Jetzt habe ich nur noch das Problem, dass wenn ich das per telegram versenden will dann nur der Pfad und nicht das Bild versendet wird.
      Weder damit /Unifi/Kamera.png noch damit /0_userdata.0/Unifi/Kamera.png funktioniert das.

      Bisher hatte ich Netatmo Presence Kameras im Einsatz und da habe ich die snapshots mit wget geholt und hier /home/iobroker/presence/last_snapshot.jpg abgespeichert.
      Diese Pfadangabe mit dem Block "erstelle Text aus" schicken ging, da wurde das Bild gesendet.

      Am Dateiformat .png kanns nicht liegen oder?
      Oder wie wäre die korrekte Pfadangabe auf 0_userdata.0/Unifi/....?

      posted in Blockly
      9
      900icarD
    • RE: GELÖST: Base64 Bilddatei per Telegram senden?

      @mcu sagte in Base64 Bilddatei per Telegram senden?:

      <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="E%rN7q#/E24cC/v_IN@V">base64String</variable> <variable id="-Z^S#?atm^^T0LFTKkwL">dateiname</variable> </variables> <block type="procedures_defcustomnoreturn" id="1MPnr(os8hBSi|{}j|zA" x="63" y="13"> <mutation statements="false"> <arg name="base64String" varid="E%rN7q#/E24cC/v_IN@V"></arg> <arg name="dateiname" varid="-Z^S#?atm^^T0LFTKkwL"></arg> </mutation> <field name="NAME">saveBase64ToPNG</field> <field name="SCRIPT">Y29uc3QgYmFzZTY0c3RyID0gYmFzZTY0U3RyaW5nLnJlcGxhY2UoL15kYXRhOmltYWdlXC9wbmc7YmFzZTY0LC8sICcnKTsNCmNvbnN0IGJhc2U2NGRhdGEgPSBCdWZmZXIuZnJvbShiYXNlNjRzdHIsICdiYXNlNjQnKTsNCiAgICAgICANCiAgICB3cml0ZUZpbGUoJzBfdXNlcmRhdGEuMCcsIGRhdGVpbmFtZSwgYmFzZTY0ZGF0YSwgKGVycikgPT4gew0KICAgICAgICBpZiAoIWVycikgew0KICAgICAgICAgICAgY29uc29sZS5pbmZvKCdGaWxlIHdyaXR0ZW4nKTsNCiAgICAgICAgICAgIA0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpOw0KICAgICAgICAgICANCiAgICAgICAgfQ0KICAgIH0pOw0K</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="comment" id="6I,K68E_YjuJ4Bp3R" x="63" y="88"> <field name="COMMENT">Verzeichnis Unifi vorhanden unter 0_userdata.0 </field> <next> <block type="on_ext" id="BA7lZe|T]__C@mQ-7HdK"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="y2w*4dQTmCnVJfV!^v9P"> <field name="oid">ID auswählen</field> </shadow> <block type="text" id="so{7z(TL,$X=3{wEyo|~"> <field name="TEXT">unifi-protect.0.cameras.6749e0dc01b24a03e4000419.realTimeEvents.motion.snapshot</field> </block> </value> <statement name="STATEMENT"> <block type="procedures_callcustomnoreturn" id="N]XcZN*G9!|,t]jglN2"> <mutation name="saveBase64ToPNG"> <arg name="base64String"></arg> <arg name="dateiname"></arg> </mutation> <value name="ARG0"> <block type="on_source" id="v,63/0W-kYlZi[x8K!_e"> <field name="ATTR">state.val</field> </block> </value> <value name="ARG1"> <block type="text" id="PH1Pp)}:j[)x:OThOCB`"> <field name="TEXT">/Unifi/Kamera.png</field> </block> </value> </block> </statement> </block> </next> </block> </xml>

      Hallo @MCU,

      Vielen Dank für die Schnelle Reaktion. Leider klappt es noch nicht ganz.
      Das Script/die Funktion läuft durch und es kommt auch als Meldung im Log "File written". Im Datenpunkt steht allerdings nix drin.
      Du hattest als Dateiname /Unifi/Kamera.png drin, das habe ich auf /Unifi/Kamera_png geändert so wie mein DP heißt, geht trotzdem nicht.
      Ich habe auch schon einen DP direkt unter 0_userdata.0. als test angelegt und den Pfad nicht als Variable sondern fix im Script hinterlegt.
      Läuft auch durch mit "File written" aber es kommt im DP nix an.
      DP ist als String so wie der Originale auch.
      Wo könnte ggf. noch ein Fehler sein?

      posted in Blockly
      9
      900icarD
    • RE: GELÖST: Base64 Bilddatei per Telegram senden?

      @mcu sagte in Base64 Bilddatei per Telegram senden?:

                                                                                                                                  let dateiname = '/jarvis/ffn.png'                                                                                                                                                                                                                                                                                                                                                         function savePNG(base64String){                                                                                                                                                                                const base64str = base64String.replace(/^data:image\/png;base64,/, '');                                                                                                                                                                                const base64data = Buffer.from(base64str, 'base64');                                                                                                                                                                                                                                                                                                                                                                    writeFile('0_userdata.0', dateiname, base64data, (err) => {                                                                                                                                                                                    if (!err) {                                                                                                                                                                                        console.info('File written');                                                                                                                                                                                    } else {                                                                                                                                                                                        console.error(err);                                                                                                                                                                                    }                                                                                                                                                                                });                                                                                                                                                                            }
      

      Hallo @MCU,

      Vielen Dank für das Script zum umwandeln. Leider bin ich im Bereich Javascript nicht bewandert und arbeite daher nur mit Blockly.
      Könntest Du mir bitte das Script so anpassen, dass ich es verwenden kann.

      Der Datenpunkt in dem das base64 Bild drin liegt ist: unifi-protect.0.cameras.6749e0dc01b24a03e4000419.realTimeEvents.motion.snapshot
      Der Datenpunkt wo dann das png landen soll wäre der: 0_userdata.0.Unifi.Kamera_png (Zeichenkette ok?)

      Wäre super wenn Du mir das darstellen könntest wie das angepasste Script dann aussehen müsste.
      Vielen Dank schon mal.

      posted in Blockly
      9
      900icarD
    • GELÖST: Base64 Bilddatei per Telegram senden?

      Hallo Zusammen,

      wie man grundsätzlich .JPG Bilder per Telegram versenden kann ist mir klar.
      Nun habe ich den Unifi-Protect Adapter laufen der die Snapshots der Überwachungskamera als Base64 ala "data:image/png;base64 (Buchstabensalat)" Datei in einem Datenpunkt ablegt.
      Wenn ich den Inhalt des DPs so an Telegram übergebe, sagt der, dass die Nachricht zu lang ist (ist sie auch).

      Weiß jemand wie man das versenden hinbekommt?

      Ein möglicher Workaround wäre die Snapshots manuell zu triggern (Zeitgleich mit den automatischen) weil die manuellen in einem Ordner unter /vis.0/unifi-protect/manual/(Kameratoken)/(Timestamp).jpg abgelegt werden.
      Das Problem was ich hier allerdings habe, dass Telegram aus diesem Ordner nichts versenden mag. Hier bekomme ich die Meldung "file must be non-empty"
      Vermutlich keine Zugriffsrechte? Welche müsste man da geben?

      Viele Grüße

      posted in Blockly
      9
      900icarD
    • RE: Vis 2 - Basic Image Widget aktualisiert nicht

      @tommyb

      Hab gesehen, dass es dazu schon ein Issue auf Github gibt. Ist wohl seit der Version > 2.9.32 so. https://github.com/ioBroker/ioBroker.vis-2/issues/423
      Dann heißt es wohl abwarten bis es gefixt wird. Hab wieder die Version 2.9.32 installiert.

      Xsev1 created this issue in ioBroker/ioBroker.vis-2

      open Basic Image Updatezeit V2.9.50 [bug]: #423

      posted in Visualisierung
      9
      900icarD
    • Vis 2 - Basic Image Widget aktualisiert nicht

      Hallo Zusammen,

      da ich natürlich auch auf die Vis2 umsteigen möchte, teste ich gerade verschiedene Sachen bevor ich mein Projekt komplett in Vis2 neu aufbaue.
      Dabei bin ich u.a. auf das Problem gestoßen, dass sich meine Kamerabilder die ich in Vis1 per Basic Image Widget über eine URL eingebunden und aller 2.000 ms aktualisieren lasse, in der Vis 2 einfach den Inhalt nicht aktualisieren. Wenn ich einen Reload (über den Browser) der kompletten Seite mache, dann erscheinen auch die aktuellen Bilder, nur eben nicht über die einstellbare Updatezeit im Widget.

      Muss man bei der Vis2 das anders einstellen?

      Vis1
      Bildschirmfoto 2024-10-21 um 17.45.37.png

      Vis2
      Bildschirmfoto 2024-10-21 um 17.47.07.png

      P.S. Es geht auch nicht wenn ich die Zeit auf 10.000 ms oder so einstelle.

      posted in Visualisierung
      9
      900icarD
    • RE: Vis2 (und 1) CSS Backdrop Filter unknown property?

      @oliverio sagte in Vis2 (und 1) CSS Backdrop Filter unknown property?:

      .backdrop { backdrop-filter: blur(10px); }

      Hallo Oliver,
      perfekt jetzt funktionierts!
      Ich habs zwar noch nicht ganz gecheckt was ich falsch gemacht habe, aber das muss ich mir morgen oder die Tage mal genauer ansehen.

      Nochmals vielen Dank für Deine Hilfe.

      posted in Visualisierung
      9
      900icarD
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo