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

      @kuddel ich versuche anhand deines Bildes des Sonnenstands bei mir zu integrieren. Habe dein Script auch mit den Zeiten dafür genommen. Dennoch kommt keine Abfrage dazu? Läuft das noch über einen bestimmten Adapter?
      Danke für eine Rückantwort Screenshot_20210301-135219_Chrome.jpg

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

        @silentblob sofern du in den Einstellungen deine Position (Längen- und Breitengrad) eingetragen hast, dann sollte das Skript funzen.

        Einen anderen Adapter nutze ich nicht.

        Im Skript selber sind ein paar Trigger um 0 Uhr oder so, vllt. mal die Blöcke manuell auslösen

        S 1 Reply Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            924
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            vis vis projekte
                                            83
                                            640
                                            141841
                                            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