Navigation

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

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    • Profile
    • Following 2
    • Followers 6
    • Topics 257
    • Posts 4142
    • Best 509
    • Groups 2

    David G.

    @David G.

    643
    Reputation
    450
    Profile views
    4142
    Posts
    6
    Followers
    2
    Following
    Joined Last Online

    David G. Follow
    Pro Most Active

    Best posts made by David G.

    • Zusammenstellung meiner Tabellen

      Mittlerweile haben sich in meiner Lovelace-Visualisierung doch einige Tabellen angesammelt.
      Bisher habe ich diese immer vereinzelt im Thread der Visu gepostet.

      Jetzt habe ich mir gedacht, dass ich mal eine Zusammenstellung fertig mache.
      Wenn ich eine neue Tabelle erstelle oder aktualisiere, werde ich diese hier posten.

      In Lovelace habe ich alle Tabellen über die Markdown Karte eingebunden.
      Dazu einfach in der Karte den Datenpunkt mit dem HTML-Code in geschweiften Klammern eingeben.

      {0_userdata.0.xxx.xxx}
      

      In anderen Visualisierungen können die Tabellen auch genutzt werden.

      Die Tabellen (müssten alle) so aufgebaut sein, dass es reicht, ganz am Ende vom Blockly den Datenpunkt zu ändern, in den die Tabelle geschrieben werden soll.
      Einige Tabellen stammen aus meiner Anfangszeit mit Blockly. Geht also teilweise auch was eleganter. Aber was klappt, das klappt^^.

      Nun die Tabellen:

      Geräteübersicht Sonoff/Tasmota
      sonoff.txt

      Hier werden alle meine Tasmotasteckdosen samt Stromverbrauch aufgelistet. Ich selbst nutze nur Steckdosen mit Leistungsmessern. Wie sich andere Geräte in der Tabelle verhalten, kann ich nicht sagen.
      Über den kleinen Pfeil kann man sich die IP der Geräte anzeigen lassen
      sonoff.png

      Geräteübersicht Shelly
      tabelle_shelly.txt

      Eine Übersicht aller Shellys. Im Gegensatz zur Sonofftabelle werden keine Verbräuche angezeigt, da ich nur Shellys ohne die Verbrauchsmessung besitze.
      shelly.png

      Geräteübersicht HmIP (über CCU3 eingebunden)
      tabelle_hmip.txt

      Eine Übersicht aller HmIP-Geräte. Es wird angezeigt, ob die Geräte empfang haben, ob die Batterie schwach ist und die RSSI Werte für beide Richtungen. Die RSSI Werte ändern den Farbton je nach der Empfangsqualität von grün zu rot.
      hmip.png

      Geräteübersicht Zigbee (Zigbee Adapter)
      zigbee.txt

      Eine Übersicht aller Zigbee-Geräte. Es wird angezeigt, ob die Geräte empfang haben, wenn eine Batterie vorhanden ist der Ladeztustand und die Verbindungsqualität. Für den Ladezustand und die Verbindungsqualität ändert sich je nach Zustand die Farbe.
      zigbee.png

      Tabelle Backup (Backitup Adapter)
      backup.txt

      Eine Aufstellung der letzten Backups und deren Speicherort. Bei erfolgreichen Backups ist die Quelle grün, bei fehlerhaften Backups rot.
      backup.png

      Tabelle Adapterübersicht
      adapter.txt

      Eine Aufstellung aller Adapter. Es gibt 3 Ansichten. Bei diesen kann man jeweils noch Details ein oder ausblenden. Im Skript kann man im oberen Bereich sie Ansichten auswählen.
      1 = Detailansicht
      1654007666894-groß.png
      2 = Große Tabellenansicht ohne Details
      1654007672691-mittel-ohne-details.png
      2 = Große Tabellenansicht mit Details
      1654007677617-mittel-mit-details.png
      3 = Kompakte Tabellenansicht ohne Details
      1654007685580-klein-ohne-details.png
      3 = Kompakte Tabellenansicht mit Details (mein Favorit)
      1654007689917-klein-mit-details.png

      Tabelle Wireguard (Wireguard Adapter)
      wireguard.txt

      Eine Auflistung aller Peers aus dem Adapter. Es wird der Verbindungssatatus und die Menge der übertragenen Daten angezeigt. Optional kann man sich über den Pfeil noch die IP des Peers auflösen lassen (Aktivierung ganz oben im Skript).
      wireguard.png

      Tabelle Anrufprotokoll (TR64 Adapter)
      telefon.txt

      Eine Lister der letzten Anrufe. Wenn der Name des Anrufers im Telefonbuch ist wird dieser angezeigt, ansonsten die Telefonnummer.
      telefon.png

      Device Watcher
      tabelle_device_watcher.txt

      In den Bildern seht Ihr fast alle Möglichkeiten wie die Spalten dargestellt werden können.
      Ihr könnt aber für jede Spalte separat auswählen, welche Ansicht Ihr haben möchtet (habe jetzt nicht von allen Möglichkeiten einen Screenshot gemacht).

      Zusätzlich könnt Ihr noch einige Kleinigkeiten ein- und ausblenden.

      Dazu gehören:

      Die Pfeile für die Informationen, wann ein Gerät zuletzt online war
      Die Überschrift mit der Anzahl der Geräte
      Die Möglichkeit alle Gerate der Adapter aus- oder ausgeklappt darzustellen
      Helle und dunkle Icons
      Ob die Bilder der Adapter in der Überschrift anzuzeigen
      Die Farbe für gute und schlechte Werte zu definieren, in den Bildern grün und rot (damit es zu Visu passt)
      Wie gewohnt, könnt Ihr alle Settings im oberen Bereich über Variablen einstellen.

      1677655045388-1.png

      1677655045271-2.png

      1677655045133-3.png

      1677655044996-4.png

      Tabelle EPG
      tabelle_epg.txt

      Die Tabelle wird mit Daten von https://epg.best/ befüllt.
      Der Dienst kostet in der kleinsten Version (100 Sender) 0,99 ct im Monat. Wenn ihr euch registrieren wollt, würde ich mich freuen, wenn Ihr es über diesen Link macht, dann bekomme ich einen Monat gutgeschrieben https://epg.best/register?referrer=112224

      Was kann die Tabelle?
      Es kann euch das aktuell laufende Programm ausgegeben werden. Alternativ könnt Ihr ein Datum in den nächsten 7 Tagen mit Uhrzeit angeben und dieses Programm erhalten.

      Das Skript ist wie folgt aufgebaut:

      epg_schript.png

      1. Alle Trigger damit sich die Tabelle bei allen änderungen aktualisiert
      2. Hier wird die xml Datei von best.epg runtergeladen (nachts um kurz nach 12, beim ersten ausführen ggf kurz aus dem Trigger ziehen )und konvertiert. Ändert im zweiten exec Block bitte den Pfad zu euer xml. Die URL könnt ihr dem Portal von best.epg entnehmen. Weiter unten könnt ihr die Sender für die Tabelle sortieren, hier auf die Schreibweise achten.
      3. Hier werden alle Datenpunkte angelegt, könnt ihr eigentlich nach der ersten Ausführung löschen.
      4. Hier wird die Tabelle erstellt
      5. Hier wird ein Datenpunkt generiert, in dem Ihr die nächsten 7 Tage auswählen könnt

      Folgende Datenpunkte werden unter 0_userdata.0.VIS.Tabellen.EPG angelegt.

      • Tabelle_EPG -> Die EPG Tabelle für die Visualisierung
      • Nach_zeit -> generiert Tabelle für angegebene Zeit (PD Tag und Uhrzeit)
      • Aktuelles_Programm -> generiert Tabelle für die aktuelle Zeit
      • Tag -> Datenpunkt in dem die nächsten 7 Tage ausgewählt werden können
      • Uhrzeit -> Die Uhrzeit für den Tag in den nächsten 7 Tagen

      Wenn Ihr in eure Visualisierung den DP Uhrzeit einbindet, dann am besten so, dass ihr nur die Zeit eingeben könnt. Das Datum wird nicht übernommen. Dies kommt aus dem DP Tag.

      Screenshot_20230815_075049_Fully Kiosk Browser.jpg

      Proxmox Backup
      Eigene_Scripte.EDV.Tabelle_Proxmox_Backup.xml

      Die Tabelle zeigt einem alle Backups aus der proxmox..storage..backupJson (an eigenen DP anpassen) an.
      Eine Zusammenführung verschiedener Backupziele ist aktuell nicht vorgesehen.
      Neue Version hochgeladen, die automatisch jeden Storage nach Backups durchsucht.

      Im Blockly gibt es im oberen Bereich wieder einige Optionen für die Tabelle:

      1. Eine Möglichkeit die Symbole für ein erfolgreiches bzw. fehlgeschlagenes Backup ein- und auszublenden.
      2. Eine Option um die genannten Symbole anzupassen
      3. Die Farben der Symbole anzupassen
      4. Ein Trennzeichen zwischen erfolgreich und fehlgeschlagen einzublenden
      5. Das Trennzeichen anzupassen
      6. Die Tage der anzuzeigenden Backups zu limitieren

      Die Tabelle gibt immer die gesamten am Tag gesicherten Maschinen.
      Wenn am Tag ein Job mit 2 VMs lauft wird eine 2 angezeigt, wird der selbe Job nochmal ausgeführt wird eine 4 angezeigt.

      f2f1282a-fdf4-424b-ad8d-518164d450ce-image.png

      a26af34e-45dc-439b-9c0f-212dbc408f69-image.png

      be772d21-c508-4de7-9c94-324880100356-image.png

      Status Docker
      Tabelle_Docker.txt

      Diese Tabelle gibt euch eine Übersicht über eure Docker Container.
      Die Infos werden mittels Linux-Control ausgelesen.
      Fragt bitte mittels:

      docker ps -a --format '{"CONTAINER_ID":"{{.ID}}","IMAGE":"{{.Image}}","CREATED":"{{.CreatedAt}}","STATUS":"{{.Status}}","NAMES":"{{.Names}}"}' | tr -d '\n' | sed 's/}{/},{/g' | sed -e '1s/^/[/' -e '$s/$/]/'
      

      den Status der Container und mittels

      docker stats --no-stream --format "{{json .}}" | sed -e '1s/^/[/' -e '$s/$/]/' | sed '$!s/$/,/' | tr -d '\n'
      

      die Auslastung der Container ab.
      Die Befehle werden in Linux-Control unter "Meine Befehle" eingetragen.

      Die beiden von Linux-Control generierten Datenpunkte tragt bitte hier im Skript ein:
      ae1c6d9b-4904-4061-8ce1-0b11be319e19-image.png
      Unter DP-Tabelle tragt bitte den DP ein, in den die Tabelle geschrieben werden soll.

      Es gibt auch wieder diverse Möglichkeiten die Tabelle anzupassen.
      Wenn alles deaktiviert ist, bekommt man folgende Ansicht:

      ohne_alles.png

      Zusätzlich kann man sich über "Info_Laufzeit", "Info_letztes_Update" und "Erweiterte_Infos_Staus" noch erweiterte Informationen anzeigen lassen, die man mit einem kleinen Pfeil ausklappen kann.

      erweiterte_infos.png

      Über "Warnung_veraltet" kann man sich Container anzeigen lassen, die eine gewisse Zeit kein Update erfahren haben, die Dauer lässt sich den eigenen Bedürfnissen anpassen.

      30f6ea2e-a504-4c5b-aa6e-ca1b25cecfae-image.png

      Über "Punkt_veraltet" kann man sich auch dezent mit einem kleinen Punkt vor dem Container darauf hinweisen lassen:

      f3444353-8e98-421a-8944-c5eb244e41c5-image.png

      Wer mag, kann sich den Status auch einfärben lassen:

      05119bfc-cf98-453e-8972-9ec517fb00e0-image.png

      Über die Option "Meldung_DP_veraltet" kann man sich von der Tabelle drauf Hinweisen lassen, dass Linux-Control seit einer konfigurierbaren Zeit keine Updates mehr erhalten hat. Wenn also Linux-Control nicht läuft oder Docker abgestürzt ist.

      55c953f5-ad1c-4254-84a8-b1a620acf24e-image.png

      Alle Optionen und Farben lassen sich unabhängig voneinander ein- und ausschalten.

      AgentDVR

      Hat einen eigenen Thread bekommen
      https://forum.iobroker.net/topic/80405/agentdvr-aufnahmen-in-der-visualisierung-darstellen

      posted in Visualisierung
      David G.
      David G.
    • RE: WAF oder nicht WAF ;)

      Warum werde ich mit einem @ angesprochen?
      Hab noch garnichts geschrieben und mich extra rausgehalten.

      Jetzt bin ich mit verwickelt, dann schreibe ich auch was ^^.

      Ich bin für Emanzipation und gleichstellung der Frau.
      Jedoch gibt es beide Geschlechter und das ist auch gut so.
      Ich bin dankbar, dass mein Sohn mich Papa nennt und nicht "Elternteil 1 oder 2" wie es manche Parteien wünschen.
      Und auch als Papa und Vater und EheMANN beteilige ich mich am Haushalt, kümmere mich um die Kinder und finde es gut wenn Väter in die Elternzeit gehen. Trotzdem finde ich, dass eine Mutter eine besondere Rolle hat und bin dankbar für jede Familie wo es Vater und Mutter gibt. Ich hoffe jedoch auch, dass mein Sohn mich anspricht mit seinen ersten Fragen in der Pupertät und nicht neuen Frau.

      Ich finde es gut, dass Frauen in "Männerberufen" arbeiten. Ich selber bin gelernter Drucker und Junjorchef. Wir haben dieses Jahr eine Druckerin eingestellt.

      Jedoch finde ich, darf man Gentleman sein.
      Ich würde eher einer Dame die Autotür aufhalten wie einem Herren. Wenn ein Gebrechen vorliegt oder ähnliches natürlich beiden, das sollte klar sein.

      Ein Land und eine Kultur basiert auf Werten. Natürlich wandeln sich diese. Aber es ist nicht alles schlecht nur weil sich Dinge verändern.

      P. S.
      Frauen dürfen anstatt WAF gerne MAF schreiben, ist okay für mich ^^.

      EDIT:
      Das ist mein einiges Statement. Wenn jemand was zu sagen möchte kann man gerne per PN drüber reden. Finde nicht, dass das hier diskutiert werden muss.

      posted in Off Topic
      David G.
      David G.
    • ioBroker Community-Treffen - Vielen Dank

      Ich möchte an dieser Stelle dem ganzen Team für den tollen Tag heute danken.

      Ich fand es rund um gelungen.
      Alle Vorträge waren sehr interessant, die Organisation war top und es war toll das Core Team einmal "kennenzulernen".

      Auch das Essen war sehr lecker 😋 (Auch wenn ich leider keine Currywurst mehr bekommen habe ^^).

      Es hätte ruhig noch 2-3 Stunden länger gehen können 🤣.

      Also nochmal vielen Dank an dieser Stelle.
      Toll gemacht 👍

      Ich hoffe alle in der Planung involvierten Personen sind ebenfalls stolz, was sie da auf die Beine gestellt haben.

      posted in ioBroker Allgemein
      David G.
      David G.
    • RE: Zahltag

      Ich habe mir jetzt 2-3 Tage überlegt ob ich was schreibe.

      Zum Thema allgemein, möchte ich auch keine Stellung beziehen.
      Ich verstehe alle Seiten gleichermaßen und tu mich selber schwer eine Meinung zu finden.

      Der Grund warum ich schreibe ist ein anderer, auch wenn es schon leicht Richtung Offtopic geht.

      @jey-cee hat erwähnt, dass ihm nur die UUID einfällt, um einen Nutzer für die Lizenz zu identifizieren.
      Evtl. kann der iobroker ja die Mail (oder irgendwas daraus generiertes) vom iobroker.pro Account zum identifizieren des Systems in einen DP schreiben. So klappt es auf allen Systemen, wo der Account angemeldet ist oder einmal war. Falls das Dokumentiert ist, muss man dazu nicht Mals online sein um den Adapter freizuschalten.

      Ein ganz anderer Gedanke.
      Ich gestehe, habe selber noch nie an einen Entwickler direkt gespendet.
      Ich hole mir jedes Jahr die Ferzugriffs- und Assistenzlizenz um das Projekt etwas zu unterstützen, genutzt habe ich es noch nie.
      Mir fehlt aber auch etwas die Übersicht, welcher Adapter von der Community gepflegt ist, welcher Adapter von einem eigenen Dev kommt und was vom Coreteam kommt.
      Wenn man in der Shell über apt updatet, kommt ja immer schon das "looking for funding".
      Kann man nicht im Admin einen Spendentab einbauen? Dort könnte man jeden Adapter anzeigen, wo der Dev um eine kleine Spende bittet, evtl direkt mit einem PayPal link (Evtl. kann man da eine Option für Devs anbieten, in den Adaptern zu sagen, dass man dort auftauchen möchte).
      Ich finde das Thema Spende darf ruhig präsenter werden. Auch wenn etwas gratis angeboten wird, darf man drauf hinweisen, dass man sich über Unterstützung freuen würde.

      posted in ioBroker Allgemein
      David G.
      David G.
    • RE: ...ein ioBroker Rückblick auf 2023

      Auch von mir an fettes Dank an alle Beteiligten.
      Ich liebe den Iobroker und seine Community.

      Mein Smarthome, so klein es auch ist, ist dank euch mein liebstes Hobby und der schönste Zeitvertreib.

      Aber ihr Devs und die Community seid das Herz hinter allem.
      Ich hatte wegen 2-3 Dingen mal überlegt zur "Konkurrenz" zu wechseln bzw mal auszuprobieren.
      Da ist es aber nie zu gekommen. In einer nicht deutschsprachigen Community kommt für mich (auch sprachlich bedingt), einfach keine persönliche Note in die Angelegenheit. Diese muss aber sein, so viel wie man mit allen" zu tun hat".

      posted in ioBroker Allgemein
      David G.
      David G.
    • RE: Test Adapter lovelace v1.2.x

      Habe ja neulich eine Tabelle zur Adapterübersicht gepostet.

      Ist jetzt nochmal stark überarbeitet.

      Neuerungen:

      • Jetzt bekommen ALLE Adapter automatisch Bilder
      • Alphabetische sortierung der Adapter
      • Übersichts- oder Detailtabelle (im oberen Bericht des Skripts einstellbar)
      • Optionale Anzeige der Instanz- und Adapteranzahl und Updates (im oberen Bericht des Skripts einstellbar)

      Bei einigen Sachen habe ich Unterstützung im Forum gefunden, vielen Dank an alle.

      Blockly:

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable id="9pYG#yK]?PqMKX!?6)~Y">Infos_Adapteranzahl</variable>
         <variable id="]2L1gR1@-95:zaBLPmW5">path</variable>
         <variable id="!Uup8-K^66M}0:H{sN7x">id</variable>
         <variable id="-N3?0S]/WI0Ne=*O@5x|">dp_memHeapUsed</variable>
         <variable id="V18}*Iqc7(L:vJRV.b-5">dp_cpu</variable>
         <variable id="qMWT(3z*qlEl6SeWknip">liste_instanzen</variable>
         <variable id="|84Ec07om*g33RwJ/`l]">Tabelle_mit_Details</variable>
         <variable id="T;4ToXjiEg-7T=9ZEQvB">Liste_adapter</variable>
         <variable id="=o;jPH(ci8Q`VwD#SXx2">tabelle</variable>
         <variable id=",uQ[TnUTK#qN${7ViwL[">durchgang</variable>
         <variable id="5d,(4K,ZlU#NE8s!5(X^">Instanzanzahl</variable>
         <variable id="k5,DNH:WxW_@~89~(J#c">Adapteranzahl</variable>
         <variable id="EP;3C8NM6Z/Hi-?L2#2v">i</variable>
         <variable id="+UFs6;9C-2SnfFZ$t.$?">adapter</variable>
         <variable id="vvnYy*2LY:G^:A4/^0i(">adapter_mit_instanz</variable>
         <variable id="v5ZsSe|`N[cy1djQ[V|h">updates</variable>
         <variable id=":$3Q}2`~)+7cE{@bh3{l">adapter_bild</variable>
         <variable id=".3pp)`Wk+Q-pH~vW!4VS">bild_url</variable>
         <variable id="3uO4DZtfq9#9S=#NOXTP">alive</variable>
         <variable id="/gom2ZY(1/e51S#JO|Hh">cpu</variable>
         <variable id="9j@nYu()q(i2SXPci{2g">mem</variable>
       </variables>
       <block type="variables_set" id="]NgrO+*[#{#~{Qyhme=n" x="488" y="213">
         <field name="VAR" id="9pYG#yK]?PqMKX!?6)~Y">Infos_Adapteranzahl</field>
         <value name="VALUE">
           <block type="logic_boolean" id="O{f3Qtwf*bDA7xcS!0)d">
             <field name="BOOL">TRUE</field>
           </block>
         </value>
         <next>
           <block type="variables_set" id="CF#Tdyn;XH/]7lJuDDp!">
             <field name="VAR" id="|84Ec07om*g33RwJ/`l]">Tabelle_mit_Details</field>
             <value name="VALUE">
               <block type="logic_boolean" id="!ejAJ!rCWp_{!%W}6m{V">
                 <field name="BOOL">TRUE</field>
               </block>
             </value>
           </block>
         </next>
       </block>
       <block type="procedures_defcustomreturn" id="%snCTg}hwe=QB;y},G!," x="488" y="313">
         <mutation statements="false">
           <arg name="path" varid="]2L1gR1@-95:zaBLPmW5"></arg>
         </mutation>
         <field name="NAME">json_lesen</field>
         <field name="SCRIPT">Y29uc3QgZnMgPSByZXF1aXJlKCdmcycpOwpyZXR1cm4gZnMucmVhZEZpbGVTeW5jKHBhdGgsICd1dGY4Jyk=</field>
         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
       </block>
       <block type="procedures_defcustomreturn" id="JnVZxT|PFDb|j9i$H8CG" x="488" y="363">
         <mutation statements="false">
           <arg name="id" varid="!Uup8-K^66M}0:H{sN7x"></arg>
         </mutation>
         <field name="NAME">alive_vorhanden</field>
         <field name="SCRIPT">aWYoZXhpc3RzU3RhdGUoaWQpKSByZXR1cm4gZ2V0U3RhdGUoaWQpLnZhbDs=</field>
         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
       </block>
       <block type="procedures_defcustomreturn" id="]H5.J+54b(#Z)Rl3TvWD" x="488" y="413">
         <mutation statements="false">
           <arg name="dp_memHeapUsed" varid="-N3?0S]/WI0Ne=*O@5x|"></arg>
         </mutation>
         <field name="NAME">mem_vorhanden</field>
         <field name="SCRIPT">aWYoZXhpc3RzU3RhdGUoZHBfbWVtSGVhcFVzZWQpKSByZXR1cm4gZ2V0U3RhdGUoZHBfbWVtSGVhcFVzZWQpLnZhbDs=</field>
         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
       </block>
       <block type="procedures_defcustomreturn" id="r,x=q+6,XktcbdV?oi~H" x="488" y="463">
         <mutation statements="false">
           <arg name="dp_cpu" varid="V18}*Iqc7(L:vJRV.b-5"></arg>
         </mutation>
         <field name="NAME">cpu_vorhanden</field>
         <field name="SCRIPT">aWYoZXhpc3RzU3RhdGUoZHBfY3B1KSkgcmV0dXJuIGdldFN0YXRlKGRwX2NwdSkudmFsOw==</field>
         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
       </block>
       <block type="variables_set" id="QGo/tuHM7aHq$o!|J{*l" x="488" y="513">
         <field name="VAR" id="qMWT(3z*qlEl6SeWknip">liste_instanzen</field>
         <value name="VALUE">
           <block type="text" id="1k[oQ~@vngXgE~KTWAjO">
             <field name="TEXT"></field>
           </block>
         </value>
         <next>
           <block type="variables_set" id="?OA)*SIW=N$]4Zc?x+oj">
             <field name="VAR" id="T;4ToXjiEg-7T=9ZEQvB">Liste_adapter</field>
             <value name="VALUE">
               <block type="text" id="0K]-iIybH$ZjMFnn#]Kf">
                 <field name="TEXT"></field>
               </block>
             </value>
             <next>
               <block type="variables_set" id="`i`ME.!W?D6fI/y4G^,u">
                 <field name="VAR" id="qMWT(3z*qlEl6SeWknip">liste_instanzen</field>
                 <value name="VALUE">
                   <block type="selector" id="qINF[fqu.d!L5a,j$28_">
                     <field name="TEXT">system.adapter.*.alive</field>
                   </block>
                 </value>
                 <next>
                   <block type="variables_set" id="8oQKWbQ5(^:V~2iiZ7`=">
                     <field name="VAR" id="T;4ToXjiEg-7T=9ZEQvB">Liste_adapter</field>
                     <value name="VALUE">
                       <block type="selector" id="J~0;L2x(4WDHBAVdTXSs">
                         <field name="TEXT">system.adapter.*.0.alive</field>
                       </block>
                     </value>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </next>
       </block>
       <block type="comment" id="HBjdupLz8~9%bcEazz#z" x="-213" y="587">
         <field name="COMMENT"></field>
       </block>
       <block type="on_ext" id="o5=5CS@u|B`0vZtT|6#A" x="488" y="663">
         <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="STZ]1il(B%25Nq$d=,5h">
             <field name="oid">default</field>
           </shadow>
           <block type="variables_get" id="cq.!hDYT^cQk]3_TcS7z">
             <field name="VAR" id="qMWT(3z*qlEl6SeWknip">liste_instanzen</field>
           </block>
         </value>
         <statement name="STATEMENT">
           <block type="procedures_callnoreturn" id="xW9,xKs8?O|7?.xB^Fna">
             <mutation name="tabelle_generieren"></mutation>
           </block>
         </statement>
       </block>
       <block type="on_ext" id="`~1fl8}*1Bx7]ShCT69d" x="488" y="813">
         <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="3|tdYK(L9dGQ[^-b)2Oi">
             <field name="oid">default</field>
           </shadow>
           <block type="field_oid" id="S%/Y(q]gVaApat`8L`XD">
             <field name="oid">admin.0.info.updatesNumber</field>
           </block>
         </value>
         <statement name="STATEMENT">
           <block type="procedures_callnoreturn" id="p(x`}0,SYQSw/?CUZ~*Y">
             <mutation name="tabelle_generieren"></mutation>
           </block>
         </statement>
       </block>
       <block type="schedule" id="Vx%S31O%VEtg,/zw/`tA" x="488" y="963">
         <field name="SCHEDULE">*/5 * * * *</field>
         <statement name="STATEMENT">
           <block type="procedures_callnoreturn" id="Fc?0f.!U](3ZDMX59q=O">
             <mutation name="tabelle_generieren"></mutation>
             <next>
               <block type="control" id="%S@^q_%vk4zIaKG:Q*2*">
                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                 <field name="OID">javascript.0.scriptEnabled.Eigene_Scripte.VIS.Tabelle_Adapter</field>
                 <field name="WITH_DELAY">FALSE</field>
                 <value name="VALUE">
                   <block type="logic_boolean" id="V=^^D2Au/1F1I|.1DT+b">
                     <field name="BOOL">FALSE</field>
                   </block>
                 </value>
                 <next>
                   <block type="control" id="[ma(92iS/lRlS3?RVmHE">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                     <field name="OID">javascript.0.scriptEnabled.Eigene_Scripte.VIS.Tabelle_Adapter</field>
                     <field name="WITH_DELAY">FALSE</field>
                     <value name="VALUE">
                       <block type="logic_boolean" id="13:bE@.,|xTv.vYB;o^B">
                         <field name="BOOL">TRUE</field>
                       </block>
                     </value>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </statement>
       </block>
       <block type="procedures_defnoreturn" id="m^s(x3-9|A7{e{`!sBve" x="488" y="1163">
         <field name="NAME">tabelle_generieren</field>
         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
         <statement name="STACK">
           <block type="variables_set" id="@2bj_2[=B|{9E~AMJ|Kd">
             <field name="VAR" id="=o;jPH(ci8Q`VwD#SXx2">tabelle</field>
             <value name="VALUE">
               <block type="text" id="Vzr0N:eCiY1YCrG#d7?a">
                 <field name="TEXT"></field>
               </block>
             </value>
             <next>
               <block type="variables_set" id="$pUijj;JAzB,6nB$|sl8">
                 <field name="VAR" id=",uQ[TnUTK#qN${7ViwL[">durchgang</field>
                 <value name="VALUE">
                   <block type="math_number" id="F?X_Sq:A!2pw=fyG19fo">
                     <field name="NUM">0</field>
                   </block>
                 </value>
                 <next>
                   <block type="variables_set" id="]]QZb_)c(,Em=JoIz3Og">
                     <field name="VAR" id="qMWT(3z*qlEl6SeWknip">liste_instanzen</field>
                     <value name="VALUE">
                       <block type="lists_sort" id="4Z-n$%)QNi],dp-G6b|9">
                         <field name="TYPE">TEXT</field>
                         <field name="DIRECTION">1</field>
                         <value name="LIST">
                           <block type="variables_get" id="O{De.tPe3{~yIU6u32^*">
                             <field name="VAR" id="qMWT(3z*qlEl6SeWknip">liste_instanzen</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <next>
                       <block type="variables_set" id="oRHsW|ouJFK7~P9w3YYc">
                         <field name="VAR" id="5d,(4K,ZlU#NE8s!5(X^">Instanzanzahl</field>
                         <value name="VALUE">
                           <block type="lists_length" id="Yft^+0wK^Metalc[@wa@">
                             <value name="VALUE">
                               <block type="variables_get" id="-5Tc.dy%/0~y%Zx[S.YB">
                                 <field name="VAR" id="qMWT(3z*qlEl6SeWknip">liste_instanzen</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <next>
                           <block type="variables_set" id="Kq.L*}nxqbm:ojZThlH+">
                             <field name="VAR" id="k5,DNH:WxW_@~89~(J#c">Adapteranzahl</field>
                             <value name="VALUE">
                               <block type="lists_length" id="2l9imw=)UkIE=K~?]|r_">
                                 <value name="VALUE">
                                   <block type="variables_get" id="Tbj.Jj$?acWhL/x|=IV]">
                                     <field name="VAR" id="T;4ToXjiEg-7T=9ZEQvB">Liste_adapter</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <next>
                               <block type="controls_forEach" id="gECBKCr~FK=]B+4QO2m%">
                                 <field name="VAR" id="EP;3C8NM6Z/Hi-?L2#2v">i</field>
                                 <value name="LIST">
                                   <block type="variables_get" id="S*}x{G|n%JU7@-()f;Mw">
                                     <field name="VAR" id="qMWT(3z*qlEl6SeWknip">liste_instanzen</field>
                                   </block>
                                 </value>
                                 <statement name="DO">
                                   <block type="math_change" id="i(VJv3$9AH/d)_$GV=A$">
                                     <field name="VAR" id=",uQ[TnUTK#qN${7ViwL[">durchgang</field>
                                     <value name="DELTA">
                                       <shadow type="math_number" id="JEVhq=8BD3t[j%A7~_MA">
                                         <field name="NUM">1</field>
                                       </shadow>
                                     </value>
                                     <next>
                                       <block type="variables_set" id="H97Ac7mTcBV;nutC;]n;">
                                         <field name="VAR" id="+UFs6;9C-2SnfFZ$t.$?">adapter</field>
                                         <value name="VALUE">
                                           <block type="text_getSubstring" id="!r|K]3:dyK@^*;!6N`WI">
                                             <mutation at1="true" at2="true"></mutation>
                                             <field name="WHERE1">FROM_START</field>
                                             <field name="WHERE2">FROM_END</field>
                                             <value name="STRING">
                                               <block type="variables_get" id="`Ty9f|av,5dP_R_pr+Lc">
                                                 <field name="VAR" id="EP;3C8NM6Z/Hi-?L2#2v">i</field>
                                               </block>
                                             </value>
                                             <value name="AT1">
                                               <block type="math_number" id="PAo:{]2{z3hJx6W)DkPz">
                                                 <field name="NUM">16</field>
                                               </block>
                                             </value>
                                             <value name="AT2">
                                               <block type="math_number" id="*27KZZlMyvZ`u}nrf-Pi">
                                                 <field name="NUM">9</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="variables_set" id="9Q7.RmMK=^S^=9-U2Sdf">
                                             <field name="VAR" id="vvnYy*2LY:G^:A4/^0i(">adapter_mit_instanz</field>
                                             <value name="VALUE">
                                               <block type="text_getSubstring" id="OF8U=dqlV-Jw]{iQ$97W">
                                                 <mutation at1="true" at2="true"></mutation>
                                                 <field name="WHERE1">FROM_START</field>
                                                 <field name="WHERE2">FROM_END</field>
                                                 <value name="STRING">
                                                   <block type="variables_get" id="N3`Z(*lZ*qnpv49dFwJL">
                                                     <field name="VAR" id="EP;3C8NM6Z/Hi-?L2#2v">i</field>
                                                   </block>
                                                 </value>
                                                 <value name="AT1">
                                                   <block type="math_number" id="$/YwJl$3fqwT(H:cXre7">
                                                     <field name="NUM">16</field>
                                                   </block>
                                                 </value>
                                                 <value name="AT2">
                                                   <block type="math_number" id="+{y=]N2F|GIAR@a3R#,t">
                                                     <field name="NUM">7</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="variables_set" id="M??],k5B.?auUn/:aT.k">
                                                 <field name="VAR" id=":$3Q}2`~)+7cE{@bh3{l">adapter_bild</field>
                                                 <value name="VALUE">
                                                   <block type="get_attr" id="t,jwV@G(2j9ry)Dy~K{3">
                                                     <value name="PATH">
                                                       <shadow type="text" id="nOV=@/0yiWr^!Rat3$(P">
                                                         <field name="TEXT">common.icon</field>
                                                       </shadow>
                                                     </value>
                                                     <value name="OBJECT">
                                                       <block type="procedures_callcustomreturn" id=",k|~:}itQRo0nrb}Mp-V">
                                                         <mutation name="json_lesen">
                                                           <arg name="path"></arg>
                                                         </mutation>
                                                         <value name="ARG0">
                                                           <block type="text_join" id="nyvd_?.,%%c6?^=]^O.~">
                                                             <mutation items="3"></mutation>
                                                             <value name="ADD0">
                                                               <block type="text" id="{GqI|?gu*Q;|/4%x|_H~">
                                                                 <field name="TEXT">/opt/iobroker/node_modules/iobroker.</field>
                                                               </block>
                                                             </value>
                                                             <value name="ADD1">
                                                               <block type="variables_get" id="$P.AgN;@-L#e3-1|0CsZ">
                                                                 <field name="VAR" id="+UFs6;9C-2SnfFZ$t.$?">adapter</field>
                                                               </block>
                                                             </value>
                                                             <value name="ADD2">
                                                               <block type="text" id="tF)na~@*;W^+@%[PD6|]">
                                                                 <field name="TEXT">/io-package.json</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="variables_set" id="c=FHF`]#z6mg7rv$5tuL">
                                                     <field name="VAR" id=".3pp)`Wk+Q-pH~vW!4VS">bild_url</field>
                                                     <value name="VALUE">
                                                       <block type="text_join" id="gWnwLjgAv%9atEysRn7p">
                                                         <mutation items="5"></mutation>
                                                         <value name="ADD0">
                                                           <block type="text" id="gQp|F#JB:([hA{R`z}I/">
                                                             <field name="TEXT">&lt;img src="/adapter/</field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD1">
                                                           <block type="variables_get" id="F1+|In[Zk5^,X.4=b/-W">
                                                             <field name="VAR" id="+UFs6;9C-2SnfFZ$t.$?">adapter</field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD2">
                                                           <block type="text" id="2!V+%^uc@M/:{2H_wro(">
                                                             <field name="TEXT">/</field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD3">
                                                           <block type="variables_get" id=".i?s.~Q]pnB9kA`KZ^ey">
                                                             <field name="VAR" id=":$3Q}2`~)+7cE{@bh3{l">adapter_bild</field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD4">
                                                           <block type="text" id="usU=LhY[V*Yj]M3u3Kp%">
                                                             <field name="TEXT">" width="35" align="middle"&gt;</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="controls_if" id="jPbVh[Wm^Lw0GTYXMK3Y">
                                                         <mutation else="1"></mutation>
                                                         <value name="IF0">
                                                           <block type="procedures_callcustomreturn" id="1T36)CXg41w6#53qWkOS" inline="true">
                                                             <mutation name="alive_vorhanden">
                                                               <arg name="id"></arg>
                                                             </mutation>
                                                             <value name="ARG0">
                                                               <block type="variables_get" id="y`::U-UbCNTsNqK1fn4;">
                                                                 <field name="VAR" id="EP;3C8NM6Z/Hi-?L2#2v">i</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <statement name="DO0">
                                                           <block type="variables_set" id="wRVfdd.f[f;:=my;X+7`">
                                                             <field name="VAR" id="3uO4DZtfq9#9S=#NOXTP">alive</field>
                                                             <value name="VALUE">
                                                               <block type="text" id=")vf+HEMp9zW#,r4+n/W6">
                                                                 <field name="TEXT">&lt;img src="/cards/spacer_green.png" width="300" height="3"/&gt;</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </statement>
                                                         <statement name="ELSE">
                                                           <block type="variables_set" id="p4cU}TxiNAoy:rF2:1m1">
                                                             <field name="VAR" id="3uO4DZtfq9#9S=#NOXTP">alive</field>
                                                             <value name="VALUE">
                                                               <block type="text" id=";O:G{(!;zDjH`tKeP-j4">
                                                                 <field name="TEXT">&lt;img src="/cards/spacer_red.png" width="300" height="3"/&gt;</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </statement>
                                                         <next>
                                                           <block type="controls_if" id="{p;4m?[.C-0@xeb(VJ;b">
                                                             <mutation else="1"></mutation>
                                                             <value name="IF0">
                                                               <block type="procedures_callcustomreturn" id="%eT(`:(BR$6[2?~JRgov" inline="true">
                                                                 <mutation name="cpu_vorhanden">
                                                                   <arg name="dp_cpu"></arg>
                                                                 </mutation>
                                                                 <value name="ARG0">
                                                                   <block type="variables_get" id="*/R,h3/)B(iCEt$%VP`)">
                                                                     <field name="VAR" id="EP;3C8NM6Z/Hi-?L2#2v">i</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <statement name="DO0">
                                                               <block type="variables_set" id="f^ds)#o7{`CH,5dmbse@">
                                                                 <field name="VAR" id="/gom2ZY(1/e51S#JO|Hh">cpu</field>
                                                                 <value name="VALUE">
                                                                   <block type="text_join" id="Q1sL#wBjC(DTfP[}PZG5">
                                                                     <mutation items="2"></mutation>
                                                                     <value name="ADD0">
                                                                       <block type="get_value_var" id="?|Q3WLmov28369UjP^*z">
                                                                         <field name="ATTR">val</field>
                                                                         <value name="OID">
                                                                           <shadow type="text" id="Jo$1-mLKPR#)v)*:b*DX">
                                                                             <field name="TEXT"></field>
                                                                           </shadow>
                                                                           <block type="text_join" id="J4F2]Q3Jy5A@t37)RQJ9">
                                                                             <mutation items="3"></mutation>
                                                                             <value name="ADD0">
                                                                               <block type="text" id="kSWx4D/CqYS6yU9?F4wk">
                                                                                 <field name="TEXT">system.adapter.</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD1">
                                                                               <block type="variables_get" id="5petrwy_d*F5~5UbW4Fh">
                                                                                 <field name="VAR" id="vvnYy*2LY:G^:A4/^0i(">adapter_mit_instanz</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD2">
                                                                               <block type="text" id=",%ENiciPL@^Ul+t(}(@.">
                                                                                 <field name="TEXT">.cpu</field>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </value>
                                                                     <value name="ADD1">
                                                                       <block type="text" id="N!e(!Eo#B6XfU2nyANWY">
                                                                         <field name="TEXT"> %</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </statement>
                                                             <statement name="ELSE">
                                                               <block type="variables_set" id="_Krx:{q]ec|^d!ejK=P$">
                                                                 <field name="VAR" id="/gom2ZY(1/e51S#JO|Hh">cpu</field>
                                                                 <value name="VALUE">
                                                                   <block type="text" id="Fs?xUhS=?$aU-N:e2!u6">
                                                                     <field name="TEXT">N/A</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </statement>
                                                             <next>
                                                               <block type="controls_if" id="S=?7JEy(3D+_*:N0@SIV">
                                                                 <mutation else="1"></mutation>
                                                                 <value name="IF0">
                                                                   <block type="procedures_callcustomreturn" id="+cJ7_OISwW.d)|!|xOxD" inline="true">
                                                                     <mutation name="mem_vorhanden">
                                                                       <arg name="dp_memHeapUsed"></arg>
                                                                     </mutation>
                                                                     <value name="ARG0">
                                                                       <block type="variables_get" id="H,1kz!_7F5U~psa3=:_O">
                                                                         <field name="VAR" id="EP;3C8NM6Z/Hi-?L2#2v">i</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <statement name="DO0">
                                                                   <block type="variables_set" id=":Hc7O`g,:5*bjj7;XyL|">
                                                                     <field name="VAR" id="9j@nYu()q(i2SXPci{2g">mem</field>
                                                                     <value name="VALUE">
                                                                       <block type="text_join" id="+e:MjTH?Ah+gxHeZJiGr">
                                                                         <mutation items="2"></mutation>
                                                                         <value name="ADD0">
                                                                           <block type="get_value_var" id="@r(ZR%B^l~xAU1sNHXu5">
                                                                             <field name="ATTR">val</field>
                                                                             <value name="OID">
                                                                               <shadow type="text">
                                                                                 <field name="TEXT"></field>
                                                                               </shadow>
                                                                               <block type="text_join" id="T8Q~10nNJ-g{j{IUqg]%">
                                                                                 <mutation items="3"></mutation>
                                                                                 <value name="ADD0">
                                                                                   <block type="text" id="Z$.3dr?61=)r,Pe3!raK">
                                                                                     <field name="TEXT">system.adapter.</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD1">
                                                                                   <block type="variables_get" id="(Q9D+{g:o0-!cC;b!Wa=">
                                                                                     <field name="VAR" id="vvnYy*2LY:G^:A4/^0i(">adapter_mit_instanz</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD2">
                                                                                   <block type="text" id="tN8XT6troR}MVdK(MJ,=">
                                                                                     <field name="TEXT">.memHeapUsed</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                         <value name="ADD1">
                                                                           <block type="text" id="Iu}gqq|X2Zp[[10Yn9a;">
                                                                             <field name="TEXT"> MB</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </statement>
                                                                 <statement name="ELSE">
                                                                   <block type="variables_set" id="+YM!sUOSrDubQluiS%GF">
                                                                     <field name="VAR" id="9j@nYu()q(i2SXPci{2g">mem</field>
                                                                     <value name="VALUE">
                                                                       <block type="text" id="RMzf]AZKEHvkF^`2P,:/">
                                                                         <field name="TEXT">N/A</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </statement>
                                                                 <next>
                                                                   <block type="controls_if" id="4RULouYB0,1;8H*al1yU">
                                                                     <mutation else="1"></mutation>
                                                                     <value name="IF0">
                                                                       <block type="variables_get" id="PV`Iu!%fmiZe};hN{u#P">
                                                                         <field name="VAR" id="|84Ec07om*g33RwJ/`l]">Tabelle_mit_Details</field>
                                                                       </block>
                                                                     </value>
                                                                     <statement name="DO0">
                                                                       <block type="variables_set" id="Gzg;l=IePfZG5G(5}B5,">
                                                                         <field name="VAR" id="=o;jPH(ci8Q`VwD#SXx2">tabelle</field>
                                                                         <value name="VALUE">
                                                                           <block type="text_join" id="(-C%qe+ul4ZGX?Zb#E9j">
                                                                             <mutation items="9"></mutation>
                                                                             <value name="ADD0">
                                                                               <block type="variables_get" id="Xz$c-=gBs55gZ1$)_JNt">
                                                                                 <field name="VAR" id="=o;jPH(ci8Q`VwD#SXx2">tabelle</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD1">
                                                                               <block type="text" id="yh.g?e{*:DR4qG!o0@f$">
                                                                                 <field name="TEXT">&lt;td valign="bottom" width="33%"&gt;&lt;center&gt;</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD2">
                                                                               <block type="variables_get" id="Gt`(%4_t]+2CW_%]6[;1">
                                                                                 <field name="VAR" id=".3pp)`Wk+Q-pH~vW!4VS">bild_url</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD3">
                                                                               <block type="text" id="sWB%slqQ$BOI_qAYC_/}">
                                                                                 <field name="TEXT">&lt;br&gt;&lt;b&gt;</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD4">
                                                                               <block type="variables_get" id="D:ERe[5p.7ZWtEL@(;w,">
                                                                                 <field name="VAR" id="vvnYy*2LY:G^:A4/^0i(">adapter_mit_instanz</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD5">
                                                                               <block type="text" id="-TrL2gV6MlHGC*;[qQ]T">
                                                                                 <field name="TEXT">&lt;br&gt;</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD6">
                                                                               <block type="text_join" id="Sm*.wOn#Jvy]14iugcD7">
                                                                                 <mutation items="7"></mutation>
                                                                                 <value name="ADD0">
                                                                                   <block type="text" id="*cc?a:GDHRbD(O.aa7Un">
                                                                                     <field name="TEXT">&lt;table width=90%&gt;&lt;tr&gt;&lt;td width="40%"&gt;&lt;b&gt;&lt;font size="1px"&gt;&lt;I&gt;CPU:&lt;/td&gt;&lt;td align=right&gt;&lt;b&gt;&lt;font size="1px"&gt;&lt;I&gt;</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD1">
                                                                                   <block type="variables_get" id="eD/W`@FHFZ.~^pM2uEz7">
                                                                                     <field name="VAR" id="/gom2ZY(1/e51S#JO|Hh">cpu</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD2">
                                                                                   <block type="text" id="xN3Qj{%!,~Hc9[I29.kq">
                                                                                     <field name="TEXT">&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;font size="1px"&gt;&lt;I&gt;MEM:&lt;/td&gt;&lt;td align=right&gt;&lt;font size="1px"&gt;&lt;b&gt;&lt;I&gt;</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD3">
                                                                                   <block type="variables_get" id="H7cj$T9:G0oLMQ1Grllq">
                                                                                     <field name="VAR" id="9j@nYu()q(i2SXPci{2g">mem</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD4">
                                                                                   <block type="text" id="[NML3L-clU.4}V#mPcvn">
                                                                                     <field name="TEXT"> &lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;font size="1px"&gt;&lt;I&gt;Status:&lt;/td&gt;&lt;td align=right&gt;&lt;b&gt;&lt;font size="1px"&gt;&lt;I&gt;</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD5">
                                                                                   <block type="variables_get" id="p$biX|4~N{K3Mj*aYYTL">
                                                                                     <field name="VAR" id="3uO4DZtfq9#9S=#NOXTP">alive</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ADD6">
                                                                                   <block type="text" id=")(^ILat@KhzO*r3tEf)1">
                                                                                     <field name="TEXT">&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD7">
                                                                               <block type="text" id="-HjRA4mc[GRHdDJAj`pB">
                                                                                 <field name="TEXT">&lt;p&gt;&lt;/td&gt;</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD8">
                                                                               <block type="logic_ternary" id="e-e4abIM,VqAs^zKLh08">
                                                                                 <value name="IF">
                                                                                   <block type="math_number_property" id="B6`=H,ZC$cG*]{)|a_Dy">
                                                                                     <mutation divisor_input="true"></mutation>
                                                                                     <field name="PROPERTY">DIVISIBLE_BY</field>
                                                                                     <value name="NUMBER_TO_CHECK">
                                                                                       <shadow type="math_number">
                                                                                         <field name="NUM">0</field>
                                                                                       </shadow>
                                                                                       <block type="variables_get" id="VfUu3@AF3ycBE]}N,^b0">
                                                                                         <field name="VAR" id=",uQ[TnUTK#qN${7ViwL[">durchgang</field>
                                                                                       </block>
                                                                                     </value>
                                                                                     <value name="DIVISOR">
                                                                                       <block type="math_number" id="hrZ(*FGCC56YlOeGmk]9">
                                                                                         <field name="NUM">3</field>
                                                                                       </block>
                                                                                     </value>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="THEN">
                                                                                   <block type="text" id="|VGyHB5tJLgkgVv0_.$5">
                                                                                     <field name="TEXT">&lt;/tr&gt;&#10;&lt;tr&gt;</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ELSE">
                                                                                   <block type="text" id="R2bTv;GK;_]eKl,@9Fi-">
                                                                                     <field name="TEXT"></field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </statement>
                                                                     <statement name="ELSE">
                                                                       <block type="variables_set" id="@=^LTjhJ|Uj{i{pP3Z_6">
                                                                         <field name="VAR" id="=o;jPH(ci8Q`VwD#SXx2">tabelle</field>
                                                                         <value name="VALUE">
                                                                           <block type="text_join" id="LwkIHb9$ynp/+s.:d%6o">
                                                                             <mutation items="9"></mutation>
                                                                             <value name="ADD0">
                                                                               <block type="variables_get" id="fGwYi22*KT]@+i`z+MqC">
                                                                                 <field name="VAR" id="=o;jPH(ci8Q`VwD#SXx2">tabelle</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD1">
                                                                               <block type="text" id="kkkBx#5ONX01WvDfOv#c">
                                                                                 <field name="TEXT">&lt;td valign="bottom" width="33%"&gt;&lt;center&gt;</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD2">
                                                                               <block type="variables_get" id="wIw/F.T)UQC|I?/7Rv5h">
                                                                                 <field name="VAR" id=".3pp)`Wk+Q-pH~vW!4VS">bild_url</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD3">
                                                                               <block type="text" id="Lz1ngwcEI=;!h(;?[Pgo">
                                                                                 <field name="TEXT">&lt;br&gt;</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD4">
                                                                               <block type="variables_get" id=",hEK`P18:9UgP:Fv$w5A">
                                                                                 <field name="VAR" id="vvnYy*2LY:G^:A4/^0i(">adapter_mit_instanz</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD5">
                                                                               <block type="text" id="1}@K]L^|NlZ+%6Yy)w]q">
                                                                                 <field name="TEXT">&lt;br&gt;</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD6">
                                                                               <block type="variables_get" id="[6QgN=c{8{I6l~%C^5h9">
                                                                                 <field name="VAR" id="3uO4DZtfq9#9S=#NOXTP">alive</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD7">
                                                                               <block type="text" id=":CqAQ{]69UAF/)T_0R7P">
                                                                                 <field name="TEXT">&lt;p&gt;&lt;/td&gt;</field>
                                                                               </block>
                                                                             </value>
                                                                             <value name="ADD8">
                                                                               <block type="logic_ternary" id="e7tzdkrwxxV)V}+C(4qv">
                                                                                 <value name="IF">
                                                                                   <block type="math_number_property" id="b^.jT.5^!^2^q~#o!DR|">
                                                                                     <mutation divisor_input="true"></mutation>
                                                                                     <field name="PROPERTY">DIVISIBLE_BY</field>
                                                                                     <value name="NUMBER_TO_CHECK">
                                                                                       <shadow type="math_number">
                                                                                         <field name="NUM">0</field>
                                                                                       </shadow>
                                                                                       <block type="variables_get" id=",r+2:d0Jg*zQ9Jq+gg28">
                                                                                         <field name="VAR" id=",uQ[TnUTK#qN${7ViwL[">durchgang</field>
                                                                                       </block>
                                                                                     </value>
                                                                                     <value name="DIVISOR">
                                                                                       <block type="math_number" id="f@LQ6G.ISYNt}cc6JH{H">
                                                                                         <field name="NUM">3</field>
                                                                                       </block>
                                                                                     </value>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="THEN">
                                                                                   <block type="text" id="}ERMHkuGFK+0U@0s!GH}">
                                                                                     <field name="TEXT">&lt;/tr&gt;&#10;&lt;tr&gt;</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="ELSE">
                                                                                   <block type="text" id="0I!3q`xjlTYSNNrNLg5p">
                                                                                     <field name="TEXT"></field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </statement>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                                 <next>
                                   <block type="timeouts_wait" id="6M6oko52#}p`qc[M(P3Q">
                                     <field name="DELAY">1000</field>
                                     <field name="UNIT">ms</field>
                                     <next>
                                       <block type="controls_if" id="ky{_GQ;$W991,49_j/@b">
                                         <value name="IF0">
                                           <block type="variables_get" id="Qd]OV`Rnek-3^Qik@%Vf">
                                             <field name="VAR" id="9pYG#yK]?PqMKX!?6)~Y">Infos_Adapteranzahl</field>
                                           </block>
                                         </value>
                                         <statement name="DO0">
                                           <block type="variables_set" id="#!b[g{|`p#:oo?.AlK.]">
                                             <field name="VAR" id="v5ZsSe|`N[cy1djQ[V|h">updates</field>
                                             <value name="VALUE">
                                               <block type="text_join" id="8v*)?r-:r@]PfP{cWh+W">
                                                 <mutation items="8"></mutation>
                                                 <value name="ADD0">
                                                   <block type="text" id="}t?oJt]6W;;IvsD`ch,/">
                                                     <field name="TEXT">Installierte Adapter: </field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD1">
                                                   <block type="variables_get" id="5(ktsl|T;#KsYfSE7%A[">
                                                     <field name="VAR" id="k5,DNH:WxW_@~89~(J#c">Adapteranzahl</field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD2">
                                                   <block type="text" id="eT+iMLcmr+}8%oKG$X(:">
                                                     <field name="TEXT">&lt;br&gt;Verfügbare Adapterupdates: </field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD3">
                                                   <block type="get_value" id="3{57:fq.Ig(7w^}evbT~">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">admin.0.info.updatesNumber</field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD4">
                                                   <block type="text" id="gDlJNgma#XjIA#{M.F*.">
                                                     <field name="TEXT">&lt;br&gt;</field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD5">
                                                   <block type="text" id="|LMn_so*Nu,sAhJNz?Pd">
                                                     <field name="TEXT">Installierte Instanzen: </field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD6">
                                                   <block type="variables_get" id="Iu!P7^on@x26J+~;:Ni8">
                                                     <field name="VAR" id="5d,(4K,ZlU#NE8s!5(X^">Instanzanzahl</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </statement>
                                         <next>
                                           <block type="update" id="Gf?CuRIWj$@Zn7KndF1L">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                             <field name="OID">0_userdata.0.VIS.Tabellen.Status_Adapter_gruen</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="text_join" id="l]@o|@UFR]MKf~.4$q_0">
                                                 <mutation items="4"></mutation>
                                                 <value name="ADD0">
                                                   <block type="variables_get" id="}p7_Qa{G/I:LVP,ywzwQ">
                                                     <field name="VAR" id="v5ZsSe|`N[cy1djQ[V|h">updates</field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD1">
                                                   <block type="text" id="_y/nF*7#3LKK#Ivd}3Km">
                                                     <field name="TEXT">&lt;table width="100%"&gt; &lt;tr&gt;</field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD2">
                                                   <block type="variables_get" id="%H:8sInt33:%c)XH`Z;M">
                                                     <field name="VAR" id="=o;jPH(ci8Q`VwD#SXx2">tabelle</field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD3">
                                                   <block type="text" id="f-jcG$CydVybV^g0^^kI">
                                                     <field name="TEXT">&lt;/table&gt;</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </statement>
       </block>
      </xml>
      

      Dieser Bereich lässt sich oben im Skript über eine Variable true/false deaktivieren.
      anzahl.png

      Diese beiden Ansichten lassen sich oben im Skript über eine Variable true/false wechseln.
      detail.png

      einfach.png

      Zusätzlich müssen noch 2 Bilder für die farbigen Balken in den Custom Cards Ordner geladen werden (Achtung, beide nur 1x1 Pixel groß, genau hinschauen).
      spacer_green.png spacer_red.png

      Im Skript muss nur ganz unten der Datenpunkt aktualisiert werden, in den die Tabelle geschrieben werden soll

      EDIT:
      Hab grad ein paar Rechtschreibfehler im Code gesehen. Entschuldigt mich 😄 , ist komplett am Smartphone entstanden 😛 .....

      posted in Tester
      David G.
      David G.
    • Agentdvr-Aufnahmen in der Visualisierung darstellen

      Ich habe schon länger eine Möglichkeit gesucht die Aufnahmen von AgendDVR in meiner Visualisierung darstellen.

      Das Livebild meiner Cams hab ich schon länger eingebunden.

      Das Thema habe aber lange nicht angepackt, da es für AgendDVR keinen Adapter gibt der einem die benötigten Daten liefert.
      Jedoch habe ich jetzt gesehen, dass AgentDVR eine sehr gut dokumentierte Rest-API hat und habe in Blockly eine Tabelle erstellt.

      Die Tabelle ist respoive und passt sich dem Bildschirm an.

      Screenshot_20250321_181444_Chrom.jpg

      Screenshot_20250321_181514_Chrom.jpg

      Screenshot_20250321_181454_Chrom.jpg

      Auf Wunsch kann man sich über den Icons die Tags zu den Aufnahmen anzeigen lassen.

      Screenshot_20250322_100054_Fully Kiosk Browser.jpg

      Un sich eine Aufnahme anzuschauen, muss man einfach auf eines der Icons drücken.

      Hier gibt es 2 Varianten:

      1. Download des Videos
      2. Öffnen des Videos in einem neuen Tab mit Webplayer (allerdings klappen hier nicht die Videos aller Kameras)

      JPEG_20250321_181616_18924390763.jpg

      Wie funktioniert das Script?

      Folgende Variablen müssen im Blockly ausgefüllt werden:

      Screenshot_20250322_100335_Chrome.jpg

      • groesse_icons_klein_mittel_gross
        - Wie groß die Icons dargesgezwerden sollen, wenn einem keine Größe zusagt kann man es recht weit unten hier anpassen
        Screenshot_20250323_144102_Chrome.jpg

      • show_tags

        • Ob man die Tags der Aufnahmen über die Bilder gelegt bekommen möchte
      • tag_abstand_seitlich

        • Abstand der Tags seitlich
      • tag_abstand_hoehe

        • Abstand der Tags in der Höhe
      • tag_top_bottom

        • Tag oben oder unten ausgerichtet
      • tag_right_left

        • Tag links oder rechts ausgerichtet
      • download_tab

        • Ob das Video runtergeladen werden soll oder im
          Webplayer geöffnet
      • anzahl

        • Anzahl der anzuzeigenden Aufnahmen
      • ip_agentdvr

        • IP von AgendDVR
      • oid

        • Oid der Kamera aus AgendDVR
      • ip_iobroker

        • IP Iobroker

      Die HTML Tabelle wird unten im Script in einen DP geschrieben (nach belieben anpassen) , diesen könnt ihr dann in die Visualisierung eurer Wahl (ich hab es in Lovelace gemacht, da wird die custom:html-template-card benötigt) einbinden.

      Falls ihr die Option gewählt habt, dass das Video in einem neuen Tab im Webpalyer starten soll, sind noch 1-2 Schritte nötig.

      Ihr müsst eine Datei mit dem Namen player.htm über http in eurem Netzwerk freigeben. Ich nutze dazu den Proxy Adapter, jeder andere Weg geht aber auch.

      Ich habe die Datei unter opt/iobroker/html abgelegt und im Proxy Adapter folgende Freigabe angelegt:

      Screenshot_20250322_100646_Chrome.jpg

      Die htm Datei benötigt folgenden Inhalt:

      <!DOCTYPE html>
      <html lang="de">
      <head>
         <meta charset="UTF-8">
         <meta name="viewport" content="width=device-width, initial-scale=1.0">
         <title>Video Player</title>
         <script>
             function getUrlParams() {
                 const urlParams = new URLSearchParams(window.location.search);
                 return {
                     videoUrl: urlParams.get("videoUrl"),
                     date: urlParams.get("date"),
                     time: urlParams.get("time"),
                     tags: urlParams.get("tags"),
                     duration: urlParams.get("duration"),
                     size: urlParams.get("size")
                 };
             }
      
             function setVideoSource() {
                 const params = getUrlParams();
                 const videoElement = document.getElementById("videoPlayer");
                 const sourceElement = document.getElementById("videoSource");
                 const infoText = document.getElementById("infoText");
      
                 if (params.videoUrl) {
                     const decodedUrl = decodeURIComponent(params.videoUrl);
                     sourceElement.src = decodedUrl;
                     videoElement.load();  
      
                     // Automatisch starten
                     videoElement.play().catch(error => {
                         console.warn("Autoplay wurde blockiert:", error);
                     });
      
                     infoText.innerHTML = `
                         <strong>Datum:</strong> ${params.date || "Nicht angegeben"}<br>
                         <strong>Uhrzeit:</strong> ${params.time || "Nicht angegeben"}<br>
                         <strong>Tags:</strong> ${params.tags || "Keine Tags"}<br>
                         <strong>Dauer:</strong> ${params.duration ? params.duration + " Sekunden" : "Nicht angegeben"}<br>
                         <strong>Dateigröße:</strong> ${params.size ? params.size + " MB" : "Nicht angegeben"}<br>
                         <strong>Video URL:</strong> <a href="${decodedUrl}" target="_blank">${decodedUrl}</a>
                     `;
                 } else {
                     infoText.textContent = "Keine gültige Video-URL gefunden!";
                     console.error("Keine gültige Video-URL gefunden!");
                 }
             }
      
             window.onload = setVideoSource;
      
             function goBack() {
                 window.history.back();  
             }
         </script>
         <style>
             #infoText {
                 font-weight: bold;
                 color: black;
             }
         </style>
      </head>
      <body>
         <video id="videoPlayer" width="80%" controls autoplay muted>
             <source id="videoSource" src="" type="video/mp4">
             Dein Browser unterstützt dieses Videoformat nicht.
         </video>
         
         <!-- Info-Text zur Anzeige der Video-Details -->
         <p id="infoText"></p>
      
         <!-- Zurück-Button -->
         <button onclick="goBack()" style="margin-top: 20px; padding: 10px; font-size: 16px;">⬅ Zurück</button>
      </body>
      </html>
      

      Falls ihr die Freigabe anders benennt oder die Datei anders freigebt, sucht die URL im Blockly und ändert diese nach euren Vorgaben ab.

      Trigger:
      Ich lasse die Tabelle aktuell von AgendDVR über SimpleApi triggern.
      Dazu habe ich in AgentDVR eine Aktion erstellt, die nach einer Aufnahme eine SimpleApi URL aufruft.

      Screenshot_20250321_183436.jpg

      Bei Aktualisierung des DP (legt euch irgend einen an, am besten im selben Ordner wie der DP für die Tabelle) trigger das Script dann (Trigger im Script anpassen).

      Alternativ könnt ihr natürlich auch einen anderen Trigger nehmen.
      Zu einer bestimmten Uhrzeit, Intervall etc

      Anbei nun das Blockly:
      Eigene_Scripte.VIS.Tabelle_AgentDVR.xml

      Ich bin gespannt, ob bei euch alles klappt.

      EDIT
      Falls noch jemand eine bessere Idee kennt, als das Video im neuen Tab über <video> einzubinden immer her damit. Vom Format her scheint man recht eingeschränkt zu sein. Das motion jpeg meiner billig Kamera klappt Zb nicht (Ich zeichne RAW ohne konvertiung auf, man kann jedoch in AgendDVR auch zu mp4 konvertieren was dann klappt).

      posted in Blockly
      David G.
      David G.
    • RE: Test Adapter lovelace v1.2.x

      Hey Leute,

      heute nerve ich zum letzten mal mit meiner Adapter-Tabelle.
      War immer noch nicht wirklich zufrieden und habe nochmal einiges angepasst.

      • Schedule Adapter sind jetzt rot, wenn nicht gestartet. Orange wenn gestartet und grün wenn grade aktiv
      • Schedule Adapter bekommen bei den Infos angezeigt zu welchen Zeiten sie ausgeführt werden
      • Die Infos kommen nicht mehr aus der json und werden direkt aus den entsprechenden Datenpunkten gelesen
      • Für die beiden Ansichten ohne Details gibt es jetzt eine Option (im Skript oben aktivierbar) um sich die Details nach unten auszuklappen.

      adapter_skript.txt
      Und nochmal die 4 Bilder für die bunten Balken:
      spacer_red.png spacer_green.png spacer_orange.png spacer_grey.png

      1 = Detailansicht
      groß.png
      2 = Große Tabellenansicht ohne Details
      mittel ohne details.png
      2 = Große Tabellenansicht mit Details
      mittel mit details.png
      3 = Kompakte Tabellenansicht ohne Details
      klein ohne details.png
      3 = Kompakte Tabellenansicht mit Details (mein Favorit)
      klein mit details.png

      posted in Tester
      David G.
      David G.
    • RE: Meeting für ioBroker Core/Dev/Admin 17.05.23 20:30

      @ldittmar sagte in Meeting für ioBroker Core/Dev/Admin 17.05.23 20:30:

      Schlussdiskussion: ioBroker Live Meeting und ioBroker wird 2024 10 Jahre alt (@all)

      Im letzten Thread zum Meeting wurde auch Sponsoring angesprochen.

      Ich würde sehr gerne, falls gebraucht, mit Printprodukten unterstützen. Vom Flyer über Visitenkarten, kleinere Plakate etc ist alles möglich.
      Was eben so auf Papier geht.
      (Das Angebot bezieht sich auf Druck und Produktion. Das kann ich in Eigenleistung auf der Arbeit erbringen. Falls ein Layout, Design etc erstellt werden muss für die Prudukte, kann ich einen vergünstigten Stundensatz anbieten. Dass muss ich dann in unsere Agentur weitergeben.)

      posted in Entwickler-Meetings
      David G.
      David G.
    • RE: Suche Tester für komerz. Visu und Scriptbaukasten

      Wie wäre es denn, das Thema jetzt einfach auf Eis zu legen.

      Der TE hat unsere Meinung gehört, ggf. seine "Versäumnisse" wahrgenommen.
      Den "Unterton" mancher User finde ich genau so "schlimm".
      Da muss man nicht groß weiter diskutieren.

      Also am besten back 2 topic und sich freuen, dass es ggf. einen neuen Adapter gibt der den Usern eine weitere Visualisierung bietet.
      Beim testen weiß jetzt ja jeder, wo er dran ist.

      P. S.
      Falls der Adapter seinen Job mobil ordentlich erfüllt, würde ich ihn mir mal anschauen. Arbeite fast ausschließlich vom Smartphone aus.

      posted in Marktplatz
      David G.
      David G.

    Latest posts made by David G.

    • RE: Test lovelace 5.x

      @lessthanmore

      Ich nutze den daswetter Adapter und alles klappt prima.

      posted in Tester
      David G.
      David G.
    • RE: IoBroker in VM legt kompletten Proxmox-Server lahm.

      @a200

      Dann Pack dir den Befehl einfach in den Autostart oder lass ihn ohne Trigger von einem JS oder Blockly (Zb über Linux Control) an Proxmox senden.

      posted in ioBroker Allgemein
      David G.
      David G.
    • RE: IoBroker in VM legt kompletten Proxmox-Server lahm.

      @isi07

      Ich hatte es auf jedem Fall bis vor ca 6 Monaten, System immer aktuell.

      Ob es wirklich weg ist, oder nur nicht mehr auftritt weil die großen Backups durch sind weiß ich nicht.
      Das Problem trat auch erst seit den großen Backups auf.

      posted in ioBroker Allgemein
      David G.
      David G.
    • RE: IoBroker in VM legt kompletten Proxmox-Server lahm.

      @a200 sagte in IoBroker in VM legt kompletten Proxmox-Server lahm.:

      @crunchip nein. Aber es scheint weniger mit der VM, als mehr mit Proxmox zu tun haben. e1000 ist das physikalische Device bei dem NUC und das scheint ein Problem bei den neuen Kernels zu machen. Ich habe jetzt die empfohlene offloading Einstellung genommen. Mal sehen wie lange es hält.

      Vielen Dank für deine Unterstützung.

      ethtool -K eno1 gso off gro off tso off tx off rx off rxvlan off txvlan off sg off
      

      a0c4850c-a5e6-4b99-9707-d815e8f2bf70-grafik.png

      Das kann es gut gewesen sein.
      Ich hatte genau das selbe Problem.
      Bei mir ist es nach oder bei großen Backups aufgetreten die der PBS über das Internet versendet hat.

      Bei mir reicht ein

      ethtool -K enp0s31f6 tso off gso off gro off
      

      damit alles sauber läuft.
      Hab es allerdings nach den letzten 2-3 reboots nicht mehr gemacht, ka ob sich das Problem mittlerweile gelöst hat....

      posted in ioBroker Allgemein
      David G.
      David G.
    • RE: Welche Visualisierungslösung?

      @bigchris

      Ich nutze lovelace (das ist die Visualisierung von Homeassistant) und bin sehr zufrieden.

      Ist auch responsive, nutze ein Setup für Handy, Tablet und PC.

      Wenn man sich im Standart bewegt ist alles sehr einfach, man muss nur einmal verstehen, wie Geräte erkannt werden (Geräte die aus einem DP bestehen, kann man auch über die Objekteugenschaften einbinden).

      Bei speziellen Anforderungen gibt es sogenannte custom cards, die sind dann manchmal etwas komplexer.

      posted in Visualisierung
      David G.
      David G.
    • RE: Test Adapter ioBroker.n8n

      Das Issue ist nun gefixt.
      Laut log wird n8n auch installiert.

      Jedoch bleibt bei mit der Bildschirm weiß, wenn ich n8n öffne.

      Log mit einem Neustart des Adapters nach der Installation.

      n8n.0
      2025-08-28 19:27:23.064	info	socket.io server listening on port 5680
      
      n8n.0
      2025-08-28 19:27:23.061	info	http server listening on port 5680
      
      n8n.0
      2025-08-28 19:27:23.051	info	N8N Adapter started
      
      n8n.0
      2025-08-28 19:27:23.044	info	starting. Version 0.1.2 in /opt/iobroker/node_modules/iobroker.n8n, node: v22.18.0, js-controller: 7.0.7
      
      n8n.0
      2025-08-28 19:27:18.986	info	terminating
      
      n8n.0
      2025-08-28 19:27:18.512	info	Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
      
      n8n.0
      2025-08-28 19:27:18.512	info	terminating
      
      n8n.0
      2025-08-28 19:27:18.484	info	Destroying N8N integration
      
      n8n.0
      2025-08-28 19:27:18.483	info	Got terminate signal TERMINATE_YOURSELF
      
      n8n.0
      2025-08-28 19:26:06.193	info	socket.io server listening on port 5680
      
      n8n.0
      2025-08-28 19:26:06.191	info	http server listening on port 5680
      
      n8n.0
      2025-08-28 19:25:52.720	info	n8n is installed
      
      n8n.0
      2025-08-28 19:24:35.457	info	Executing n8n installation... Please wait it can take a while!
      
      n8n.0
      2025-08-28 19:24:35.456	info	N8N Adapter started
      
      n8n.0
      2025-08-28 19:24:35.451	info	starting. Version 0.1.2 in /opt/iobroker/node_modules/iobroker.n8n, node: v22.18.0, js-controller: 7.0.7
      

      EDIT
      Glaube habe das Problem.
      Den iobroker erreiche ich über https. N8n mag das scheinbar nicht.
      Über http://192.168.99.33:5678/ direkt komme ich drauf.

      EDIT 2
      Word sich der Adapter um Updates von n8n kümmern oder muss man das selber machen.
      Er gibt mir die Meldung:

      We’ve been busy ✨
      
      You’re on 1.99.0, which was released 2 months ago and is 10 versions behind the latest and greatest n8n
      
      posted in Tester
      David G.
      David G.
    • RE: Installation neues System

      @azrael42 sagte in Installation neues System:

      Ist das durchschleusen der USB Ports ein Thema?

      Nein, das ist mega easy.
      In VMs sehr leicht in CTs leicht.

      posted in Pflege des Betriebssystems
      David G.
      David G.
    • RE: Test Adapter ioBroker.n8n

      @mcm1957

      Weil ich mir dachte eher eine Rückmeldung mehr als weniger.
      Und da es erst ein User war....
      (Das Issue hatte ich bereits gesehen).

      posted in Tester
      David G.
      David G.
    • RE: Test Adapter ioBroker.n8n

      @bloop

      Ich habe das selbe Problem.
      Die Installation lief auch viel zu schnell durch.

      Von npm und im iobroker.

      posted in Tester
      David G.
      David G.
    • RE: Klingelhose Funk (Unterhose gegen Bettnässen)

      @rushmed sagte in Klingelhose Funk (Unterhose gegen Bettnässen):

      @david-g Warum nicht einfach ein Zigbee o.ä. Wasserlecksensor wie derhier:
      https://de.aliexpress.com/item/1005007399103547.html
      Der lässt sich gut integrieren und im ioBroker kannst du dann alles abfeuern was notwendig ist um die ganze Familie aus dem Bett zu holen.
      Musst dann nur kleine Tasceh an die Kinderschlüpper nähen wo das Ding reinkommt.

      Das ist mir dann doch zu heiß 🤣
      Wer weiß wie da gemessen wird. Der kleine muss ja nicht jetzt schon unten rum verstrahlt werden....

      Theoretisch aber bestimmt machbar.
      Wobei jenachdem wo das Teil liegt die Unterhose sehr nass werden muss. In den Unterhosen hier sind dünne Drähte eingearbeitet um einen großen Bereich zu überwachen.

      posted in Hardware
      David G.
      David G.
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo