Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. [Vorstellung] Meine dritte VIS

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    [Vorstellung] Meine dritte VIS

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Silentblob @Kuddel last edited by wendy2702

      @kuddel ok. Ich habe mir aus dem Script nur den Punkt Raubkopiert und als Script gestartet.

      // Zeiten
      //  Sonne
      createState('javascript.0.zeiten.sonnenuntergang', false, {type: 'string',name: 'sonnenuntergang'});
      createState('javascript.0.zeiten.sonnenaufgang', false, {type: 'string',name: 'sonnenaufgang'});
      createState('javascript.0.zeiten.sonnenaufgang_stunde', false, {type: 'string',name: 'sonnenaufgang_stunde'});
      createState('javascript.0.zeiten.sonnenaufgang_minute', false, {type: 'string',name: 'sonnenaufgang_minute'});
      createState('javascript.0.zeiten.rolladen_cron_restart', false, {type: 'string',name: 'rolladen_cron_restart', unit: 'Uhr'});
      //  Rolladen
      createState('javascript.0.zeiten.rolladen_oeffnen', false, {type: 'string',name: 'rolladen_oeffnen'});
      createState('javascript.0.zeiten.rolladen_oeffnen_verzoegerung', false, {type: 'string',name: 'rolladen_oeffnen_verzoegerung'});
      createState('javascript.0.zeiten.rolladen_schliessen', false, {type: 'string',name: 'rolladen_schliessen'});
      createState('javascript.0.zeiten.rolladen_schliessen_verzoegerung', false, {type: 'string',name: 'rolladen_schliessen_verzoegerung'});
      //  Nacht
      createState('javascript.0.zeiten.nachtlaenge', false, {type: 'string',name: 'nachtlaenge'});
      createState('javascript.0.zeiten.nachtlaenge_in_minuten', false, {type: 'string',name: 'nachtlaenge_in_minuten'});
      createState('javascript.0.zeiten.nachtlaenge_keinlicht', false, {type: 'string',name: 'nachtlaenge_keinlicht'});
      createState('javascript.0.zeiten.nachtlaenge_fortschritt', false, {type: 'string',name: 'nachtlaenge_fortschritt'});
      // Tag
      createState('javascript.0.zeiten.tageslaenge', false, {type: 'string',name: 'tageslaenge'});
      createState('javascript.0.zeiten.tageslaenge_differenz', false, {type: 'string',name: 'tageslaenge_differenz'});
      createState('javascript.0.zeiten.tageslaenge_fortschritt', false, {type: 'string',name: 'tageslaenge_fortschritt'});
      createState('javascript.0.zeiten.tageslaenge_in_minuten', false, {type: 'string',name: 'tageslaenge_in_minuten'});
      createState('javascript.0.zeiten.tageslaenge_in_minuten_gestern', false, {type: 'string',name: 'tageslaenge_in_minuten_gestern'});
      createState('javascript.0.zeiten.tageslaenge_tageslicht', false, {type: 'string',name: 'tageslaenge_tageslicht'});
      createState('javascript.0.zeiten.tageslaenge_tageslicht_in_minuten', false, {type: 'string',name: 'tageslaenge_tageslicht_in_minuten'});
      createState('javascript.0.zeiten.tageslaenge_timer_restart', false, {type: 'boolean',name:'tageslaenge_timer_restart'});
      

      MOD EDIT: SCRIPT IN CODE TAGS </> GEÄNDERT

      K 1 Reply Last reply Reply Quote 0
      • K
        Kuddel @Silentblob last edited by

        @silentblob das Skript erstellt aber nur die Datenpunkte und berechnet noch nichts

        S 1 Reply Last reply Reply Quote 0
        • S
          Silentblob @Kuddel last edited by

          @kuddel ah ok. Das heißt was muss ich machen 😄

          K 1 Reply Last reply Reply Quote 0
          • K
            Kuddel @Silentblob last edited by

            @silentblob benörigst noch ein weiteres Skript, dass die neu erstellten DPs mit Daten befüllt:

            blockly_export.txt

            Das Skript importieren und warten bis die Trigger alle einmal ausgeführt worden sind.

            1 Reply Last reply Reply Quote 0
            • Jens Meyer
              Jens Meyer @Kuddel last edited by

              @kuddel
              hallo, erstmal top für die mühe aieht richtig gut aus,nun habe ich mir mal das mit der vu+ angesehen und finde das super..
              ich bin über den punkt 11104_TV_Aufnahmen gestolpert
              kann aber das script nicht finden...("oid": "javascript.0.sonstige.vu_aufnahmen_liste",)
              kannst das eventuell noch zur verfügung stellen
              wäre super
              danke

              K 1 Reply Last reply Reply Quote 0
              • K
                Kuddel @Jens Meyer last edited by

                @jens-meyer hier der javascript export

                // import
                const moment = require("moment");
                const momentDurationFormatSetup = require("moment-duration-format");
                moment.locale("de");
                
                let enigma2AdapterRecordListId = 'enigma2.0.enigma2.MOVIE_LIST';
                
                on({ id: enigma2AdapterRecordListId }, formatList);
                function formatList() {
                   try {
                       let list = JSON.parse(getState(enigma2AdapterRecordListId).val);
                       let myList = [];
                
                       if (list && list !== null && list !== undefined && list !== '') {
                           for (var i = 0; i <= list.length - 1; i++) {
                               let listItem = list[i]
                               let recordTime = moment(listItem.recordingtime * 1000);
                               let recordDateFormatted = `${recordTime.format('ddd')} ${recordTime.format('DD.MM.')}`;
                               let recordTimeFormatted = `${recordTime.format('LT')}`
                               if (moment().isSame(recordTime, 'day')) {
                                   recordDateFormatted = `Heute ${recordTime.format('DD.MM.')}`;
                               } else if (moment().add(-1, 'day').isSame(recordTime, 'day')) {
                                   recordDateFormatted = `Gestern ${recordTime.format('DD.MM.')}`;
                               }
                
                               let rawtitle = listItem.eventname;
                               let title = rawtitle;
                               let subtitle = listItem.subtitle;
                
                               if (title.includes(' - ')) {
                                   title = rawtitle.substring(0, rawtitle.indexOf(' - ')).trim();
                                   subtitle = rawtitle.substring(rawtitle.indexOf(' - ') + 2, rawtitle.length).trim();
                
                                   if (subtitle === undefined) {
                                       subtitle = '';
                                   }
                               }
                
                
                               myList.push(
                                   {
                                       channelImage: `http://192.168.4.24:8080/picon/${listItem.serviceRefName}.png`,
                                       channel: listItem.servicename,
                                       title: title,
                                       recordDateFormatted: recordDateFormatted,
                                       recordTimeFormatted: recordTimeFormatted,
                                       dauer: listItem.length,
                                       groesse: listItem.filesize_readable,
                                       recordTime: listItem.recordingtime //In der VIS ausgeblendet
                
                                       //lenght: listItem.length + ' min, ' + listItem.filesize_readable,
                                       
                                       //subtitle: subtitle,
                                       //size: listItem.filesize_readable,
                
                                   }
                               )
                           }
                           setState('javascript.0.sonstige.vu_aufnahmen_liste', JSON.stringify(myList), true);
                       }
                
                   } catch (err) {
                       console.error(`[formatList] error: ${err.message}`);
                       console.error(`[formatList] stack: ${err.stack}`);
                   }
                }
                
                formatList();
                

                Die IP vom Receiver und die DPs müssen noch angepasst werden

                Jens Meyer 1 Reply Last reply Reply Quote 0
                • Jens Meyer
                  Jens Meyer @Kuddel last edited by

                  @kuddel
                  vielen dank...top!

                  1 Reply Last reply Reply Quote 0
                  • S
                    samot13 last edited by

                    @Kuddel

                    Hallo Kuddel,

                    ich habe versucht deine visu zu importieren aber ich habe Probleme mit dem Submenues.

                    3652a6a4-af4b-4f94-8ca2-cef7bae78884-grafik.png

                    Hast du, bzw. einer eine Idee was da schief läuft?

                    Ich habe den iobroker neu aufgesetzt.
                    Gibt es bekannte Probleme mit Nodes12 ?

                    Danke und Gruß
                    samot13

                    K Glasfaser 2 Replies Last reply Reply Quote 0
                    • K
                      Kuddel @samot13 last edited by

                      @samot13 welche Version vom Adapter "Material Design Widgets" verwendest du ?

                      Meine VIS läuft mit Version 0.2.54.

                      Ich weiß, dass es bei neueren Version zu Probleme mit dem Menü kommt.

                      Hatte leider noch keine Zeit, das Ganze zu aktualisieren

                      1 Reply Last reply Reply Quote 0
                      • Glasfaser
                        Glasfaser @samot13 last edited by

                        @samot13 sagte in [Vorstellung] Meine dritte VIS:

                        Probleme mit dem Submenues.

                        hier ist es erklärt was man ändern muß :

                        https://forum.iobroker.net/topic/29660/material-design-widgets-top-app-bar-widget/207?_=1617005272342

                        1 Reply Last reply Reply Quote 0
                        • S
                          samot13 last edited by

                          @ Kuddel: Ich verwende 0.4.42
                          Ich werde es mal mit der älteren Versuchen oder ich schaue mir die Änderungen vom Link mal an.

                          Danke für die Info
                          @ Glasfaser: Danke für den Link

                          1 Reply Last reply Reply Quote 0
                          • maximal1981
                            maximal1981 last edited by

                            Hallo,

                            erstmal echt super Arbeit.

                            Gefällt mir echt gut, und versuche die Datenpunkte an meine anzupassen.

                            Bin erst auf der Startseite über das Wetter-Widget hinaus gekommen, und stehe schon an.

                            Ich suche wie ein Irrer die Befüllung der javascript.0.zeiten.*. bin entweder blind oder hab diese irgendwie nicht im Projekt, oder gelöscht. Bitte um Unterstützung.

                            mfg maximal1981

                            K 1 Reply Last reply Reply Quote 0
                            • K
                              Kuddel @maximal1981 last edited by

                              @maximal1981 hast du denn bzgl. der Datenobjekte ein Skript von mir importiert ?

                              blockly_export_zeiten.txt

                              maximal1981 1 Reply Last reply Reply Quote 0
                              • maximal1981
                                maximal1981 @Kuddel last edited by

                                @kuddel doch, hab nur mal alle deaktiviert, da ich sonst natürlich lauter Fehler wegen falschen Datenpunkten habe, und dann die "zeiten_v01" übersehen/-lesen.

                                Danke für die Antwort.
                                Mein Problem ist, dass ich keine Ahnung habe welche Scripts mit welchen Widgets zusammenspielen.

                                eine Vermutung ist z.B. für die Rollo-Steuerung auf der Main benötigt man folgendes:

                                • zeiten_v01 (muss mal eine Nacht an sein, damit alle nötigen Werte vorhanden sind = Vermutung)
                                • rolladen_tag_nacht

                                gibt es irgendwie im ioBroker die Möglichkeit Abhängigkeit aufzulösen, bzw. welche Varaiblen wo vorhanden sind um die übergeordneten Scripts zu finden?

                                C K 2 Replies Last reply Reply Quote 0
                                • C
                                  ChrisXY @maximal1981 last edited by ChrisXY

                                  Habe auch das Menü kaputt. Leider verstehe ich nicht genau was ich da ändern/anpassen muss. Jemand eine Anleitung oder ein ausgebessertes menü??

                                  Glasfaser 1 Reply Last reply Reply Quote 0
                                  • Glasfaser
                                    Glasfaser @ChrisXY last edited by

                                    @chrisxy sagte in [Vorstellung] Meine dritte VIS:

                                    Habe auch das Menü kaputt.

                                    da ist nicht´s kaputt.

                                    Ein paar Beiträge über deinem ist ein Link zum passenden Thread !

                                    1 Reply Last reply Reply Quote 0
                                    • K
                                      Kuddel @maximal1981 last edited by

                                      @maximal1981 die zeiten an sich können ohne Abhängigkeiten erstellt werden, wie z.B. Tageslänge.

                                      Auf der Main kann man einstellen, wann die Rollos hoch- / herunterfahren sollen.

                                      Dafür ist dann das Skript rolladen_tag_nacht, welches die DPs aus dem Zeiten Skirpt verwendet

                                      maximal1981 1 Reply Last reply Reply Quote 0
                                      • maximal1981
                                        maximal1981 @Kuddel last edited by maximal1981

                                        @kuddel du hast meine Frage falsch interpretiert, aber habe die Lösungen teilweise schon selbst gefunden.
                                        Aber ein paar Fragen hab ich (gibt sicher mehr, aber die fallen mir gerade ein 🤠) :

                                        • ich bekomme die Akkustand_History nicht hin. ist ein extrem langer flot-Link. Muss man dafür vermutlich auch Datenpunkte in einer History speichern, wenn ja mit welchen settings, und wie baut man dann den Chart-Link auf?

                                        • bei der Darstellung vom Vis egal am Laptop oder Tablet habe ich nach rechts noch ca. einen halben Screen zum Scrollen. Kann man das kürzen bzw. nach dem Ende abschneiden?

                                        • bei der Darstellung am Tablet mit Fully-Browser (am Laptop auch aber da ist es mir egal) hab ich das Problem, dass das Vis größer ist als der Screen. Man kann es zwar zoomen, aber nach einem reload bzw. Seitenwechsel ist der manuelle Zoom von gefüllt 90 % natürlich wieder auf 100 %. Vermutlich kann man das wo einstellen, finde es aber nicht.

                                        • kann es sein, dass du für den Fully-Browser um ca. 7 € eine Lifetime Lizenz gekauft hast, und diese eigentlich auch mehr oder weniger für die 100 %ige Kompatibilität benötigt wird?

                                        • wenn ich auf den Saugroboter-View wechsle, geht er nach 1 sec wieder auf die Startseite zurück. Des Weiteren hab ich den View Jump üer die Zahlen auch noch nicht verstanden, wie/wo wird das über die Zahl umgesetzt?

                                        Für alle anderen:

                                        • um Variablen in den Scripts zu finden, gibt es im ioBroker unter Scripts - wo man dann common, java, smarthome, sowie seine eigenen Scripts sieht - oben rechts eine Lupe. Dort dann den Varaiblennamen oder Teile davon eingeben, und es werden alles Scripts aufgelistet, welche diesen enthalten, egal ob zum Setzen, Trigger oder Bedingung

                                        • in den einzelnen Views gibt es unzählige Widgets die übereinander liegen. z.B. bei Müllabfuhr in ... sind es 3 Widgets, bei Akkuanzeige sogar 5. Ich habe bis dato immer alle weggeschoben, jedoch kann man das viel leichter wenn man die aktiven Widgets durcharbeitet^^

                                        • zur allgemeinen Erleichterung habe ich noch die Scripts und das Vis in einem Ordner abgelegt, und suche mir dort mittels SearchMyFiles Abhängigkeiten heraus, wenn ich mich gar nicht durchblicke wie was zusammenspielt

                                        hoffe den einem oder anderen Vis/Script-Neuling hilft die Ausführung um auch hier mal Fuß zu fassen und nicht gleich verzweifelt. Hätte auch schon fast aufgegeben, wenn mir nicht Kuddels Vis so gefallen würde 😍 🤛

                                        K 1 Reply Last reply Reply Quote 0
                                        • W
                                          WeiserWolf @Kuddel last edited by

                                          @kuddel
                                          Die VIS ist einfach genial. Da ich grade erst mit iobroker anfange, habe ich gedacht ich nehme mir eine fertiges VIS und alles wird gut, naja purer Anfängerwahnsinn 🙂
                                          Naja ich bin jetzt dazu übergegangen mir erst einmal einzelne Teile kopieren zu wollen in mein Projekt.
                                          In erster Linie geht es um Anwesenheit und die IP-Kamera.
                                          würde das gehen, wenn ich mir einzelne views in mein Projekt hole (die nötigen Adapter habe ich installiert)? Mir ist nur nicht wirklich klar, wie und wo was zu machen ist, um die
                                          abzufragenden Geräte zu definieren. Kommt das alles aus dem UniFi-Controller?
                                          Ich hatte mir den Master-Kurs von haus-automatisierung gegönnt, aber es hat mich irgendwie nicht weitergebracht, weil das Themas VIS überhaupt nicht behandelt wurde.

                                          Aber das kommt davon, wenn man als Kreisligist meint, man könnte in der Champions-League mitspielen und auch noch gewinnen 😄

                                          Wäre schön, wenn ich nicht gleich gesteinigt werde und jemand bereit ist mir da ein bisschen zu helfen. Danke schonmal 🙂

                                          Gruß
                                          Wolf

                                          K 1 Reply Last reply Reply Quote 0
                                          • K
                                            Kuddel @maximal1981 last edited by

                                            @maximal1981 sagte in [Vorstellung] Meine dritte VIS:

                                            @kuddel du hast meine Frage falsch interpretiert, aber habe die Lösungen teilweise schon selbst gefunden.
                                            Aber ein paar Fragen hab ich (gibt sicher mehr, aber die fallen mir gerade ein 🤠) :

                                            • ich bekomme die Akkustand_History nicht hin. ist ein extrem langer flot-Link. Muss man dafür vermutlich auch Datenpunkte in einer History speichern, wenn ja mit welchen settings, und wie baut man dann den Chart-Link auf?
                                              -> Ja der DP muss vom History Adapter geloggt werden, sonst kann Flot nichts anzeigen

                                            • bei der Darstellung vom Vis egal am Laptop oder Tablet habe ich nach rechts noch ca. einen halben Screen zum Scrollen. Kann man das kürzen bzw. nach dem Ende abschneiden?
                                              -> Du musst einfach nur die Breite vom Widget "!View_Anzeige" auf Seite 0000_Startseite ändern

                                            • bei der Darstellung am Tablet mit Fully-Browser (am Laptop auch aber da ist es mir egal) hab ich das Problem, dass das Vis größer ist als der Screen. Man kann es zwar zoomen, aber nach einem reload bzw. Seitenwechsel ist der manuelle Zoom von gefüllt 90 % natürlich wieder auf 100 %. Vermutlich kann man das wo einstellen, finde es aber nicht.
                                              -> Den Zoom kann man im FullyBrowser einstellenm, damit die VIS korrekt angezeigt wird. Musst du mal suchen. Wei so auch nicht genau, wo man das machen kann.

                                            • kann es sein, dass du für den Fully-Browser um ca. 7 € eine Lifetime Lizenz gekauft hast, und diese eigentlich auch mehr oder weniger für die 100 %ige Kompatibilität benötigt wird?
                                              -> Ja ich habe mal eine Liznez für 5€ gekauft, ob das aber eine Lifetime ist, weiß ich nicht. Auf jeden Fall gingen bei mir ein paar Feature nicht ohne Lizenz

                                            • wenn ich auf den Saugroboter-View wechsle, geht er nach 1 sec wieder auf die Startseite zurück. Des Weiteren hab ich den View Jump üer die Zahlen auch noch nicht verstanden, wie/wo wird das über die Zahl umgesetzt?
                                              Im DP "javascript.0.VIS-Steuerung.Aktuelle_VIS_Seite" steht die aktuelle VIS Seite als Zahl. Dieser DP wird auch im Widget "!View_Anzeigen" auf Seite 0000_Startseite verwendet. Dort muss man alle Views eintragen. Zb 0 = Starseite. Ändern man also die Zahl im DP, weiß das Widget, welcher View angezeigt werden soll.

                                            Für alle anderen:

                                            • um Variablen in den Scripts zu finden, gibt es im ioBroker unter Scripts - wo man dann common, java, smarthome, sowie seine eigenen Scripts sieht - oben rechts eine Lupe. Dort dann den Varaiblennamen oder Teile davon eingeben, und es werden alles Scripts aufgelistet, welche diesen enthalten, egal ob zum Setzen, Trigger oder Bedingung

                                            • in den einzelnen Views gibt es unzählige Widgets die übereinander liegen. z.B. bei Müllabfuhr in ... sind es 3 Widgets, bei Akkuanzeige sogar 5. Ich habe bis dato immer alle weggeschoben, jedoch kann man das viel leichter wenn man die aktiven Widgets durcharbeitet^^

                                            • zur allgemeinen Erleichterung habe ich noch die Scripts und das Vis in einem Ordner abgelegt, und suche mir dort mittels SearchMyFiles Abhängigkeiten heraus, wenn ich mich gar nicht durchblicke wie was zusammenspielt

                                            hoffe den einem oder anderen Vis/Script-Neuling hilft die Ausführung um auch hier mal Fuß zu fassen und nicht gleich verzweifelt. Hätte auch schon fast aufgegeben, wenn mir nicht Kuddels Vis so gefallen würde 😍 🤛

                                            Ich habe deine Fragen mal direkt im zitierten Block beantwortet

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            910
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            vis vis projekte
                                            83
                                            640
                                            141849
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo