Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. [Vorstellung] Meine zweite Visualisierung

NEWS

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

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

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

[Vorstellung] Meine zweite Visualisierung

Scheduled Pinned Locked Moved Visualisierung
vistemplate
1.3k Posts 148 Posters 550.4k Views 157 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    Kuddel
    wrote on last edited by Kuddel
    #652

    An alle, die meine Skripte importiert haben und aktiv verwenden:

    Bitte ändert die Mail-Empfangsadressen.

    Ich bekomme permanent Mails bzgl. Adapter Updates oder Infos vom Staubsauger.

    Was aber noch schlimmer ist, dass ich Mails erhalte, mit der Infos, dass die JavaSkript Instanz neu gestartet ist.

    Es hat Tage gedauert, bis ich gemerkt habe, dass die Mails nicht aus meinem System kommen.

    Danke

    ? GlasfaserG 2 Replies Last reply
    0
    • K Kuddel

      An alle, die meine Skripte importiert haben und aktiv verwenden:

      Bitte ändert die Mail-Empfangsadressen.

      Ich bekomme permanent Mails bzgl. Adapter Updates oder Infos vom Staubsauger.

      Was aber noch schlimmer ist, dass ich Mails erhalte, mit der Infos, dass die JavaSkript Instanz neu gestartet ist.

      Es hat Tage gedauert, bis ich gemerkt habe, dass die Mails nicht aus meinem System kommen.

      Danke

      ? Offline
      ? Offline
      A Former User
      wrote on last edited by
      #653

      @Kuddel

      Hallo Kuddel,

      Respekt vor der Arbeit. Meiner +1 gefällt insbesondere die TV-Darstellung; ich habe Deine views importiert, bekomme die view aber nicht ans laufen. Welche Daten liegen dahinter, was muss ich tun?

      Dank Dir,

      Frank

      GlasfaserG 1 Reply Last reply
      0
      • K Kuddel

        An alle, die meine Skripte importiert haben und aktiv verwenden:

        Bitte ändert die Mail-Empfangsadressen.

        Ich bekomme permanent Mails bzgl. Adapter Updates oder Infos vom Staubsauger.

        Was aber noch schlimmer ist, dass ich Mails erhalte, mit der Infos, dass die JavaSkript Instanz neu gestartet ist.

        Es hat Tage gedauert, bis ich gemerkt habe, dass die Mails nicht aus meinem System kommen.

        Danke

        GlasfaserG Offline
        GlasfaserG Offline
        Glasfaser
        wrote on last edited by
        #654

        @Kuddel sagte in [Vorstellung] Meine zweite Visualisierung:

        An alle, die meine Skripte importiert haben und aktiv verwenden:

        Bitte ändert die Mail-Empfangsadressen.

        Ich bekomme permanent Mails bzgl. Adapter Updates oder Infos vom Staubsauger.

        Was aber noch schlimmer ist, dass ich Mails erhalte, mit der Infos, dass die JavaSkript Instanz neu gestartet ist.

        @Kuddel

        Wäre es nicht sicherer dein Skript im 1 Post daraufhin zu ändern ,
        damit es nicht weiter passiert ,
        da nicht alle deinen Hinweis im Beitrag 653 lesen bzw. neue User es mitbekommen :exclamation:

        1.JPG

        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

        K 1 Reply Last reply
        0
        • ? A Former User

          @Kuddel

          Hallo Kuddel,

          Respekt vor der Arbeit. Meiner +1 gefällt insbesondere die TV-Darstellung; ich habe Deine views importiert, bekomme die view aber nicht ans laufen. Welche Daten liegen dahinter, was muss ich tun?

          Dank Dir,

          Frank

          GlasfaserG Offline
          GlasfaserG Offline
          Glasfaser
          wrote on last edited by
          #655

          @FrankDCE

          Du musst hier deine IP von der Dreambox / VU Box oder was du hast eintragen und natürlich in der Box den Zugriff erlauben .

          1.JPG

          Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

          ? 1 Reply Last reply
          0
          • GlasfaserG Glasfaser

            @FrankDCE

            Du musst hier deine IP von der Dreambox / VU Box oder was du hast eintragen und natürlich in der Box den Zugriff erlauben .

            1.JPG

            ? Offline
            ? Offline
            A Former User
            wrote on last edited by
            #656

            @Glasfaser

            Hallo,

            danke, habe ich nicht, fällt somit aus ;-)

            1 Reply Last reply
            0
            • GlasfaserG Glasfaser

              @Kuddel sagte in [Vorstellung] Meine zweite Visualisierung:

              An alle, die meine Skripte importiert haben und aktiv verwenden:

              Bitte ändert die Mail-Empfangsadressen.

              Ich bekomme permanent Mails bzgl. Adapter Updates oder Infos vom Staubsauger.

              Was aber noch schlimmer ist, dass ich Mails erhalte, mit der Infos, dass die JavaSkript Instanz neu gestartet ist.

              @Kuddel

              Wäre es nicht sicherer dein Skript im 1 Post daraufhin zu ändern ,
              damit es nicht weiter passiert ,
              da nicht alle deinen Hinweis im Beitrag 653 lesen bzw. neue User es mitbekommen :exclamation:

              1.JPG

              K Offline
              K Offline
              Kuddel
              wrote on last edited by Kuddel
              #657

              @Glasfaser da hast du natürlich recht.

              Bin erst seit heute morgen aus dem Urlaub zurück und werde nächste Woche eine neue Version von meinen Skripten hochladen.

              Habe vor in allen Skripten die eingetragenen Adressen durch Variablen zu ersetzen.

              GlasfaserG 1 Reply Last reply
              0
              • K Kuddel

                @Glasfaser da hast du natürlich recht.

                Bin erst seit heute morgen aus dem Urlaub zurück und werde nächste Woche eine neue Version von meinen Skripten hochladen.

                Habe vor in allen Skripten die eingetragenen Adressen durch Variablen zu ersetzen.

                GlasfaserG Offline
                GlasfaserG Offline
                Glasfaser
                wrote on last edited by
                #658

                @Kuddel

                Dann würde ich es lieber raus nehmen oder wenn du es lassen willst , neben dem Link einen Hinweis schreiben !!!

                Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                K 1 Reply Last reply
                0
                • GlasfaserG Glasfaser

                  @Kuddel

                  Dann würde ich es lieber raus nehmen oder wenn du es lassen willst , neben dem Link einen Hinweis schreiben !!!

                  K Offline
                  K Offline
                  Kuddel
                  wrote on last edited by
                  #659

                  @Glasfaser der Hinweis steht darunter.

                  Muss ich nochmal fett und rot machen ^^

                  GlasfaserG 1 Reply Last reply
                  0
                  • K Kuddel

                    @Glasfaser der Hinweis steht darunter.

                    Muss ich nochmal fett und rot machen ^^

                    GlasfaserG Offline
                    GlasfaserG Offline
                    Glasfaser
                    wrote on last edited by Glasfaser
                    #660

                    @Kuddel

                    Stimmt :grinning:

                    1.JPG

                    Aber wer liest schon die Beschreibung richtig durch :sunglasses:

                    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                    1 Reply Last reply
                    0
                    • K Kuddel

                      @djsirius gucke mal auf Seite 1, im Skriptexport müsste das bei sein.
                      Bin gerade im Urlaub und kann daher nichts hochladen

                      Den Controller Werte ich per consolen Befehl aus.
                      Das Ganze dann in einem Bash Skript welches per Crontab auf der Ubuntu VM läuft.

                      Kann ich nach meinem Urlaub posten.

                      D Offline
                      D Offline
                      djsirius
                      wrote on last edited by djsirius
                      #661

                      @Kuddel said in [Vorstellung] Meine zweite Visualisierung:

                      @djsirius gucke mal auf Seite 1, im Skriptexport müsste das bei sein.
                      Bin gerade im Urlaub und kann daher nichts hochladen

                      Den Controller Werte ich per consolen Befehl aus.
                      Das Ganze dann in einem Bash Skript welches per Crontab auf der Ubuntu VM läuft.

                      Kann ich nach meinem Urlaub posten.

                      Hi Kuddel,

                      kannst du mal bitte alle deine Bash Skripte zur Verfügung stellen? Das wäre MEGA!!!

                      Vielen Dank!

                      Gruß

                      djsirius

                      K 1 Reply Last reply
                      0
                      • D djsirius

                        @Kuddel said in [Vorstellung] Meine zweite Visualisierung:

                        @djsirius gucke mal auf Seite 1, im Skriptexport müsste das bei sein.
                        Bin gerade im Urlaub und kann daher nichts hochladen

                        Den Controller Werte ich per consolen Befehl aus.
                        Das Ganze dann in einem Bash Skript welches per Crontab auf der Ubuntu VM läuft.

                        Kann ich nach meinem Urlaub posten.

                        Hi Kuddel,

                        kannst du mal bitte alle deine Bash Skripte zur Verfügung stellen? Das wäre MEGA!!!

                        Vielen Dank!

                        K Offline
                        K Offline
                        Kuddel
                        wrote on last edited by
                        #662

                        @djsirius

                        Bash Skript Versionen:

                        #ioBroker Version
                        iobroker=$(iobroker version)
                        iobroker state set javascript.0.Versionen.JS-Controller $iobroker
                        
                        #Node Version
                        node=$(node -v)
                        iobroker state set javascript.0.Versionen.Node $node
                        
                        #Nodejs Version
                        nodejs=$(nodejs -v)
                        iobroker state set javascript.0.Versionen.NodeJS $nodejs
                        
                        #NPM Version
                        npm=$(npm -v)
                        iobroker state set javascript.0.Versionen.NPM $npm
                        
                        
                        

                        1 Reply Last reply
                        0
                        • mgt1111M Offline
                          mgt1111M Offline
                          mgt1111
                          wrote on last edited by
                          #663

                          Bin Neuling in Sachen íoBroker

                          Könnt ihr mir bitte sagen welche beiden vis Dateien es sein müssen
                          🙈

                          1 Reply Last reply
                          0
                          • D Offline
                            D Offline
                            David16
                            wrote on last edited by
                            #664

                            Hi @Kuddel,

                            habe leider seit einigen Tagen, vermutlich durch Updates Probleme mit meiner Javascript Instanz. Habe dein Projekt für mich übernommen.

                            Weißt du an was es hängen könnte? -- Komme leider nicht weiter...
                            Soweit wie ich es sehe hängt es mit dem Tag/Nacht Skript zusammen. Hattest du hier nicht schonmal mit Problemen zu kämpfen?

                            IMG_20190922_220534.png

                            javascript.0	2019-09-22 21:34:56.112	error	at Timer.listOnTimeout (timers.js:290:5)
                            javascript.0	2019-09-22 21:34:56.112	error	at tryOnTimeout (timers.js:323:5)
                            javascript.0	2019-09-22 21:34:56.112	error	at ontimeout (timers.js:511:34)
                            javascript.0	2019-09-22 21:34:56.112	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1888:34)
                            javascript.0	2019-09-22 21:34:56.111	error	at Object.<anonymous> (script.js.smarthome.rolladen.rolladen_tag_nacht:75:86)
                            javascript.0	2019-09-22 21:34:56.111	error	Error in callback: TypeError: getState(...).val.trim is not a function
                            javascript.0	2019-09-22 21:34:56.108	error	at Timer.listOnTimeout (timers.js:290:5)
                            javascript.0	2019-09-22 21:34:56.108	error	at tryOnTimeout (timers.js:323:5)
                            javascript.0	2019-09-22 21:34:56.108	error	at ontimeout (timers.js:511:34)
                            javascript.0	2019-09-22 21:34:56.108	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1888:34)
                            javascript.0	2019-09-22 21:34:56.108	error	at Object.<anonymous> (script.js.smarthome.rolladen.rolladen_tag_nacht:11:84)
                            javascript.0	2019-09-22 21:34:56.107	error	Error in callback: TypeError: getState(...).val.trim is not a function
                            javascript.0	2019-09-22 21:34:54.928	info	script.js.smarthome.system.uptime_v0_2_dav: registered 1 subscription and 3 schedules
                            

                            Vermutlich steigt dadurch meine Javascript Instanz immer aus, sprich die wird rot.
                            Meine Rollos fahren dadurch auch nicht immer hoch bzw. Runter.

                            Zusätzlich gibt es noch folgende Meldung

                            javascript.0	2019-09-22 21:52:49.785	warn	Reconnection to DB.
                            javascript.0	2019-09-22 21:52:49.783	warn	Reconnection to DB.
                            
                            

                            Keine Ahnung was das bedeuten soll?! - Ich hoffe du kannst mir helfen. Ich weiß leider nicht mehr weiter...

                            K D 2 Replies Last reply
                            0
                            • D David16

                              Hi @Kuddel,

                              habe leider seit einigen Tagen, vermutlich durch Updates Probleme mit meiner Javascript Instanz. Habe dein Projekt für mich übernommen.

                              Weißt du an was es hängen könnte? -- Komme leider nicht weiter...
                              Soweit wie ich es sehe hängt es mit dem Tag/Nacht Skript zusammen. Hattest du hier nicht schonmal mit Problemen zu kämpfen?

                              IMG_20190922_220534.png

                              javascript.0	2019-09-22 21:34:56.112	error	at Timer.listOnTimeout (timers.js:290:5)
                              javascript.0	2019-09-22 21:34:56.112	error	at tryOnTimeout (timers.js:323:5)
                              javascript.0	2019-09-22 21:34:56.112	error	at ontimeout (timers.js:511:34)
                              javascript.0	2019-09-22 21:34:56.112	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1888:34)
                              javascript.0	2019-09-22 21:34:56.111	error	at Object.<anonymous> (script.js.smarthome.rolladen.rolladen_tag_nacht:75:86)
                              javascript.0	2019-09-22 21:34:56.111	error	Error in callback: TypeError: getState(...).val.trim is not a function
                              javascript.0	2019-09-22 21:34:56.108	error	at Timer.listOnTimeout (timers.js:290:5)
                              javascript.0	2019-09-22 21:34:56.108	error	at tryOnTimeout (timers.js:323:5)
                              javascript.0	2019-09-22 21:34:56.108	error	at ontimeout (timers.js:511:34)
                              javascript.0	2019-09-22 21:34:56.108	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1888:34)
                              javascript.0	2019-09-22 21:34:56.108	error	at Object.<anonymous> (script.js.smarthome.rolladen.rolladen_tag_nacht:11:84)
                              javascript.0	2019-09-22 21:34:56.107	error	Error in callback: TypeError: getState(...).val.trim is not a function
                              javascript.0	2019-09-22 21:34:54.928	info	script.js.smarthome.system.uptime_v0_2_dav: registered 1 subscription and 3 schedules
                              

                              Vermutlich steigt dadurch meine Javascript Instanz immer aus, sprich die wird rot.
                              Meine Rollos fahren dadurch auch nicht immer hoch bzw. Runter.

                              Zusätzlich gibt es noch folgende Meldung

                              javascript.0	2019-09-22 21:52:49.785	warn	Reconnection to DB.
                              javascript.0	2019-09-22 21:52:49.783	warn	Reconnection to DB.
                              
                              

                              Keine Ahnung was das bedeuten soll?! - Ich hoffe du kannst mir helfen. Ich weiß leider nicht mehr weiter...

                              K Offline
                              K Offline
                              Kuddel
                              wrote on last edited by
                              #665

                              @David16 das Problem ist wohl irgendwie der Schedule-Block.

                              60ff1470-2744-4917-96cc-d8362d104925-grafik.png

                              Warum da aber was mit "trim" steht weiß ich nicht.

                              Trim bedeutet ja eig kürzen....

                              Ich verwende den Javascript-Adapter in der Version 4.1.12

                              D 1 Reply Last reply
                              1
                              • K Kuddel

                                @David16 das Problem ist wohl irgendwie der Schedule-Block.

                                60ff1470-2744-4917-96cc-d8362d104925-grafik.png

                                Warum da aber was mit "trim" steht weiß ich nicht.

                                Trim bedeutet ja eig kürzen....

                                Ich verwende den Javascript-Adapter in der Version 4.1.12

                                D Offline
                                D Offline
                                David16
                                wrote on last edited by
                                #666

                                @Kuddel
                                OK danke, ich schaue Mal welche Version ich verwende.

                                1 Reply Last reply
                                0
                                • D Offline
                                  D Offline
                                  David16
                                  wrote on last edited by
                                  #667

                                  @Kuddel

                                  Also meine Version ist 4.1.16.

                                  Ansonsten passen die Versionen soweit auch:
                                  b1d2b5b0-c9ad-4e5a-b5cd-e13ff3a6e2e9-image.png

                                  Ich habe gestern Abend aber mal den iobroker komplett neu gestartet. Die Adapter leuchtet jetzt "grün". In den Logs sind auch keine Fehlermeldung mehr zu erkennen. - Keine Ahnung an was es gelegen haben soll.

                                  In der VIS ist die Rollo-Steuerung und Astro-Steuerung auch wieder da und die Rollos sind auch um 19:45 heruntergefahren:

                                  895ab94f-66a9-425b-8d0c-cb09477a31f6-image.png

                                  Ich beobachte das mal die nächsten Tage intensiv und berichte dann. - Dir vielen Dank für drüber schauen!:+1:

                                  D 2 Replies Last reply
                                  0
                                  • K Kuddel

                                    Nachdem ich mit der ersten Version meiner VIS nicht mehr zufreiden war, hab ich mich daran gemacht, alles einmal komplett neu zu machem.

                                    Die Seiten sind alle fpr mein Galaxy Tab A erstellt worden.

                                    Vielen Dank an @Annuit20 , der ebenfalls seine komplette VIS zur Verfügung gestellt hat. An dieser konnte ich mich orientieren und mir einige Ideen abgucken.

                                    Ich denke so richtig fertig ist man ja nie, aber ein Bisschen habe ich schon geschafft….

                                    1_Startseite.PNG

                                    2_Erdgeschoss_Seite_1.PNG

                                    2_Erdgeschoss_Seite_1.1.PNG

                                    2_Erdgeschoss_Seite_1.2.PNG

                                    2_Erdgeschoss_Seite_2.PNG

                                    3_Obergeschoss.PNG

                                    4_Wetter.PNG

                                    4_Wetter_regenradar.PNG

                                    5_System.PNG

                                    5_System_1_ioBroker.PNG

                                    5_System_2_ioBroker.PNG

                                    5_System_3_CCU.PNG

                                    5_System_4_Bewaesserung.PNG

                                    5_System_5_VU.PNG

                                    5_System_6_ESX-NUC.PNG

                                    5_System_7_NUT-Server.PNG

                                    5_System_8_USV.PNG

                                    5_System_9_Daniel.PNG

                                    5_System_10_Win10.PNG

                                    5_System_11_Unifi.PNG

                                    5_System_12_OMV.PNG

                                    5_System_13_WinNAS.PNG

                                    6_Logs.PNG

                                    7_ioBroker.PNG

                                    8_CCU.PNG

                                    9_Netzwerk.PNG

                                    10_Staubsauger.PNG

                                    11_Spritpreise.PNG

                                    12_1_Echo_Geräte.PNG

                                    12_2_Echo_Gruppen.PNG

                                    12_VMware.PNG

                                    13_TV.PNG

                                    14_Kodi+.PNG

                                    Damit alles korrekt dargestellt wird, müssen folgende Widgets installiert sein:
                                    widgtes.PNG

                                    Für die Icons wird des Weiteren der Adapter "icons-mfd-png" benötigt.

                                    Skripte

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

                                    Hier sind alle meine Skirpte als komplett Export aus der Scriptengine

                                    2020-03-17-scripts.zip

                                    Danke an @Kaiman55 für den Test-Import.

                                    Anleitung Skript 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 zusamfenühren
                                    4. Import des neu erstellten Archis

                                    VIS-Export 06.11.19:

                                    2019-11-06-VIS.zip

                                    Hier meine Icons
                                    Meine_Icons.zip

                                    Workaround für das Hochladen der kompletten VIS

                                    1. Meine_Icons.zip entpacken
                                    2. 2019-11-06-VIS.zip entpacken
                                    3. Die beiden VIS-Datein und die den Icons Ordner zu einem neuen Zip Archiv zusammefügen
                                    4. Das neue Zip archiv importieren
                                    S Offline
                                    S Offline
                                    Sven_hh
                                    wrote on last edited by
                                    #668

                                    @Kuddel

                                    Hallo an alle, Hallo Kuddel,

                                    erstmal meinen größten Respekt für deine Visualisierung. Ich finde das ist schon eine der Besten VIS die ich bisher gesehen habe. Ich hab mir die VIS auch mal importiert. Aber ehrlich gesagt erschlägt es mich als Anfänger mit den ganzen Seiten und Skripten ( von den ich keine Ahnung habe ). Ich würde mich ja schon über deine Startseite freuen die ich dann mit meinen Daten füttern kann und das dann läuft. Ist so etwas möglich nur deine Startseite zu Importieren?

                                    Noch mal eine kleine frage am Rande an alle hier im Forum. Vom Homematic Forum kenne ich die Funktion eine PM an jemanden zu senden. Gibt es diese Funktion hier auch?

                                    Ich hoffe ich habe mit diesem Text jetzt keine Regel gebrochen. Falls ja seht es mir bitte nach :-)

                                    VG aus dem Sonnigen HH. Sven

                                    VG Sven :idea:

                                    K 1 Reply Last reply
                                    0
                                    • NegaleinN Offline
                                      NegaleinN Offline
                                      Negalein
                                      Global Moderator
                                      wrote on last edited by Negalein
                                      #669

                                      @Kuddel

                                      Servus

                                      Ich hab gerade ein komisches Phänomen!

                                      Deine Scripte hab ich mit meinen zusammengeführt und wieder importiert.
                                      Hat gleich funktioniert.

                                      Aber jetzt hab ich 2 Scripte von meinen, die nicht mehr funktionieren.

                                      var timeout;
                                       
                                      on(
                                          {id: "vis.0.control.data", change: "ne"} ,
                                              function (obj){
                                                 // Nach 5 Minuten, zeige wieder index View
                                          (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                                          timeout = setTimeout(function () {
                                            setState("vis.0.control.command", '{"instance": "353.6043", "command": "changeView", "data": "001_Home"}');
                                          }, 300000);
                                          
                                       
                                      });
                                      
                                      /*******************************************************************************
                                       * ---------------------------
                                       * Pin-Schutz für VIS-View
                                       * ---------------------------
                                       * Autor: Mic
                                       * Change Log
                                       *  - 0.2 - Fix: 0 on keypad was not recognized
                                       *  - 0.1 - initial version
                                       * Support: https://forum.iobroker.net/viewtopic.php?f=30&t=19871
                                       ******************************************************************************/
                                      
                                      /*******************************************************************************
                                       * Konfiguration
                                       ******************************************************************************/
                                      const STATE_PATH = 'javascript.' + instance + '.' + 'visViewPinSperre.';
                                      
                                      const LOGGING = true;         // Detaillierte Ausgabe im Log. Falls keine Probleme, dann auf false setzen.
                                      
                                      
                                      /*******************************************************************************
                                       * Konfiguration: Views
                                       ******************************************************************************/
                                      // Es können beliebig mehr Views hinzugefügt oder auf eine limitiert werden, bitte aber Aufbau beibehalten!
                                      const PIN_VIEWS = [
                                        {
                                          name:       '041_Energie',        // Name der View, zu der bei Erfolg gewechselt werden soll
                                          project:    'main',            // VIS-Projekt, in dem die View ist, für den Viewwechsel bei Erfolg. Wert bekommt man u.a.: Vis -> Menü: Setup > Projekte (den Namen des jeweilgen Projektes nehmen)
                                          instance:   '353.6043',      // Funktioniert bei mir (und einigen anderen) immer mit 'FFFFFFFF', ansonsten Wert vom Vis, Menü Tools, Feld "Instanz ID" nehmen
                                          pin:        '2901',          // Pin          
                                        },
                                      ];
                                      
                                      
                                      /**********************************************************************************************************
                                       ++++++++++++++++++++++++++++ Ab hier nichts mehr ändern / Stop editing here! ++++++++++++++++++++++++++++
                                       *********************************************************************************************************/
                                      
                                      
                                      /*******************************************************************************
                                       * Globale Variablen
                                       *******************************************************************************/
                                      // Array, pro View ein Element
                                      var G_LastKeyPressed = [];      // Letzte Taste, die gedrückt wurde
                                      var G_PinBufferKeys = [];       // Puffer für eingegebene Ziffern
                                      var G_PinBufferWildcards = [];  // Für Vis-Anzeigefeld der Pineingabe, füllt sich mit "*" nach jeder Zifferneingabe
                                      
                                      /*******************************************************************************
                                       * Executed on every script start.
                                       *******************************************************************************/
                                      init();
                                      function init() {
                                       
                                          // Create states
                                          createScriptStates();
                                      
                                          // 1. Initialize global variables
                                          // 2. Reset for each view
                                          setTimeout(function(){
                                              for (let i = 0; i < PIN_VIEWS.length; i++) {
                                                  // Initialize global variables
                                                  G_LastKeyPressed[PIN_VIEWS[i].name] = '';
                                                  G_PinBufferKeys[PIN_VIEWS[i].name] = '';
                                                  G_PinBufferWildcards[PIN_VIEWS[i].name] = '';        
                                                  // Reset für jede View durchführen
                                                  resetPin(PIN_VIEWS[i].name)
                                              }
                                          }, 3000);
                                      
                                          // Main Script starten, 5 Sekunden nach State-Generierung
                                          setTimeout(main, 5000);
                                      
                                      }
                                      
                                      /*******************************************************************************
                                       * Haupt-Skript
                                       *******************************************************************************/
                                      function main() {
                                      
                                          // Überwacht das Tastenfeld in VIS für jede View
                                          for (var i = 0; i < PIN_VIEWS.length; i++) {
                                              on({id: STATE_PATH + PIN_VIEWS[i].name + '.CurrentKey', change: "any"}, function (obj) {
                                                  var currView = obj.id.substr(STATE_PATH.length).split(".")[0]; // get View Name simply from obj.id
                                                  if(LOGGING) if(obj.state.val !== '') log('Eingabe über Tastenfeld: ' + obj.state.val + ', Viewname: ' + currView);
                                                  switch(obj.state.val) {
                                                      case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:
                                                          G_LastKeyPressed[currView] = obj.state.val;
                                                          userEnteredNumber(currView);
                                                          break;
                                                      case 'Enter':   // Der User hat die Pin-Eingabe bestätigt.
                                                          checkEnteredPin(currView);
                                                          break;
                                                      case 'Reset':
                                                          resetPin(currView);
                                                          break;
                                                      default:
                                                          //None
                                                  } 
                                              });
                                          }
                                      
                                      }
                                      
                                      
                                      /********************************
                                       * Create States
                                       ********************************/
                                      function createScriptStates() {
                                          for (let i = 0; i < PIN_VIEWS.length; i++) {
                                              createState(STATE_PATH + PIN_VIEWS[i].name + '.CurrentKey', {'name':'Mit Tasten aus VIS setzen', 'type':'string', 'read':true, 'write':false, 'role':'info', 'def':'' });
                                              createState(STATE_PATH + PIN_VIEWS[i].name + '.WrongPinEntered', {'name':'Pin-Fehler', 'type':'boolean', 'read':true, 'write':false, 'role':'info'});
                                              createState(STATE_PATH + PIN_VIEWS[i].name + '.PinWildcards', {'name':'Sterne (*) für VIS-Anzeige', 'type':'string', 'read':true, 'write':false, 'role':'info', 'def':'' });
                                          }
                                      }
                                      
                                      
                                      /********************************
                                       * Wird ausgeführt, sobald der User eine Nummer im Tastenfeld eingibt.
                                       * @param {string}   viewName     Name der View
                                       *********************************/
                                      function userEnteredNumber(viewName) {
                                          G_PinBufferKeys[viewName] = G_PinBufferKeys[viewName] + G_LastKeyPressed[viewName];
                                          G_PinBufferWildcards[viewName] = G_PinBufferWildcards[viewName] + ' *';
                                          setState(STATE_PATH + viewName + '.PinWildcards', G_PinBufferWildcards[viewName]);
                                      }
                                      
                                      /********************************
                                       * Wird ausgeführt, sobald der User E für "Enter" eingibt
                                       * @param {string}   viewName     Name der View
                                       ********************************/
                                      function checkEnteredPin(viewName) {
                                          if (G_PinBufferKeys[viewName] == getPresetElement(viewName, 'pin')) {
                                              if(LOGGING) log('Pin-Eingabe erfolgreich, View [' + viewName + ']');
                                              onSuccess(viewName);
                                              setTimeout(function() { resetPin(viewName) }, 3000);    // Reset nach 3 Sekunden
                                          } else {
                                              if(LOGGING) log('Falschen Pin eingegeben, View [' + viewName + ']');
                                              setState(STATE_PATH + viewName + '.WrongPinEntered', true);
                                              resetPin(viewName);
                                          }
                                      }    
                                      
                                      /********************************
                                       * Reset
                                       * @param {string}   viewName     Name der View
                                       ********************************/
                                      function resetPin(viewName) {
                                          if(LOGGING) log('Reset Pin, View-Name: [' + viewName + ']');
                                          G_PinBufferWildcards[viewName] = '';
                                          G_PinBufferKeys[viewName] = '';
                                          setState(STATE_PATH + viewName + '.CurrentKey', '');
                                          setState(STATE_PATH + viewName + '.PinWildcards', '');
                                          setStateDelayed(STATE_PATH + viewName + '.WrongPinEntered', false, 3000); // Erst nach 3 Sekunden, für VIS-Anzeige
                                      }
                                      
                                      /********************************
                                       * Wird bei erfolgreicher Pin-Eingabe ausgeführt
                                       * @param {string}   viewName     Name der View
                                       ********************************/
                                      function onSuccess(viewName){
                                          // Change View
                                          setState("vis.0.control.instance", getPresetElement(viewName, 'instance'));
                                          setState("vis.0.control.data",     getPresetElement(viewName, 'project') + '/' + viewName);
                                          setState("vis.0.control.command",  'changeView');
                                      }
                                      
                                      
                                      /********************************
                                       * Gibt Elemente von PIN_VIEWS zurück
                                       * @param {string}   viewName     Name of the view
                                       * @param {string}   key          'project', 'instance', 'pin'
                                       * @return {string}  Content of the element, e.g. the Pin "1234" for element 'pin'
                                       ********************************/
                                      function getPresetElement(viewName, key) {
                                          var keyEntry = '';
                                          for (let i = 0; i < PIN_VIEWS.length; i++) {
                                              if (PIN_VIEWS[i].name === viewName) {
                                                  keyEntry = PIN_VIEWS[i][key]
                                              }
                                          }
                                          return keyEntry;
                                      }
                                      

                                      Hat es mir durch das importieren was durcheinander geschmissen?

                                      ° Node.js: 20.17.0 NPM: 10.8.2
                                      ° Proxmox, Ubuntu 22.04.3 LTS
                                      ° Fixer ---> iob fix

                                      K 1 Reply Last reply
                                      0
                                      • S Sven_hh

                                        @Kuddel

                                        Hallo an alle, Hallo Kuddel,

                                        erstmal meinen größten Respekt für deine Visualisierung. Ich finde das ist schon eine der Besten VIS die ich bisher gesehen habe. Ich hab mir die VIS auch mal importiert. Aber ehrlich gesagt erschlägt es mich als Anfänger mit den ganzen Seiten und Skripten ( von den ich keine Ahnung habe ). Ich würde mich ja schon über deine Startseite freuen die ich dann mit meinen Daten füttern kann und das dann läuft. Ist so etwas möglich nur deine Startseite zu Importieren?

                                        Noch mal eine kleine frage am Rande an alle hier im Forum. Vom Homematic Forum kenne ich die Funktion eine PM an jemanden zu senden. Gibt es diese Funktion hier auch?

                                        Ich hoffe ich habe mit diesem Text jetzt keine Regel gebrochen. Falls ja seht es mir bitte nach :-)

                                        VG aus dem Sonnigen HH. Sven

                                        K Offline
                                        K Offline
                                        Kuddel
                                        wrote on last edited by
                                        #670

                                        @Sven_hh mit ein wenig Aufwand kann man nur die Startseite zur Verfügung stellen.

                                        Aber alleine die Startseite setzt sich auch aus 15 einzelnen Seiten zusammen.

                                        Da ist es dann deutlich einfacher das die ganze VIS zu importieren.

                                        1 Reply Last reply
                                        0
                                        • NegaleinN Negalein

                                          @Kuddel

                                          Servus

                                          Ich hab gerade ein komisches Phänomen!

                                          Deine Scripte hab ich mit meinen zusammengeführt und wieder importiert.
                                          Hat gleich funktioniert.

                                          Aber jetzt hab ich 2 Scripte von meinen, die nicht mehr funktionieren.

                                          var timeout;
                                           
                                          on(
                                              {id: "vis.0.control.data", change: "ne"} ,
                                                  function (obj){
                                                     // Nach 5 Minuten, zeige wieder index View
                                              (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                                              timeout = setTimeout(function () {
                                                setState("vis.0.control.command", '{"instance": "353.6043", "command": "changeView", "data": "001_Home"}');
                                              }, 300000);
                                              
                                           
                                          });
                                          
                                          /*******************************************************************************
                                           * ---------------------------
                                           * Pin-Schutz für VIS-View
                                           * ---------------------------
                                           * Autor: Mic
                                           * Change Log
                                           *  - 0.2 - Fix: 0 on keypad was not recognized
                                           *  - 0.1 - initial version
                                           * Support: https://forum.iobroker.net/viewtopic.php?f=30&t=19871
                                           ******************************************************************************/
                                          
                                          /*******************************************************************************
                                           * Konfiguration
                                           ******************************************************************************/
                                          const STATE_PATH = 'javascript.' + instance + '.' + 'visViewPinSperre.';
                                          
                                          const LOGGING = true;         // Detaillierte Ausgabe im Log. Falls keine Probleme, dann auf false setzen.
                                          
                                          
                                          /*******************************************************************************
                                           * Konfiguration: Views
                                           ******************************************************************************/
                                          // Es können beliebig mehr Views hinzugefügt oder auf eine limitiert werden, bitte aber Aufbau beibehalten!
                                          const PIN_VIEWS = [
                                            {
                                              name:       '041_Energie',        // Name der View, zu der bei Erfolg gewechselt werden soll
                                              project:    'main',            // VIS-Projekt, in dem die View ist, für den Viewwechsel bei Erfolg. Wert bekommt man u.a.: Vis -> Menü: Setup > Projekte (den Namen des jeweilgen Projektes nehmen)
                                              instance:   '353.6043',      // Funktioniert bei mir (und einigen anderen) immer mit 'FFFFFFFF', ansonsten Wert vom Vis, Menü Tools, Feld "Instanz ID" nehmen
                                              pin:        '2901',          // Pin          
                                            },
                                          ];
                                          
                                          
                                          /**********************************************************************************************************
                                           ++++++++++++++++++++++++++++ Ab hier nichts mehr ändern / Stop editing here! ++++++++++++++++++++++++++++
                                           *********************************************************************************************************/
                                          
                                          
                                          /*******************************************************************************
                                           * Globale Variablen
                                           *******************************************************************************/
                                          // Array, pro View ein Element
                                          var G_LastKeyPressed = [];      // Letzte Taste, die gedrückt wurde
                                          var G_PinBufferKeys = [];       // Puffer für eingegebene Ziffern
                                          var G_PinBufferWildcards = [];  // Für Vis-Anzeigefeld der Pineingabe, füllt sich mit "*" nach jeder Zifferneingabe
                                          
                                          /*******************************************************************************
                                           * Executed on every script start.
                                           *******************************************************************************/
                                          init();
                                          function init() {
                                           
                                              // Create states
                                              createScriptStates();
                                          
                                              // 1. Initialize global variables
                                              // 2. Reset for each view
                                              setTimeout(function(){
                                                  for (let i = 0; i < PIN_VIEWS.length; i++) {
                                                      // Initialize global variables
                                                      G_LastKeyPressed[PIN_VIEWS[i].name] = '';
                                                      G_PinBufferKeys[PIN_VIEWS[i].name] = '';
                                                      G_PinBufferWildcards[PIN_VIEWS[i].name] = '';        
                                                      // Reset für jede View durchführen
                                                      resetPin(PIN_VIEWS[i].name)
                                                  }
                                              }, 3000);
                                          
                                              // Main Script starten, 5 Sekunden nach State-Generierung
                                              setTimeout(main, 5000);
                                          
                                          }
                                          
                                          /*******************************************************************************
                                           * Haupt-Skript
                                           *******************************************************************************/
                                          function main() {
                                          
                                              // Überwacht das Tastenfeld in VIS für jede View
                                              for (var i = 0; i < PIN_VIEWS.length; i++) {
                                                  on({id: STATE_PATH + PIN_VIEWS[i].name + '.CurrentKey', change: "any"}, function (obj) {
                                                      var currView = obj.id.substr(STATE_PATH.length).split(".")[0]; // get View Name simply from obj.id
                                                      if(LOGGING) if(obj.state.val !== '') log('Eingabe über Tastenfeld: ' + obj.state.val + ', Viewname: ' + currView);
                                                      switch(obj.state.val) {
                                                          case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9:
                                                              G_LastKeyPressed[currView] = obj.state.val;
                                                              userEnteredNumber(currView);
                                                              break;
                                                          case 'Enter':   // Der User hat die Pin-Eingabe bestätigt.
                                                              checkEnteredPin(currView);
                                                              break;
                                                          case 'Reset':
                                                              resetPin(currView);
                                                              break;
                                                          default:
                                                              //None
                                                      } 
                                                  });
                                              }
                                          
                                          }
                                          
                                          
                                          /********************************
                                           * Create States
                                           ********************************/
                                          function createScriptStates() {
                                              for (let i = 0; i < PIN_VIEWS.length; i++) {
                                                  createState(STATE_PATH + PIN_VIEWS[i].name + '.CurrentKey', {'name':'Mit Tasten aus VIS setzen', 'type':'string', 'read':true, 'write':false, 'role':'info', 'def':'' });
                                                  createState(STATE_PATH + PIN_VIEWS[i].name + '.WrongPinEntered', {'name':'Pin-Fehler', 'type':'boolean', 'read':true, 'write':false, 'role':'info'});
                                                  createState(STATE_PATH + PIN_VIEWS[i].name + '.PinWildcards', {'name':'Sterne (*) für VIS-Anzeige', 'type':'string', 'read':true, 'write':false, 'role':'info', 'def':'' });
                                              }
                                          }
                                          
                                          
                                          /********************************
                                           * Wird ausgeführt, sobald der User eine Nummer im Tastenfeld eingibt.
                                           * @param {string}   viewName     Name der View
                                           *********************************/
                                          function userEnteredNumber(viewName) {
                                              G_PinBufferKeys[viewName] = G_PinBufferKeys[viewName] + G_LastKeyPressed[viewName];
                                              G_PinBufferWildcards[viewName] = G_PinBufferWildcards[viewName] + ' *';
                                              setState(STATE_PATH + viewName + '.PinWildcards', G_PinBufferWildcards[viewName]);
                                          }
                                          
                                          /********************************
                                           * Wird ausgeführt, sobald der User E für "Enter" eingibt
                                           * @param {string}   viewName     Name der View
                                           ********************************/
                                          function checkEnteredPin(viewName) {
                                              if (G_PinBufferKeys[viewName] == getPresetElement(viewName, 'pin')) {
                                                  if(LOGGING) log('Pin-Eingabe erfolgreich, View [' + viewName + ']');
                                                  onSuccess(viewName);
                                                  setTimeout(function() { resetPin(viewName) }, 3000);    // Reset nach 3 Sekunden
                                              } else {
                                                  if(LOGGING) log('Falschen Pin eingegeben, View [' + viewName + ']');
                                                  setState(STATE_PATH + viewName + '.WrongPinEntered', true);
                                                  resetPin(viewName);
                                              }
                                          }    
                                          
                                          /********************************
                                           * Reset
                                           * @param {string}   viewName     Name der View
                                           ********************************/
                                          function resetPin(viewName) {
                                              if(LOGGING) log('Reset Pin, View-Name: [' + viewName + ']');
                                              G_PinBufferWildcards[viewName] = '';
                                              G_PinBufferKeys[viewName] = '';
                                              setState(STATE_PATH + viewName + '.CurrentKey', '');
                                              setState(STATE_PATH + viewName + '.PinWildcards', '');
                                              setStateDelayed(STATE_PATH + viewName + '.WrongPinEntered', false, 3000); // Erst nach 3 Sekunden, für VIS-Anzeige
                                          }
                                          
                                          /********************************
                                           * Wird bei erfolgreicher Pin-Eingabe ausgeführt
                                           * @param {string}   viewName     Name der View
                                           ********************************/
                                          function onSuccess(viewName){
                                              // Change View
                                              setState("vis.0.control.instance", getPresetElement(viewName, 'instance'));
                                              setState("vis.0.control.data",     getPresetElement(viewName, 'project') + '/' + viewName);
                                              setState("vis.0.control.command",  'changeView');
                                          }
                                          
                                          
                                          /********************************
                                           * Gibt Elemente von PIN_VIEWS zurück
                                           * @param {string}   viewName     Name of the view
                                           * @param {string}   key          'project', 'instance', 'pin'
                                           * @return {string}  Content of the element, e.g. the Pin "1234" for element 'pin'
                                           ********************************/
                                          function getPresetElement(viewName, key) {
                                              var keyEntry = '';
                                              for (let i = 0; i < PIN_VIEWS.length; i++) {
                                                  if (PIN_VIEWS[i].name === viewName) {
                                                      keyEntry = PIN_VIEWS[i][key]
                                                  }
                                              }
                                              return keyEntry;
                                          }
                                          

                                          Hat es mir durch das importieren was durcheinander geschmissen?

                                          K Offline
                                          K Offline
                                          Kuddel
                                          wrote on last edited by
                                          #671

                                          @Negalein die Vermtutung liegt nahe, dass dabei irgendetwas durchgewürfelt wurde

                                          NegaleinN 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          883

                                          Online

                                          32.4k

                                          Users

                                          81.5k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe