Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Praktische Anwendungen (Showcase)
  4. [Vorstellung] Meine dritte VIS

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.2k

[Vorstellung] Meine dritte VIS

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
visvis projekte
640 Beiträge 83 Kommentatoren 184.7k Aufrufe 117 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J Offline
    J Offline
    jannis
    schrieb am zuletzt editiert von
    #353

    Hallo,

    erstmal Respekt...Super Visualisierung und tolle, praktische Skripts! Ich habe dadurch eine Menge gelernt.

    Mein Tablet hat Probleme die Visualisierung darzustellen bzw. es dauert ewig Am Seite zur Seite zu wechseln.
    Am PC funktioniert es eigentlich relativ flüssig.

    Ich benutze dafür ein Lenovo Tab 2 A10-70F.

    Meint Ihr liegt es am Tablet oder könnte mit der Visualisierung zu tun haben?

    Welches Tablet würdet Ihr mir vorschlagen? Reichen die 2GB RAM?

    K 1 Antwort Letzte Antwort
    0
    • K Kuddel

      @hofmannha

      Blockly Export

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable type="cron" id="Wecklicht_Daniel">Wecklicht_Daniel</variable>
       </variables>
       <block type="comment" id="-c)[#MFP9p;fa*.zCm9:" x="-312" y="-162">
         <field name="COMMENT">Cron Restart</field>
         <next>
           <block type="update" id="Z|G(lkOVhj1O467p~(%Z">
             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
             <field name="OID">javascript.0.wecklicht.weckzeit_cron_restart</field>
             <field name="WITH_DELAY">TRUE</field>
             <field name="DELAY_MS">1</field>
             <field name="UNIT">min</field>
             <field name="CLEAR_RUNNING">FALSE</field>
             <value name="VALUE">
               <block type="time_get" id="YEc@`GZ$/=;kZ-eC]Nu%">
                 <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation>
                 <field name="OPTION">custom</field>
                 <field name="FORMAT">TT.MM.JJJJ SS:mm</field>
               </block>
             </value>
             <next>
               <block type="comment" id="O#Q1_Ela_+Mr;!O;Z=f}">
                 <field name="COMMENT">Weckzeit Daniel</field>
                 <next>
                   <block type="on_ext" id="`naW5ol;4hGCGrtd-k@X">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                     <field name="CONDITION">any</field>
                     <field name="ACK_CONDITION"></field>
                     <value name="OID0">
                       <shadow type="field_oid" id="HDUsrjtBjbo4Ajl%TF.b">
                         <field name="oid">javascript.0.wecklicht.daniel.weckzeit</field>
                       </shadow>
                     </value>
                     <value name="OID1">
                       <shadow type="field_oid" id="XYXzIGcB$6wbcLBlv^VD">
                         <field name="oid">javascript.0.wecklicht.weckzeit_cron_restart</field>
                       </shadow>
                     </value>
                     <statement name="STATEMENT">
                       <block type="schedule_clear" id="t#O!h9zZ3V/@hn@bSiQk">
                         <field name="NAME">Wecklicht_Daniel</field>
                         <next>
                           <block type="schedule_create" id="8K~gctx^YtpHl:]@Y47+">
                             <field name="NAME">Wecklicht_Daniel</field>
                             <value name="SCHEDULE">
                               <shadow xmlns="http://www.w3.org/1999/xhtml" type="field_cron" id="c0]4[b/)BfLxIM[_D4J?">
                                 <field name="CRON">* * * * *</field>
                               </shadow>
                               <block type="cron_builder" id="C`(+:liW#9W(#xc)mEg/">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" seconds="false" as_line="false"></mutation>
                                 <field name="LINE">FALSE</field>
                                 <field name="WITH_SECONDS">FALSE</field>
                                 <value name="DOW">
                                   <shadow type="text" id="K@u6,n+x!GvmZmT5*AF4">
                                     <field name="TEXT">*</field>
                                   </shadow>
                                 </value>
                                 <value name="MONTHS">
                                   <shadow type="text" id="./q}[72rzJG[}fKabV@h">
                                     <field name="TEXT">*</field>
                                   </shadow>
                                 </value>
                                 <value name="DAYS">
                                   <shadow type="text" id=":e.|M#BI`c+`|Esj(yMy">
                                     <field name="TEXT">*</field>
                                   </shadow>
                                 </value>
                                 <value name="HOURS">
                                   <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="Fv4;rbdTd_RVt(!HOV~1">
                                     <field name="TEXT">*</field>
                                   </shadow>
                                   <block type="text_getSubstring" id="w@|7BFvYtoVjNue+tIXO">
                                     <mutation at1="false" at2="true"></mutation>
                                     <field name="WHERE1">FIRST</field>
                                     <field name="WHERE2">FROM_START</field>
                                     <value name="STRING">
                                       <block type="get_value" id="@-JweVPP`)=~[+@7[ZjH">
                                         <field name="ATTR">val</field>
                                         <field name="OID">javascript.0.wecklicht.daniel.weckzeit</field>
                                       </block>
                                     </value>
                                     <value name="AT2">
                                       <block type="math_number" id="6*$wfg#FCfAVbJz)Fp`Z">
                                         <field name="NUM">2</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <value name="MINUTES">
                                   <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="9l6T6FkfTzbV%V~YR8yg">
                                     <field name="TEXT">*</field>
                                   </shadow>
                                   <block type="text_getSubstring" id="m)`Ugg[9F=AWaVP4p6S3">
                                     <mutation at1="true" at2="false"></mutation>
                                     <field name="WHERE1">FROM_START</field>
                                     <field name="WHERE2">LAST</field>
                                     <value name="STRING">
                                       <block type="get_value" id="jd3{3gjHRjm(V3vKVV0*">
                                         <field name="ATTR">val</field>
                                         <field name="OID">javascript.0.wecklicht.daniel.weckzeit</field>
                                       </block>
                                     </value>
                                     <value name="AT1">
                                       <block type="math_number" id="z51@{mors+6c8^##rsfG">
                                         <field name="NUM">4</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="STATEMENT">
                               <block type="comment" id="3l{X|AfIp$]T^Y8`xkFm">
                                 <field name="COMMENT">Werktags</field>
                                 <next>
                                   <block type="controls_if" id="m=i+7#wV]oNOuYOO$VK4">
                                     <mutation elseif="1"></mutation>
                                     <value name="IF0">
                                       <block type="logic_operation" id="l$M?1_BKdfzhO?v)98@y" inline="false">
                                         <field name="OP">AND</field>
                                         <value name="A">
                                           <block type="logic_compare" id="$^R.L)w/!CMEg:Mz3V78">
                                             <field name="OP">NEQ</field>
                                             <value name="A">
                                               <block type="time_get" id="YF:l4ee9WV4P}=T81ho_">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="true"></mutation>
                                                 <field name="OPTION">wdt</field>
                                                 <field name="LANGUAGE">de</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="text" id="U`swyZV.*TJL9irCj6}x">
                                                 <field name="TEXT">Samstag</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="logic_compare" id="RquU@!}?c!$HTMT(UHC*">
                                             <field name="OP">NEQ</field>
                                             <value name="A">
                                               <block type="time_get" id=",{[i6FF@-u0)e:qhHh..">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="true"></mutation>
                                                 <field name="OPTION">wdt</field>
                                                 <field name="LANGUAGE">de</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="text" id="?30EGBs$-k*6=@_1AH2V">
                                                 <field name="TEXT">Sonntag</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="controls_if" id="=oW7|a:_JXWDx^(%!67m">
                                         <value name="IF0">
                                           <block type="logic_operation" id="qA1S+)7Nq]-XvrlJz2kB" inline="false">
                                             <field name="OP">AND</field>
                                             <value name="A">
                                               <block type="logic_operation" id="nOEUVr^fmyamNUD(@Fej" inline="false">
                                                 <field name="OP">AND</field>
                                                 <value name="A">
                                                   <block type="logic_compare" id="OfQ@Ko|_c+MFdIb|U~Xc">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="get_value" id="2o+sk[?Z^8N|bdd;i9*,">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">feiertage.0.heute.boolean</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="logic_boolean" id="N=)}U3G5-4X$J)s{(_UW">
                                                         <field name="BOOL">FALSE</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="logic_compare" id="*V+%v#7?rw4]qT@G.e;5">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="get_value" id=",F_KAqq2VXl3u28^wZ(y">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">javascript.0.Anwesenheit.Daniel</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="logic_boolean" id="Tu^ZdPS6;|p4^OzR}rpU">
                                                         <field name="BOOL">TRUE</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="logic_operation" id="ew*eL`i{bi7VZetiI.Y)" inline="false">
                                                 <field name="OP">OR</field>
                                                 <value name="A">
                                                   <block type="logic_operation" id="({,0TBVgh=]=So7Ukj3Y" inline="false">
                                                     <field name="OP">OR</field>
                                                     <value name="A">
                                                       <block type="logic_compare" id="RaB4)oBZFr_Ko%3:0#BM">
                                                         <field name="OP">EQ</field>
                                                         <value name="A">
                                                           <block type="get_value" id="QQ?4BnZ:={K^MswDnY9p">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">javascript.0.sonstige.arbeitsstatus</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="math_number" id="7{#-VU+F,zV#wrL4-/3?">
                                                             <field name="NUM">0</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="logic_compare" id="oRR2$m)Gb?a1YDF}o|*`">
                                                         <field name="OP">EQ</field>
                                                         <value name="A">
                                                           <block type="get_value" id="p7)QFzEz=VE:P;EK*LtP">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">javascript.0.sonstige.arbeitsstatus</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="math_number" id="wJ}35sn!rz_m@f[emxth">
                                                             <field name="NUM">4</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="logic_compare" id="):DH4h,JgZYGv,^@yQY#">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="get_value" id="UB:)tDdM?DEX)p1nIgv{">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">javascript.0.sonstige.arbeitsstatus</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="math_number" id="d0=?n:1SMz|+0gSvLKcw">
                                                         <field name="NUM">5</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <statement name="DO0">
                                           <block type="control" id="]LuR;nP7T|JX$[]+pTQ1">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                             <field name="OID">javascript.0.wecklicht.daniel.wecklicht</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="logic_boolean" id=";QtoD%ru`DwQ|1+]JT%B">
                                                 <field name="BOOL">TRUE</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="control" id="ugDi{R}7AU9+~1U3^lb5">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                 <field name="OID">javascript.0.wecklicht.daniel.wecklicht</field>
                                                 <field name="WITH_DELAY">TRUE</field>
                                                 <field name="DELAY_MS">15</field>
                                                 <field name="UNIT">sec</field>
                                                 <field name="CLEAR_RUNNING">FALSE</field>
                                                 <value name="VALUE">
                                                   <block type="logic_boolean" id="R/qWKDfh6oxn8~#})|.o">
                                                     <field name="BOOL">FALSE</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                       </block>
                                     </statement>
                                     <value name="IF1">
                                       <block type="logic_operation" id="T_K?9ep!``,)o(7u3-fa" inline="false">
                                         <field name="OP">OR</field>
                                         <value name="A">
                                           <block type="logic_compare" id="?oyg84|8q9k%|O%CdX#K">
                                             <field name="OP">EQ</field>
                                             <value name="A">
                                               <block type="time_get" id="XxDJ([Q/krzl)8bC[73R">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="true"></mutation>
                                                 <field name="OPTION">wdt</field>
                                                 <field name="LANGUAGE">de</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="text" id="[diw~YlKbN*QZ.^x~1g9">
                                                 <field name="TEXT">Samstag</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="logic_compare" id="%jM+lj|QFkV%3YJ|3W3y">
                                             <field name="OP">EQ</field>
                                             <value name="A">
                                               <block type="time_get" id="j^in7`l(Z=Yd3[wyYW)w">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="true"></mutation>
                                                 <field name="OPTION">wdt</field>
                                                 <field name="LANGUAGE">de</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="text" id="XacY]dNg2rv%K+[hl$J5">
                                                 <field name="TEXT">Sonntag</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO1">
                                       <block type="controls_if" id="pqT{._OGO4w~MyDfX0PK">
                                         <value name="IF0">
                                           <block type="logic_compare" id="JobPVbc@UlsqE3CkUFVp">
                                             <field name="OP">EQ</field>
                                             <value name="A">
                                               <block type="get_value" id="OVO|jrL-WT30Jry2OZ(e">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">javascript.0.wecklicht.daniel.wecklicht_we</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="text" id="TwtR*YRvRHno7v[?BC{y">
                                                 <field name="TEXT">1</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <statement name="DO0">
                                           <block type="control" id="u-9CIbd[zCSSHU.g#p=`">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                             <field name="OID">javascript.0.wecklicht.daniel.wecklicht</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="logic_boolean" id="w7eIGh@d(,`QJhL]6C)B">
                                                 <field name="BOOL">TRUE</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="control" id="X{K:=U%hgz2W~}JQ}6wN">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                 <field name="OID">javascript.0.wecklicht.daniel.wecklicht</field>
                                                 <field name="WITH_DELAY">TRUE</field>
                                                 <field name="DELAY_MS">15</field>
                                                 <field name="UNIT">sec</field>
                                                 <field name="CLEAR_RUNNING">FALSE</field>
                                                 <value name="VALUE">
                                                   <block type="logic_boolean" id="Vpp:;aE*:=r$NGFhtMQ-">
                                                     <field name="BOOL">FALSE</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                           </block>
                         </next>
                       </block>
                     </statement>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </next>
       </block>
      </xml>
      

      J Offline
      J Offline
      jwerlsdf
      schrieb am zuletzt editiert von jwerlsdf
      #354

      @Kuddel
      vielen Dank für deine View. Nun eine Frage: benutze dein Menü. Ich habe es soweit verstanden, wie ich meine Views einbinden kann. Aber an den submenüs scheitere ich. Die Hauptviews werden angezeigt, aber nicht die Subviews...
      b0e394ad-fea0-41c5-9634-d9241ca59af1-grafik.png

      K 1 Antwort Letzte Antwort
      0
      • J jannis

        Hallo,

        erstmal Respekt...Super Visualisierung und tolle, praktische Skripts! Ich habe dadurch eine Menge gelernt.

        Mein Tablet hat Probleme die Visualisierung darzustellen bzw. es dauert ewig Am Seite zur Seite zu wechseln.
        Am PC funktioniert es eigentlich relativ flüssig.

        Ich benutze dafür ein Lenovo Tab 2 A10-70F.

        Meint Ihr liegt es am Tablet oder könnte mit der Visualisierung zu tun haben?

        Welches Tablet würdet Ihr mir vorschlagen? Reichen die 2GB RAM?

        K Online
        K Online
        Kuddel
        schrieb am zuletzt editiert von
        #355

        @jannis ich benutzte ein Samsung Galaxy TAB A 9.7

        Ist mitlerweile auch schon ein paar Jahre alt und braucht auch so 5 Sekunden und mehr um eine andere Seite darzustellen

        1 Antwort Letzte Antwort
        0
        • J jwerlsdf

          @Kuddel
          vielen Dank für deine View. Nun eine Frage: benutze dein Menü. Ich habe es soweit verstanden, wie ich meine Views einbinden kann. Aber an den submenüs scheitere ich. Die Hauptviews werden angezeigt, aber nicht die Subviews...
          b0e394ad-fea0-41c5-9634-d9241ca59af1-grafik.png

          K Online
          K Online
          Kuddel
          schrieb am zuletzt editiert von
          #356

          @jwerlsdf kannst du mal posten, was du so eingetragen hast?

          Dann kann ich das mit meinen Einstellungen vergleichen

          1 Antwort Letzte Antwort
          0
          • K Kuddel

            Hallo zusammen,

            nach meiner zweiten VIS folgt jetzt meine dritte VIS.

            Die größte Neuerung ist ein komplett neues Menü mit Hilfe des Top App Bar Widget. Vielen Dank an dieser Stelle an @Scrounger.

            Bestimmt sind immer noch ein paar Fehler drin, aber fertig wird man ja eh nie.

            Vieles habe ich aus meiner zweiten VIS übernommen, so dass die Screenshots aus dem Thread oben auch fast noch alle aktuell sind.

            Screenshots:


            Startseite
            90372124-cd0b-40d0-ae6e-b8286ee25672-grafik.png

            Menü
            52f11cf6-b7f3-49c8-9344-b1a0f89d0eaa-grafik.png
            e766325b-8727-48c0-b6e7-9f773f4f246b-grafik.png

            BVB Details
            423488b3-1367-4ebf-b28e-8b730970dfae-grafik.png

            Tablet Details
            ac924af2-ac1c-4069-a59e-6a68c8775a3f-grafik.png

            System -> ioBroker
            eb9f518b-c318-4a00-a66e-6879959792a4-grafik.png

            System -> Homematic
            1aaaed6f-8e59-4cdc-8bfd-c26185f1c28b-grafik.png

            System -> Netzwerk
            622fd166-ec5b-4ff3-9cbe-d5a81fd5332b-grafik.png

            System -> Geräte
            f20ab8dd-18f2-446e-94ac-55a74765e1ca-grafik.png

            Details VU
            9cdd9c50-f62a-4e3c-b01a-f911d2e8388d-grafik.png

            System -> Logs
            e190e53e-2a68-4e6d-ae7e-a48d069f809f-grafik.png

            System -> VMware
            34ffe501-5b74-4b2c-9092-2e1a8ed9f99e-grafik.png

            Erdgeschoss -> Wohnzimmer
            18c3b9dc-75e4-41c9-9338-ef3c827f4c86-grafik.png

            Garten -> Bewässerung
            160a9338-d885-42be-8ae8-2d0daa67a8f1-grafik.png

            Wetter
            840f00c2-b9bb-4f94-be9d-9bb5b0330947-grafik.png

            Staubsauger
            1343f5bc-1514-44d2-8754-9a6eff483708-grafik.png

            Echo Geräte
            aebe9414-69fe-46ef-86b9-9125b66e2f1d-grafik.png

            Mutlimedia -> TV
            d3549b5b-2178-48de-aa40-86c03343a04d-grafik.png

            Damit die Navigation und alle Widgets funktionieren, wird vor dem Import der DP

            javascript.0.VIS-Steuerung.Aktuelle_VIS_Seite
            

            benöigt.

            Ebenso sind natürlich alle von mir verwendeten Widgets wichitg:

            ad5673c8-1694-4fe5-9839-ca55c4dd920d-grafik.png
            aba96ff9-f4c4-4291-a479-95ce40906c5b-grafik.png

            Anleitung zum Import der kompletten VIS inkl. meiner Icons:


            2020-08-17-VIS_v3.zip
            Meine_Icons.zip

            1. meine_icons.zip entpacken
            2. 2020-08-17-vis_v3.zip entpacken
            3. Die beiden VIS-Datein und die den Icons Ordner zu einem neuen Zip Archiv zusammefügen
            4. Wie gewohnt das neue Archiv im VIS Editor importieren

            Anleitung zum Import meiner Skripte:


            Voraussetzung für den Skript Import

            • Adapter: Mail, Pushover
            • Objekte für meine Skripts

            Objekte anlegen

            Alle Objekte, mit denen ich in meinen Skripten arbeite, können mit einem Javascript erstellt werden:
            objekte.txt

            • Den Inhalt der TXT-Datei in ein neues Javascript kopieren
            • Das Skript starten
            • Alle Objekte werden angelegt
            • Das Skript wieder stoppen

            Import

            1. Download der Datei 2020-03-17-scripts.zip
            2. Eigene Skripte in Zip Datei exportieren
            3. Beide Archive entpacken und dann die Skripte / Gruppen in einem gemeinsamen Archiv zusammenführen
            4. Import des neu erstellten Archivs

            Bei Fragen einfach im Thread stellen 😉

            Das nächste Projekt wird dann eine VIS fürs Smartphone

            S Offline
            S Offline
            SARCux
            schrieb am zuletzt editiert von
            #357

            @Kuddel
            Moin, derzeit verwende ich bei uns zuhause den MagicMirror, wenn ich aber das hier sehe haut es mich von den Socken.
            Habe mir nun eunen neuen pi 4 mit 4GB bestellt und eine sandisk ultra mit 128 GB (sollte dafür doch ausreichen)
            Sollte ich Fragen bei der Einrichtung haben, darf ich da auf dich oder die Community zukommen?

            Habe für die Visualisierung noch ein älteres Tablet in der Schublade, welches ich dafür verwenden möchte.
            Welche App zur Darstellung ist am Besten geeignet? KioskBrowser?

            Freue mich von euch zu hören

            BG
            SARCux

            K 1 Antwort Letzte Antwort
            0
            • S SARCux

              @Kuddel
              Moin, derzeit verwende ich bei uns zuhause den MagicMirror, wenn ich aber das hier sehe haut es mich von den Socken.
              Habe mir nun eunen neuen pi 4 mit 4GB bestellt und eine sandisk ultra mit 128 GB (sollte dafür doch ausreichen)
              Sollte ich Fragen bei der Einrichtung haben, darf ich da auf dich oder die Community zukommen?

              Habe für die Visualisierung noch ein älteres Tablet in der Schublade, welches ich dafür verwenden möchte.
              Welche App zur Darstellung ist am Besten geeignet? KioskBrowser?

              Freue mich von euch zu hören

              BG
              SARCux

              K Online
              K Online
              Kuddel
              schrieb am zuletzt editiert von
              #358

              @SARCux du kannst natürlich gerne Fragen stellen. Entweder hier oder auch gern per PN.

              Ich nutze auf meinem schon etw. älteren Galaxy Tab A 9.7 den Fully Kiosk Browser.

              Gerade mit einer Lizenz ist der Brwoser Top, da man das Tablet auslesen kann (Akkustand z.B.).

              S 1 Antwort Letzte Antwort
              0
              • K Kuddel

                @SARCux du kannst natürlich gerne Fragen stellen. Entweder hier oder auch gern per PN.

                Ich nutze auf meinem schon etw. älteren Galaxy Tab A 9.7 den Fully Kiosk Browser.

                Gerade mit einer Lizenz ist der Brwoser Top, da man das Tablet auslesen kann (Akkustand z.B.).

                S Offline
                S Offline
                SARCux
                schrieb am zuletzt editiert von SARCux
                #359

                @Kuddel
                Hatte mir vor zwei Jahren mal so ein China Tablet zugelegt.
                Hoffe das ich den Fully da noch raufbekomme.
                Werde es vorher mal testen und sobal der pi angekommen ist, geht es los. Bin gespannt ob ich meine Shellys einbinden kann und auch steuern.
                Klappt das auch mit Sonos und Alexa?

                Ein Fire Tab habe ich auch noch rumfliegen....

                K 1 Antwort Letzte Antwort
                0
                • S SARCux

                  @Kuddel
                  Hatte mir vor zwei Jahren mal so ein China Tablet zugelegt.
                  Hoffe das ich den Fully da noch raufbekomme.
                  Werde es vorher mal testen und sobal der pi angekommen ist, geht es los. Bin gespannt ob ich meine Shellys einbinden kann und auch steuern.
                  Klappt das auch mit Sonos und Alexa?

                  Ein Fire Tab habe ich auch noch rumfliegen....

                  K Online
                  K Online
                  Kuddel
                  schrieb am zuletzt editiert von
                  #360

                  @SARCux was genau meinst du mit "Klappt das auch mit Sonos und Alexa"?

                  Ich habe keine Sonos Geräte, nutze aber verschiedene Echode Devices zur Steuerung.

                  S K 2 Antworten Letzte Antwort
                  0
                  • K Kuddel

                    @SARCux was genau meinst du mit "Klappt das auch mit Sonos und Alexa"?

                    Ich habe keine Sonos Geräte, nutze aber verschiedene Echode Devices zur Steuerung.

                    S Offline
                    S Offline
                    SARCux
                    schrieb am zuletzt editiert von
                    #361

                    @Kuddel
                    ich stelle mir eine Vis für die Küche vor (dort hängt der Sonos) und beim antippen eines Sender (wenn drei zur auswahl als Icon) das es dann über den Sonos in der Küche wiedergegeben wird

                    🤔

                    K 1 Antwort Letzte Antwort
                    0
                    • S SARCux

                      @Kuddel
                      ich stelle mir eine Vis für die Küche vor (dort hängt der Sonos) und beim antippen eines Sender (wenn drei zur auswahl als Icon) das es dann über den Sonos in der Küche wiedergegeben wird

                      🤔

                      K Online
                      K Online
                      Kuddel
                      schrieb am zuletzt editiert von
                      #362

                      @SARCux wenn man den Sonos in ioBroker integrieren kann, geht das bestimmt.

                      Mit Sonos kenne ich mich allerdings nicht aus.

                      S 1 Antwort Letzte Antwort
                      0
                      • K Kuddel

                        @SARCux wenn man den Sonos in ioBroker integrieren kann, geht das bestimmt.

                        Mit Sonos kenne ich mich allerdings nicht aus.

                        S Offline
                        S Offline
                        SARCux
                        schrieb am zuletzt editiert von
                        #363

                        @Kuddel

                        Vorab schonmal danke für die schnellen Antworten.

                        Ich warte jetzt mal auf die Lieferung des pi und gehen dann Schritt für Schritt an den io broker ran.

                        Es werden dann sicherlich Fragen auftauchen, die ich ier bestimmt beantwortet bekomme.

                        BG
                        SARCux

                        1 Antwort Letzte Antwort
                        0
                        • K Kuddel

                          Hallo zusammen,

                          nach meiner zweiten VIS folgt jetzt meine dritte VIS.

                          Die größte Neuerung ist ein komplett neues Menü mit Hilfe des Top App Bar Widget. Vielen Dank an dieser Stelle an @Scrounger.

                          Bestimmt sind immer noch ein paar Fehler drin, aber fertig wird man ja eh nie.

                          Vieles habe ich aus meiner zweiten VIS übernommen, so dass die Screenshots aus dem Thread oben auch fast noch alle aktuell sind.

                          Screenshots:


                          Startseite
                          90372124-cd0b-40d0-ae6e-b8286ee25672-grafik.png

                          Menü
                          52f11cf6-b7f3-49c8-9344-b1a0f89d0eaa-grafik.png
                          e766325b-8727-48c0-b6e7-9f773f4f246b-grafik.png

                          BVB Details
                          423488b3-1367-4ebf-b28e-8b730970dfae-grafik.png

                          Tablet Details
                          ac924af2-ac1c-4069-a59e-6a68c8775a3f-grafik.png

                          System -> ioBroker
                          eb9f518b-c318-4a00-a66e-6879959792a4-grafik.png

                          System -> Homematic
                          1aaaed6f-8e59-4cdc-8bfd-c26185f1c28b-grafik.png

                          System -> Netzwerk
                          622fd166-ec5b-4ff3-9cbe-d5a81fd5332b-grafik.png

                          System -> Geräte
                          f20ab8dd-18f2-446e-94ac-55a74765e1ca-grafik.png

                          Details VU
                          9cdd9c50-f62a-4e3c-b01a-f911d2e8388d-grafik.png

                          System -> Logs
                          e190e53e-2a68-4e6d-ae7e-a48d069f809f-grafik.png

                          System -> VMware
                          34ffe501-5b74-4b2c-9092-2e1a8ed9f99e-grafik.png

                          Erdgeschoss -> Wohnzimmer
                          18c3b9dc-75e4-41c9-9338-ef3c827f4c86-grafik.png

                          Garten -> Bewässerung
                          160a9338-d885-42be-8ae8-2d0daa67a8f1-grafik.png

                          Wetter
                          840f00c2-b9bb-4f94-be9d-9bb5b0330947-grafik.png

                          Staubsauger
                          1343f5bc-1514-44d2-8754-9a6eff483708-grafik.png

                          Echo Geräte
                          aebe9414-69fe-46ef-86b9-9125b66e2f1d-grafik.png

                          Mutlimedia -> TV
                          d3549b5b-2178-48de-aa40-86c03343a04d-grafik.png

                          Damit die Navigation und alle Widgets funktionieren, wird vor dem Import der DP

                          javascript.0.VIS-Steuerung.Aktuelle_VIS_Seite
                          

                          benöigt.

                          Ebenso sind natürlich alle von mir verwendeten Widgets wichitg:

                          ad5673c8-1694-4fe5-9839-ca55c4dd920d-grafik.png
                          aba96ff9-f4c4-4291-a479-95ce40906c5b-grafik.png

                          Anleitung zum Import der kompletten VIS inkl. meiner Icons:


                          2020-08-17-VIS_v3.zip
                          Meine_Icons.zip

                          1. meine_icons.zip entpacken
                          2. 2020-08-17-vis_v3.zip entpacken
                          3. Die beiden VIS-Datein und die den Icons Ordner zu einem neuen Zip Archiv zusammefügen
                          4. Wie gewohnt das neue Archiv im VIS Editor importieren

                          Anleitung zum Import meiner Skripte:


                          Voraussetzung für den Skript Import

                          • Adapter: Mail, Pushover
                          • Objekte für meine Skripts

                          Objekte anlegen

                          Alle Objekte, mit denen ich in meinen Skripten arbeite, können mit einem Javascript erstellt werden:
                          objekte.txt

                          • Den Inhalt der TXT-Datei in ein neues Javascript kopieren
                          • Das Skript starten
                          • Alle Objekte werden angelegt
                          • Das Skript wieder stoppen

                          Import

                          1. Download der Datei 2020-03-17-scripts.zip
                          2. Eigene Skripte in Zip Datei exportieren
                          3. Beide Archive entpacken und dann die Skripte / Gruppen in einem gemeinsamen Archiv zusammenführen
                          4. Import des neu erstellten Archivs

                          Bei Fragen einfach im Thread stellen 😉

                          Das nächste Projekt wird dann eine VIS fürs Smartphone

                          M Offline
                          M Offline
                          marhal
                          schrieb am zuletzt editiert von Negalein
                          #364

                          @Kuddel

                          Hallo Kuddel,

                          ich bin ja von deiner Vis begeistert und baue sie fleissig nach 🙂 ich bin gerade bei den iobroker Adaptern und dem Javascript (adapter_infos.). Leider bekomme ich folgende Meldungen bei dem Script kannst du mir da helfen was der Fehler dort ist ?

                          12:58:07.905	error	javascript.0 (1355) at script.js.java.abfragen.adapter_infos:14:39
                          12:58:07.905	error	javascript.0 (1355) at Object.<anonymous> (script.js.java.abfragen.adapter_infos:13:19)
                          12:58:22.813	warn	javascript.0 (1355) at script.js.java.abfragen.adapter_infos:35:18
                          12:58:22.814	warn	javascript.0 (1355) at Object.<anonymous> (script.js.java.abfragen.adapter_infos:13:19)
                          12:58:22.815	warn	javascript.0 (1355) at script.js.java.abfragen.adapter_infos:47:19
                          12:58:22.816	warn	javascript.0 (1355) at Object.<anonymous> (script.js.java.abfragen.adapter_infos:13:19)
                          

                          wäre super wenn mir da jemand helfen kann

                          gruß
                          Marhal

                          K 1 Antwort Letzte Antwort
                          0
                          • M marhal

                            @Kuddel

                            Hallo Kuddel,

                            ich bin ja von deiner Vis begeistert und baue sie fleissig nach 🙂 ich bin gerade bei den iobroker Adaptern und dem Javascript (adapter_infos.). Leider bekomme ich folgende Meldungen bei dem Script kannst du mir da helfen was der Fehler dort ist ?

                            12:58:07.905	error	javascript.0 (1355) at script.js.java.abfragen.adapter_infos:14:39
                            12:58:07.905	error	javascript.0 (1355) at Object.<anonymous> (script.js.java.abfragen.adapter_infos:13:19)
                            12:58:22.813	warn	javascript.0 (1355) at script.js.java.abfragen.adapter_infos:35:18
                            12:58:22.814	warn	javascript.0 (1355) at Object.<anonymous> (script.js.java.abfragen.adapter_infos:13:19)
                            12:58:22.815	warn	javascript.0 (1355) at script.js.java.abfragen.adapter_infos:47:19
                            12:58:22.816	warn	javascript.0 (1355) at Object.<anonymous> (script.js.java.abfragen.adapter_infos:13:19)
                            

                            wäre super wenn mir da jemand helfen kann

                            gruß
                            Marhal

                            K Online
                            K Online
                            Kuddel
                            schrieb am zuletzt editiert von
                            #365

                            @marhal das ist meine aktuelle Version:

                            // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
                            
                            //on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
                            on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
                               createState('Adapter.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
                               createState('Adapter.AdapterNummer', 0, { name: 'Adapter zum schalten', desc: 'Adapter zum schalten', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });    
                               //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
                               var counter =0;
                               var on = 0
                               var manuell=0	
                            
                               var cacheSelector = $('[id=system.adapter.*.alive]');    
                               cacheSelector.each(function(id, i) {        
                                   var devicename = getObject(id).common.name; 
                               	
                               	//Instanzen ausklammern
                               	instanz0 = devicename.indexOf('daswetter');
                               	instanz1 = devicename.indexOf('dwd');
                                   instanz2 = devicename.indexOf('ical');
                               	instanz3 = devicename.indexOf('feiertage');
                               	instanz4 = devicename.indexOf('snmp.1');
                                   instanz5 = devicename.indexOf('vis.0');
                                   instanz6 = devicename.indexOf('yamaha.0');
                               	if(instanz0 !=0 && instanz1 != 0 && instanz2 !=0 && instanz3 != 0 && instanz4 != 0 && instanz5 !=0 && instanz6 !=0){
                               	
                               		var devicenameName=devicename;
                               		var instanzname=getObject(id).common.name;
                               		var test = devicenameName;
                               		var devicename_array = devicenameName.split(' ');        
                               		devicenameName = devicename_array[0];
                               		counter = counter+1; 
                               			
                               		var strStatePath = "system.adapter." + devicenameName + ".alive";
                               		if (isState(strStatePath, true)) {
                               			var uptime = getState("system.adapter." + devicenameName + ".uptime").val;
                               			var tage = Math.floor(uptime / (24*3600));
                               			var stunden = Math.floor((uptime % (24*3600))/3600);
                               			var minuten = Math.floor((uptime % (3600))/60);
                               			//var sekunden = Math.floor(uptime % 60);      
                               			if (stunden < 10) {stunden = "0"+stunden};
                                           if (minuten < 10) {minuten = "0"+minuten};				
                               			if (tage == 1) {uptime = tage.toString()+" Tag, "+stunden.toString()+" Std, "+minuten.toString()+" Min ";};
                               			if (tage != 1) {uptime = tage.toString()+" Tage, "+stunden.toString()+" Std, "+minuten.toString()+" Min ";}
                               			//var total = getState("system.adapter." + devicenameName + ".memHeapTotal").val;
                               			//var used = getState("system.adapter." + devicenameName + ".memHeapUsed").val;
                               			//var rss = getState("system.adapter." + devicenameName + ".memRss").val;
                               			var connect = getState("system.adapter." + devicenameName + ".alive").val;            
                            
                               			if(connect == false){var con = 0;}
                               			else {                
                               				var con = 1;
                               				var strStatePath = devicenameName + ".info.connection";
                               				if (isState(strStatePath, true)) {
                               					var connectS = getState(devicenameName + ".info.connection").val;
                               					if (connectS == false) {
                               						con = 2;
                               					}                                                                        
                               				} 
                               			}
                               			if(con==1) {on = on + 1}
                               								  
                               		}       
                               		
                               		devicename="Adapter.Adapter"+counter.toString()+".KompletterNameAdapter";
                               		createState(devicename, 'empty', { name: 'Kompletter Name des Adapters', desc: '', type: 'string', role: '',read: true, write: true }); 
                               		setStateDelayed(devicename, devicenameName, 800);
                               		
                               		var contentstring = devicenameName;
                               		var suchstring = /(ical)/g; 
                               		var suchergebnis = suchstring.test( contentstring );
                               		
                               		if (suchergebnis != true) {
                               			var devicename_array = devicenameName.split('.');        
                               			devicenameName = devicename_array[0];
                               		}    
                            
                               		if (devicenameName == "daswetter") {
                               			var bild = "/" + devicenameName + ".admin/" + devicenameName + "com.png";
                               		} else if (suchergebnis != false) {
                               			var devicename_array = devicenameName.split('.');        
                               			var icalName = devicename_array[0];        
                               			var bild = "/" + icalName + ".admin/" + icalName + ".png";
                               		} else {
                               			var bild = "/" + devicenameName + ".admin/" + devicenameName + ".png";
                               		}
                               		
                               		//Alexa2
                               		if (devicenameName == 'alexa2') {var bild = "/" + devicenameName + ".admin/" + "alexa.png";}
                               		//FritzDECT
                               		if (devicenameName == 'fritzdect') {var bild = "/" + devicenameName + ".admin/" + "fritzdect_logo.png";}
                               		//FullyBrowser
                               		if (devicenameName == 'fullybrowser') {var bild = "/" + devicenameName + ".admin/" + "fully.png";}
                               		//HM-Rega
                               		//if (devicenameName == 'hm-rega') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                               		if (devicenameName == 'hm-rega') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                               		//HomeMatic
                               		//if (instanzname == 'hm-rpc.0 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                               		if (instanzname == 'hm-rpc.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                               		//HomeMatic-IP
                               		//if (instanzname == 'hm-rpc.1 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                               		if (instanzname == 'hm-rpc.1 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic_ip.jpg";}
                               		//UPNP
                               		if (devicenameName == 'upnp') {var bild = "/" + devicenameName + ".admin/" + "upnp-discovery.png";}
                                       //Pushover.1
                               		if (instanzname == 'pushover.1 alive') {var bild = "/mihome-vacuum.admin/mihome-vacuum.png";}
                                       //Pushover.2
                               		if (instanzname == 'pushover.2 alive') {var bild = "/daswetter.admin/daswettercom.png";}
                               		
                            
                            
                                       ///////////////////////
                               		//AdapterName anpassen
                                       ////////////////////////
                               		            
                                       //DasWetter
                               		if (instanzname == 'daswetter.0 alive') {devicenameName='DasWetter'; manuell=1}
                               		//DWD
                               		if (instanzname == 'dwd.0 alive') {devicenameName='DWD'; manuell=1}
                               		//HM-REGA
                               		if (instanzname == 'hm-rega.0 alive') {devicenameName='HM-Rega'; manuell=1}			
                               		//HM-RPC.0
                               		if (instanzname == 'hm-rpc.0 alive') {devicenameName='HomeMatic'; manuell=1}
                               		//HM-RPC.1
                               		if (instanzname == 'hm-rpc.1 alive') {devicenameName='HM-IP'; manuell=1}
                               		//MiHome-Vacuum
                               		if (instanzname == 'mihome-vacuum.0 alive') {devicenameName='Nono'; manuell=1}
                               		//Pushover
                               		if (instanzname == 'pushover.0 alive') {devicenameName='Pushover.0'; manuell=1}
                               		if (instanzname == 'pushover.1 alive') {devicenameName='Pushover.1'; manuell=1}
                               		if (instanzname == 'pushover.2 alive') {devicenameName='Pushover.2'; manuell=1}
                               		//Simple-API
                               		if (instanzname == 'simple-api.0 alive') {devicenameName='Simple-API'; manuell=1}
                               		//SNMP.0
                               		if (instanzname == 'snmp.0 alive') {devicenameName='SNMP.0'; manuell=1}
                               		//SNMP.1
                               		if (instanzname == 'snmp.1 alive') {devicenameName='SNMP.1'; manuell=1}
                                       //Spotify
                                       if (instanzname == 'spotify-premium.0 alive') {devicenameName='Spotify'; manuell=1}
                                       //TR-064.0
                               		if (instanzname == 'tr-064.0 alive') {devicenameName='TR-064.0'; manuell=1}
                               		//TR-064.1
                               		if (instanzname == 'tr-064.1 alive') {devicenameName='TR-064.1'; manuell=1}
                                       //XPEnology
                                       if (instanzname == 'synology.1 alive') {devicenameName='XPEnology'; manuell=1}
                               		
                               		
                               		
                               		//Instanz-Namen setzen
                               		if(manuell!=1) {devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();}	
                                       //devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();
                               		devicename="Adapter.Adapter"+counter.toString()+".NameInstanz";
                               		createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                               		setStateDelayed(devicename, devicenameName, 800);
                               		//Bild Pfad setzen
                               		devicename="Adapter.Adapter"+counter.toString()+".Bild";
                               		createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
                               		setStateDelayed(devicename, bild, 800);
                               		//Uptime setzen
                               		devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
                               		createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                               		setStateDelayed(devicename, uptime, 800);
                               		//MemUsed setzen
                               		//devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
                               		//createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
                               		//setStateDelayed(devicename, used, 800);
                               		//MemToal setzen
                               		//devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
                               		//createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
                               		//setStateDelayed(devicename, total, 800);
                               		//MemRSS setzen
                               		//devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
                               		//createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
                               		//setStateDelayed(devicename, rss, 800);
                               		//Connected setzen
                               		devicename="Adapter.Adapter"+counter.toString()+".Connected";          
                               		createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
                               		setStateDelayed(devicename, con, 800);
                               		
                                       //Wert zurücksetzen
                                       var manuell=0
                               	}
                               });
                               
                               //Adaptet Icon Übersicht
                               visstatus="javascript.0.VIS-Status.alle_adapter_gestartet";
                               if(on == counter){setState(visstatus, true);}
                               if(on == counter -1){setState(visstatus, true);}
                               if(on < counter -1){setState(visstatus, false);}
                               
                               
                               setStateDelayed('Adapter.Anzahl', counter, 800);
                            
                               function isState(strStatePath, strict) {
                                   let mSelector;
                                   if (strict) {
                                       mSelector = $('state[id=' + strStatePath + '$]');
                                   } else {
                                       mSelector = $('state[id=' + strStatePath + ']');
                                   }
                                   if (mSelector.length > 0) {
                                       return true;
                                   } else {
                                       return false;
                                   }
                               }  
                            }); 
                            
                            on({id:"javascript.0.Adapter.AdapterNummer", change: 'any'}, function (dpobj) {
                               if (getState("javascript.0.Adapter.AdapterNummer").val != 0) {        
                                   const instanz = "javascript." + instance;
                                   var adapterNummer = getState(instanz + ".Adapter.AdapterNummer").val;
                                   var adapter = getState(instanz + ".Adapter.Adapter" + adapterNummer + ".KompletterNameAdapter").val; // Name und Instanz des Adapters 
                                   var idAdapter = "system.adapter." + adapter;
                                   
                                   var obj = getObject(idAdapter);
                                   if (dpobj.state.val == false) {
                                       obj.common.enabled = true;  // Adapter einschalten
                                   } else if (dpobj.state.val == true) {
                                       obj.common.enabled = false;  // Adapter ausschalten
                                   }
                                   setObject(idAdapter, obj);
                                   setStateDelayed('javascript.0.Adapter.AdapterNummer', 0, 800);        
                               }
                            });   
                            

                            C M I 4 Antworten Letzte Antwort
                            -2
                            • K Kuddel

                              @marhal das ist meine aktuelle Version:

                              // Liest die ioBroker Adapter aus und legt verschiedenen State's an.
                              
                              //on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
                              on({id:"system.adapter.admin.0.uptime",change:'any'}, function (obj) {
                                 createState('Adapter.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Adapter', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });
                                 createState('Adapter.AdapterNummer', 0, { name: 'Adapter zum schalten', desc: 'Adapter zum schalten', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true });    
                                 //var counterAlt = getState("javascript.0.Adapter.Anzahl").val;
                                 var counter =0;
                                 var on = 0
                                 var manuell=0	
                              
                                 var cacheSelector = $('[id=system.adapter.*.alive]');    
                                 cacheSelector.each(function(id, i) {        
                                     var devicename = getObject(id).common.name; 
                                 	
                                 	//Instanzen ausklammern
                                 	instanz0 = devicename.indexOf('daswetter');
                                 	instanz1 = devicename.indexOf('dwd');
                                     instanz2 = devicename.indexOf('ical');
                                 	instanz3 = devicename.indexOf('feiertage');
                                 	instanz4 = devicename.indexOf('snmp.1');
                                     instanz5 = devicename.indexOf('vis.0');
                                     instanz6 = devicename.indexOf('yamaha.0');
                                 	if(instanz0 !=0 && instanz1 != 0 && instanz2 !=0 && instanz3 != 0 && instanz4 != 0 && instanz5 !=0 && instanz6 !=0){
                                 	
                                 		var devicenameName=devicename;
                                 		var instanzname=getObject(id).common.name;
                                 		var test = devicenameName;
                                 		var devicename_array = devicenameName.split(' ');        
                                 		devicenameName = devicename_array[0];
                                 		counter = counter+1; 
                                 			
                                 		var strStatePath = "system.adapter." + devicenameName + ".alive";
                                 		if (isState(strStatePath, true)) {
                                 			var uptime = getState("system.adapter." + devicenameName + ".uptime").val;
                                 			var tage = Math.floor(uptime / (24*3600));
                                 			var stunden = Math.floor((uptime % (24*3600))/3600);
                                 			var minuten = Math.floor((uptime % (3600))/60);
                                 			//var sekunden = Math.floor(uptime % 60);      
                                 			if (stunden < 10) {stunden = "0"+stunden};
                                             if (minuten < 10) {minuten = "0"+minuten};				
                                 			if (tage == 1) {uptime = tage.toString()+" Tag, "+stunden.toString()+" Std, "+minuten.toString()+" Min ";};
                                 			if (tage != 1) {uptime = tage.toString()+" Tage, "+stunden.toString()+" Std, "+minuten.toString()+" Min ";}
                                 			//var total = getState("system.adapter." + devicenameName + ".memHeapTotal").val;
                                 			//var used = getState("system.adapter." + devicenameName + ".memHeapUsed").val;
                                 			//var rss = getState("system.adapter." + devicenameName + ".memRss").val;
                                 			var connect = getState("system.adapter." + devicenameName + ".alive").val;            
                              
                                 			if(connect == false){var con = 0;}
                                 			else {                
                                 				var con = 1;
                                 				var strStatePath = devicenameName + ".info.connection";
                                 				if (isState(strStatePath, true)) {
                                 					var connectS = getState(devicenameName + ".info.connection").val;
                                 					if (connectS == false) {
                                 						con = 2;
                                 					}                                                                        
                                 				} 
                                 			}
                                 			if(con==1) {on = on + 1}
                                 								  
                                 		}       
                                 		
                                 		devicename="Adapter.Adapter"+counter.toString()+".KompletterNameAdapter";
                                 		createState(devicename, 'empty', { name: 'Kompletter Name des Adapters', desc: '', type: 'string', role: '',read: true, write: true }); 
                                 		setStateDelayed(devicename, devicenameName, 800);
                                 		
                                 		var contentstring = devicenameName;
                                 		var suchstring = /(ical)/g; 
                                 		var suchergebnis = suchstring.test( contentstring );
                                 		
                                 		if (suchergebnis != true) {
                                 			var devicename_array = devicenameName.split('.');        
                                 			devicenameName = devicename_array[0];
                                 		}    
                              
                                 		if (devicenameName == "daswetter") {
                                 			var bild = "/" + devicenameName + ".admin/" + devicenameName + "com.png";
                                 		} else if (suchergebnis != false) {
                                 			var devicename_array = devicenameName.split('.');        
                                 			var icalName = devicename_array[0];        
                                 			var bild = "/" + icalName + ".admin/" + icalName + ".png";
                                 		} else {
                                 			var bild = "/" + devicenameName + ".admin/" + devicenameName + ".png";
                                 		}
                                 		
                                 		//Alexa2
                                 		if (devicenameName == 'alexa2') {var bild = "/" + devicenameName + ".admin/" + "alexa.png";}
                                 		//FritzDECT
                                 		if (devicenameName == 'fritzdect') {var bild = "/" + devicenameName + ".admin/" + "fritzdect_logo.png";}
                                 		//FullyBrowser
                                 		if (devicenameName == 'fullybrowser') {var bild = "/" + devicenameName + ".admin/" + "fully.png";}
                                 		//HM-Rega
                                 		//if (devicenameName == 'hm-rega') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                 		if (devicenameName == 'hm-rega') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                                 		//HomeMatic
                                 		//if (instanzname == 'hm-rpc.0 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                 		if (instanzname == 'hm-rpc.0 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic.gif";}
                                 		//HomeMatic-IP
                                 		//if (instanzname == 'hm-rpc.1 alive') {var bild = "/" + devicenameName + ".admin/" + "homematic.png";}
                                 		if (instanzname == 'hm-rpc.1 alive') {var bild = "/vis.0/VIS/Meine_Icons/Adapter_Icons/homematic_ip.jpg";}
                                 		//UPNP
                                 		if (devicenameName == 'upnp') {var bild = "/" + devicenameName + ".admin/" + "upnp-discovery.png";}
                                         //Pushover.1
                                 		if (instanzname == 'pushover.1 alive') {var bild = "/mihome-vacuum.admin/mihome-vacuum.png";}
                                         //Pushover.2
                                 		if (instanzname == 'pushover.2 alive') {var bild = "/daswetter.admin/daswettercom.png";}
                                 		
                              
                              
                                         ///////////////////////
                                 		//AdapterName anpassen
                                         ////////////////////////
                                 		            
                                         //DasWetter
                                 		if (instanzname == 'daswetter.0 alive') {devicenameName='DasWetter'; manuell=1}
                                 		//DWD
                                 		if (instanzname == 'dwd.0 alive') {devicenameName='DWD'; manuell=1}
                                 		//HM-REGA
                                 		if (instanzname == 'hm-rega.0 alive') {devicenameName='HM-Rega'; manuell=1}			
                                 		//HM-RPC.0
                                 		if (instanzname == 'hm-rpc.0 alive') {devicenameName='HomeMatic'; manuell=1}
                                 		//HM-RPC.1
                                 		if (instanzname == 'hm-rpc.1 alive') {devicenameName='HM-IP'; manuell=1}
                                 		//MiHome-Vacuum
                                 		if (instanzname == 'mihome-vacuum.0 alive') {devicenameName='Nono'; manuell=1}
                                 		//Pushover
                                 		if (instanzname == 'pushover.0 alive') {devicenameName='Pushover.0'; manuell=1}
                                 		if (instanzname == 'pushover.1 alive') {devicenameName='Pushover.1'; manuell=1}
                                 		if (instanzname == 'pushover.2 alive') {devicenameName='Pushover.2'; manuell=1}
                                 		//Simple-API
                                 		if (instanzname == 'simple-api.0 alive') {devicenameName='Simple-API'; manuell=1}
                                 		//SNMP.0
                                 		if (instanzname == 'snmp.0 alive') {devicenameName='SNMP.0'; manuell=1}
                                 		//SNMP.1
                                 		if (instanzname == 'snmp.1 alive') {devicenameName='SNMP.1'; manuell=1}
                                         //Spotify
                                         if (instanzname == 'spotify-premium.0 alive') {devicenameName='Spotify'; manuell=1}
                                         //TR-064.0
                                 		if (instanzname == 'tr-064.0 alive') {devicenameName='TR-064.0'; manuell=1}
                                 		//TR-064.1
                                 		if (instanzname == 'tr-064.1 alive') {devicenameName='TR-064.1'; manuell=1}
                                         //XPEnology
                                         if (instanzname == 'synology.1 alive') {devicenameName='XPEnology'; manuell=1}
                                 		
                                 		
                                 		
                                 		//Instanz-Namen setzen
                                 		if(manuell!=1) {devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();}	
                                         //devicenameName = devicenameName.substring(0, 1).toUpperCase() + devicenameName.substring(1).toLowerCase();
                                 		devicename="Adapter.Adapter"+counter.toString()+".NameInstanz";
                                 		createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); 
                                 		setStateDelayed(devicename, devicenameName, 800);
                                 		//Bild Pfad setzen
                                 		devicename="Adapter.Adapter"+counter.toString()+".Bild";
                                 		createState(devicename, 'empty', { name: 'Speicherort Bild', desc: '', type: 'string', role: '',read: true, write: true });
                                 		setStateDelayed(devicename, bild, 800);
                                 		//Uptime setzen
                                 		devicename="Adapter.Adapter"+counter.toString()+".Uptime";          
                                 		createState(devicename, 'empty', { name: 'Uptime', desc: '', type: 'string', role: '',read: true, write: true });
                                 		setStateDelayed(devicename, uptime, 800);
                                 		//MemUsed setzen
                                 		//devicename="Adapter.Adapter"+counter.toString()+".MemUsed";          
                                 		//createState(devicename, 0, { name: 'Link MemUsed', desc: '', type: 'number', role: '',read: true, write: true });
                                 		//setStateDelayed(devicename, used, 800);
                                 		//MemToal setzen
                                 		//devicename="Adapter.Adapter"+counter.toString()+".MemTotal";          
                                 		//createState(devicename, 0, { name: 'Link MemTotal', desc: '', type: 'number', role: '',read: true, write: true });
                                 		//setStateDelayed(devicename, total, 800);
                                 		//MemRSS setzen
                                 		//devicename="Adapter.Adapter"+counter.toString()+".MemRSS";          
                                 		//createState(devicename, 0, { name: 'Link MemRSS', desc: '', type: 'number', role: '',read: true, write: true });
                                 		//setStateDelayed(devicename, rss, 800);
                                 		//Connected setzen
                                 		devicename="Adapter.Adapter"+counter.toString()+".Connected";          
                                 		createState(devicename, 0, { name: 'Status Adapter', desc: '', type: 'number', role: '',read: true, write: true });
                                 		setStateDelayed(devicename, con, 800);
                                 		
                                         //Wert zurücksetzen
                                         var manuell=0
                                 	}
                                 });
                                 
                                 //Adaptet Icon Übersicht
                                 visstatus="javascript.0.VIS-Status.alle_adapter_gestartet";
                                 if(on == counter){setState(visstatus, true);}
                                 if(on == counter -1){setState(visstatus, true);}
                                 if(on < counter -1){setState(visstatus, false);}
                                 
                                 
                                 setStateDelayed('Adapter.Anzahl', counter, 800);
                              
                                 function isState(strStatePath, strict) {
                                     let mSelector;
                                     if (strict) {
                                         mSelector = $('state[id=' + strStatePath + '$]');
                                     } else {
                                         mSelector = $('state[id=' + strStatePath + ']');
                                     }
                                     if (mSelector.length > 0) {
                                         return true;
                                     } else {
                                         return false;
                                     }
                                 }  
                              }); 
                              
                              on({id:"javascript.0.Adapter.AdapterNummer", change: 'any'}, function (dpobj) {
                                 if (getState("javascript.0.Adapter.AdapterNummer").val != 0) {        
                                     const instanz = "javascript." + instance;
                                     var adapterNummer = getState(instanz + ".Adapter.AdapterNummer").val;
                                     var adapter = getState(instanz + ".Adapter.Adapter" + adapterNummer + ".KompletterNameAdapter").val; // Name und Instanz des Adapters 
                                     var idAdapter = "system.adapter." + adapter;
                                     
                                     var obj = getObject(idAdapter);
                                     if (dpobj.state.val == false) {
                                         obj.common.enabled = true;  // Adapter einschalten
                                     } else if (dpobj.state.val == true) {
                                         obj.common.enabled = false;  // Adapter ausschalten
                                     }
                                     setObject(idAdapter, obj);
                                     setStateDelayed('javascript.0.Adapter.AdapterNummer', 0, 800);        
                                 }
                              });   
                              

                              C Offline
                              C Offline
                              ChrisXY
                              schrieb am zuletzt editiert von
                              #366

                              @Kuddel hast du zufällig vom Nono ein Update mit der Room funktion ?

                              K 1 Antwort Letzte Antwort
                              0
                              • C ChrisXY

                                @Kuddel hast du zufällig vom Nono ein Update mit der Room funktion ?

                                K Online
                                K Online
                                Kuddel
                                schrieb am zuletzt editiert von
                                #367

                                @ChrisXY ne habe ich mich bis jetzt noch nicht wieder mit beschäftigt

                                1 Antwort Letzte Antwort
                                0
                                • SlowmanS Offline
                                  SlowmanS Offline
                                  Slowman
                                  schrieb am zuletzt editiert von Slowman
                                  #368

                                  erledigt

                                  1 Antwort Letzte Antwort
                                  0
                                  • BluelinuxB Offline
                                    BluelinuxB Offline
                                    Bluelinux
                                    schrieb am zuletzt editiert von
                                    #369

                                    Halli Hallo Ihr leiben,

                                    erst einmal allen einen schönen Nikolaus und 2. Advent. Ich hoffe mir kann hier jemand helfen, denn ich habe ein Problem mit dem Menü in meiner VIS. Im VIS-Editor Materialdesign - Top App Bar fehlt der reiter Untermenü wie kommt das?? Habe das System gewechselt und seid dem ist das. Hat jemand eine Ahnung wo das Problem ist? Anbei ist noch ein Bild vom VIS-Editor.

                                    Material kein untermenü.PNG

                                    Das ganze hat zufolge, dass ich die Seiten nicht wechseln kann.

                                    Grüße und vielen Dank

                                    1 Antwort Letzte Antwort
                                    0
                                    • Holger EtzelH Offline
                                      Holger EtzelH Offline
                                      Holger Etzel
                                      schrieb am zuletzt editiert von
                                      #370

                                      Hallo Kuddel,
                                      schone Arbeit, gefällt mir sehr gut.
                                      Habe mir die VIS für den Saugroboter geklaut und die Skripte installiert,
                                      hier mal eine blöde Frage zum Blockly.
                                      Bei den Zonen sind 5-Stellige Zahlen in den Variablen definiert, wo kommen diese her?
                                      "app_zoned-clean [.............."
                                      Irgendwie stehe ich auf dem Schlauch, oder kapiere das nicht.

                                      Kannst du das etwas erklären, danke schon mal im vorraus.

                                      LG
                                      Holger

                                      BluelinuxB 1 Antwort Letzte Antwort
                                      0
                                      • Holger EtzelH Holger Etzel

                                        Hallo Kuddel,
                                        schone Arbeit, gefällt mir sehr gut.
                                        Habe mir die VIS für den Saugroboter geklaut und die Skripte installiert,
                                        hier mal eine blöde Frage zum Blockly.
                                        Bei den Zonen sind 5-Stellige Zahlen in den Variablen definiert, wo kommen diese her?
                                        "app_zoned-clean [.............."
                                        Irgendwie stehe ich auf dem Schlauch, oder kapiere das nicht.

                                        Kannst du das etwas erklären, danke schon mal im vorraus.

                                        LG
                                        Holger

                                        BluelinuxB Offline
                                        BluelinuxB Offline
                                        Bluelinux
                                        schrieb am zuletzt editiert von
                                        #371

                                        @Holger-Etzel hi hi ich bin zwar nich Kuddel aber ich habe das auch versucht zu lösen. Die Koordinaten habe ich mir mit einer APP namens : FloleVac ausgelesen. Dort kann man die Stellen (Räume) in der Karte makieren und somit die daten auslesen, ABER..... offensichtlich dreht sich die Grundkarte immer mal wieder was bedeutet, das deine Koordinaten um 90° oder 180° oder 270° verdreht sind. Deswegen funktioniert die Zonenreinigung bei MIR leider nicht. Um es mal noch Plumper auszudrücken.... angenommen deine Karte wäre immer richtung Norden ausgerichtet würde es klappen aber die ist halt mal nach osten süden oder westen ausgerichtet. Ich hoffe ich konnte es ein wenig erklären

                                        Grüße

                                        Holger EtzelH 1 Antwort Letzte Antwort
                                        0
                                        • BluelinuxB Bluelinux

                                          @Holger-Etzel hi hi ich bin zwar nich Kuddel aber ich habe das auch versucht zu lösen. Die Koordinaten habe ich mir mit einer APP namens : FloleVac ausgelesen. Dort kann man die Stellen (Räume) in der Karte makieren und somit die daten auslesen, ABER..... offensichtlich dreht sich die Grundkarte immer mal wieder was bedeutet, das deine Koordinaten um 90° oder 180° oder 270° verdreht sind. Deswegen funktioniert die Zonenreinigung bei MIR leider nicht. Um es mal noch Plumper auszudrücken.... angenommen deine Karte wäre immer richtung Norden ausgerichtet würde es klappen aber die ist halt mal nach osten süden oder westen ausgerichtet. Ich hoffe ich konnte es ein wenig erklären

                                          Grüße

                                          Holger EtzelH Offline
                                          Holger EtzelH Offline
                                          Holger Etzel
                                          schrieb am zuletzt editiert von
                                          #372

                                          @Bluelinux wie kommt man dann an die Koordinaten? kann die Zonen markieren und wie geht es dann weiter?

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          702

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe