Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. SONOFF NSPanel mit Lovelace UI

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    SONOFF NSPanel mit Lovelace UI

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      TT-Tom last edited by

      Hallo,

      Eine bitte an die User die diese Fehlermeldung mit dayjs nicht haben, könnt ihr bitte mal diese Verzeichnisse überprüfen. Ob die Ausgaben dieselben sind. Danke und schön Abend noch.

      Armilar 1 Reply Last reply Reply Quote 1
      • Armilar
        Armilar Most Active Forum Testing @TT-Tom last edited by Armilar

        @tt-tom

        Ich bin ein User ohne Fehler 😉

        armilar@iobroker:/opt/iobroker/node_modules/moment-parseformat$ ls -la
        total 92
        drwxrwxr-x+    4 iobroker iobroker  4096 Feb 22 17:40 .
        drwxrwxr-x+ 1340 iobroker iobroker 53248 Aug  5 20:31 ..
        -rw-rwxr--+    1 iobroker iobroker 11345 Feb 22 17:40 LICENSE.md
        -rw-rwxr--+    1 iobroker iobroker  2036 Feb 22 17:40 README.md
        drwxrwxr-x+    2 iobroker iobroker  4096 Feb 22 17:40 dist
        -rw-rwxr--+    1 iobroker iobroker   202 Feb 22 17:40 index.js
        drwxrwxr-x+    2 iobroker iobroker  4096 Feb 22 17:40 lib
        -rw-rwxr--+    1 iobroker iobroker  1687 Feb 22 17:40 package.json
        armilar@iobroker:/opt/iobroker/node_modules/moment-parseformat$
        
        armilar@iobroker:/opt/iobroker/node_modules/@iobroker-javascript.0/moment-parseformat$ ls -la
        total 40
        drwxrwxr-x+  4 iobroker iobroker  4096 Jul  4 20:07 .
        drwxrwxr-x+ 21 iobroker iobroker  4096 Aug  5 18:31 ..
        -rw-rwxr--+  1 iobroker iobroker 11345 Jul  4 20:07 LICENSE.md
        -rw-rwxr--+  1 iobroker iobroker  2036 Jul  4 20:07 README.md
        drwxrwxr-x+  2 iobroker iobroker  4096 Jul  4 20:07 dist
        -rw-rwxr--+  1 iobroker iobroker   202 Jul  4 20:07 index.js
        drwxrwxr-x+  2 iobroker iobroker  4096 Jul  4 20:07 lib
        -rw-rwxr--+  1 iobroker iobroker  1687 Jul  4 20:07 package.json
        armilar@iobroker:/opt/iobroker/node_modules/@iobroker-javascript.0/moment-parseformat$
        

        Du machst es spannend... Wie man sieht sind beide Verzeichnisse vorhanden:

        • /opt/iobroker/node_modules --> vom Februar
        • /opt/iobroker/node_modules/@iobroker-javascript.0 --> vom Juli

        naja, das Jahr kann man nicht wirklich sehen... und das System ist wirklich alt - aber absolut aktuell

        EDIT: Jetzt für dayjs

        armilar@iobroker:/opt/iobroker/node_modules/dayjs$ ls -la
        total 204
        drwxrwxr-x+    5 iobroker iobroker  4096 Feb 22 17:40 .
        drwxrwxr-x+ 1340 iobroker iobroker 53248 Aug  5 20:31 ..
        -rw-rwxr--+    1 iobroker iobroker    94 Feb 22 17:40 .editorconfig
        -rw-rwxr--+    1 iobroker iobroker 77898 Feb 22 17:40 CHANGELOG.md
        -rw-rwxr--+    1 iobroker iobroker  1072 Feb 22 17:40 LICENSE
        -rw-rwxr--+    1 iobroker iobroker  7266 Feb 22 17:40 README.md
        -rw-rwxr--+    1 iobroker iobroker  7160 Feb 22 17:40 dayjs.min.js
        drwxrwxr-x+    4 iobroker iobroker  4096 Feb 22 17:40 esm
        -rw-rwxr--+    1 iobroker iobroker 13853 Feb 22 17:40 index.d.ts
        drwxrwxr-x+    2 iobroker iobroker  4096 Feb 22 17:40 locale
        -rw-rwxr--+    1 iobroker iobroker  5033 Feb 22 17:40 locale.json
        -rw-rwxr--+    1 iobroker iobroker  2526 Feb 22 17:40 package.json
        drwxrwxr-x+    2 iobroker iobroker  4096 Feb 22 17:40 plugin
        armilar@iobroker:/opt/iobroker/node_modules/dayjs$
        
        armilar@iobroker:/opt/iobroker/node_modules/@iobroker-javascript.0/dayjs$ ls -la
        total 152
        drwxrwxr-x+  5 iobroker iobroker  4096 Jul 18 21:35 .
        drwxrwxr-x+ 21 iobroker iobroker  4096 Aug  5 18:31 ..
        -rw-rwxr--+  1 iobroker iobroker    94 Jul 18 21:35 .editorconfig
        -rw-rwxr--+  1 iobroker iobroker 79810 Jul 18 21:35 CHANGELOG.md
        -rw-rwxr--+  1 iobroker iobroker  1072 Jul 18 21:35 LICENSE
        -rw-rwxr--+  1 iobroker iobroker  7411 Jul 18 21:35 README.md
        -rw-rwxr--+  1 iobroker iobroker  7160 Jul 18 21:35 dayjs.min.js
        drwxrwxr-x+  4 iobroker iobroker  4096 Jul 18 21:35 esm
        -rw-rwxr--+  1 iobroker iobroker 13872 Jul 18 21:35 index.d.ts
        drwxrwxr-x+  2 iobroker iobroker  4096 Jul 18 21:35 locale
        -rw-rwxr--+  1 iobroker iobroker  5033 Jul 18 21:35 locale.json
        -rw-rwxr--+  1 iobroker iobroker  2526 Jul 18 21:35 package.json
        drwxrwxr-x+  2 iobroker iobroker  4096 Jul 18 21:35 plugin
        armilar@iobroker:/opt/iobroker/node_modules/@iobroker-javascript.0/dayjs$
        

        EDIT2:

        noch ein paar Systemdaten

                 Chassis: vm
          Virtualization: kvm
        Operating System: Ubuntu 22.04.4 LTS
                  Kernel: Linux 5.15.0-117-generic
            Architecture: x86-64
        
        Nodejs-Installation:
        /usr/bin/nodejs         v20.16.0
        /usr/bin/node           v20.16.0
        /usr/bin/npm            10.8.1
        /usr/bin/npx            10.8.1
        /usr/bin/corepack       0.28.2
        
        ioBroker Core:          js-controller           6.0.10
                                admin                   7.0.23
                                javascript              8.8.0 
        
        T haus-automatisierung 2 Replies Last reply Reply Quote 0
        • T
          TT-Tom @Armilar last edited by

          @armilar

          So sieht es bei mir auch aus. Die aktuellen liegen unter @javascript.x , die alten halt unter node_modules. Ich habe unter node_modules den Ordner dayjs mal umbenannt in dayjs1, nach einem Neustart der JavaScript Instanz war der Ordner wieder automatisch dayjs. Kannst du mir das bitte erklären. Ein neuer Ordner dayjs hätte ich verstanden, aber das nicht.

          Armilar 1 Reply Last reply Reply Quote 1
          • Armilar
            Armilar Most Active Forum Testing @TT-Tom last edited by

            @tt-tom

            Vielleicht wurschteln da alte und neue Sourcen im Adapter... Altlasten oder so... keine Ahnung... Sehe das Problem aber nicht im Script...

            T 1 Reply Last reply Reply Quote 0
            • T
              TT-Tom @Armilar last edited by

              @armilar

              Sehe ich auch noch nicht, wollte mal Infos sammeln und dann mit Matthias @haus-automatisierung über den Sachverhalt reden. Vielleicht liegt es am Adapter oder vielleicht sogar im JS-Controller.

              Armilar 1 Reply Last reply Reply Quote 1
              • Armilar
                Armilar Most Active Forum Testing @TT-Tom last edited by

                @tt-tom

                Gehe aktuell mal vom JS-Adapter aus... Der hat die Module im Bauch und verwaltet sie...

                T 1 Reply Last reply Reply Quote 1
                • T
                  TT-Tom @Armilar last edited by TT-Tom

                  @armilar

                  Habe hier im Forum auch schon die Anmerkung gelesen, ob alle Module auch in Typscript-Programmen funktionieren.
                  Da bin ich dann raus, um dies zu prüfen.

                  Edit: da bei mir/uns alles läuft, glaube ich, dass es kein Unterschied macht

                  Armilar Rene55 2 Replies Last reply Reply Quote 0
                  • haus-automatisierung
                    haus-automatisierung Developer Most Active @Armilar last edited by

                    @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                    Du machst es spannend... Wie man sieht sind beide Verzeichnisse vorhanden:

                    /opt/iobroker/node_modules/@iobroker-javascript.0 --> vom Juli

                    Ich habe jetzt hier nicht alles gelesen. Aber die neue Struktur wurde eingeführt, weil npm seit einer bestimmten Version Dinge entfernt, welche nicht in der package.json zu finden sind. Gibt es mehrere Issues zu (jetzt geschlossen) im JavaScript-Adapter und js-controller. Gern tiefer einsteigen bei Interesse.

                    Die Zusatzmodule werden jedenfalls jetzt nur noch in /opt/iobroker/node_modules/@iobroker-javascript.0 installiert und verwaltet. Dort wird dann auch eine package.json gepflegt und von dort werden die Module auch nur noch geladen.

                    Warum sucht ihr überhaupt in den Verzeichnissen rum? Was genau geht nicht?!

                    Armilar 1 Reply Last reply Reply Quote 1
                    • Armilar
                      Armilar Most Active Forum Testing @TT-Tom last edited by

                      @tt-tom

                      Der größte Teil ist bei mir in TypeScript und ich habe irgendwie sehr viele Module geladen... Nirgends ein Problem... Die Kiste läuft rund...

                      siehe:
                      1bb4f850-acd6-4091-9420-0e79b5effe82-image.png

                      So sieht es bei mir in den Modulen in Wirklichkeit aus 😬 ich sollte da mal aufräumen 😁

                      Nee, kann nur jedem ans Herz legen die Schritte zur Aktualisierung des Systems und des ioBrokers regelmäßig durchzuführen... Dann gibts auch keinen Stress...

                      Mag sein, dass da ein alter Ordner wieder angelegt wird. Aber ich gehe davon aus, dass der neuere auch genutzt wird...

                      1 Reply Last reply Reply Quote 1
                      • Armilar
                        Armilar Most Active Forum Testing @haus-automatisierung last edited by

                        @haus-automatisierung

                        @TT-Tom ist auf der Suche nach diesen dayjs und Modul XYZ wird nicht geladen Problemen... Häufen sich angeblich...

                        haus-automatisierung 1 Reply Last reply Reply Quote 0
                        • Rene55
                          Rene55 @TT-Tom last edited by

                          @tt-tom Ich such mir auch nen Wolf. Ich kann nur javascript.0 (707) script.js.common.NSPanel.NSPanelTS44b: Error: Cannot find module 'dayjs' als Fehlermeldung beisteuern. Ich habe diesen Programmteil auch mal unter JS laufen lassen. Funktioniert da auch nicht.

                          1 Reply Last reply Reply Quote 0
                          • haus-automatisierung
                            haus-automatisierung Developer Most Active @Armilar last edited by

                            @armilar sagte in SONOFF NSPanel mit Lovelace UI:

                            @TT-Tom ist auf der Suche nach diesen dayjs und Modul XYZ wird nicht geladen Problemen

                            js-controller sollte 6.0.9 sein (da gab es noch eine Erweiterung) oder die letzte 5.x. Der "neue Weg" wird nur genutzt, wenn die Funktionen vom js-controller 6 existieren.

                            https://github.com/ioBroker/ioBroker.javascript/blob/d978d5452948b7784d5fb910e852a591d4603508/main.js#L1881-L1894

                            Armilar 1 Reply Last reply Reply Quote 1
                            • Armilar
                              Armilar Most Active Forum Testing @haus-automatisierung last edited by Armilar

                              @haus-automatisierung

                              hatte ich hier gestern auch schon gepostet:

                              https://forum.iobroker.net/post/1187913

                              EDIT; Eventuell kann man das im Forum etwas sichtbarere machen oder ein Adapter-Upgrade an dieser Stelle mit einer Fehlermeldung abbrechen. Führt sonst nur zu Problemen...

                              EDIT2: Interessant... Genau dieser Abbruch sollte passieren 😕

                              haus-automatisierung 1 Reply Last reply Reply Quote 0
                              • haus-automatisierung
                                haus-automatisierung Developer Most Active @Armilar last edited by

                                @armilar Ansonsten gebt ihr die dependencies ja immer ohne Version an. Eventuell habt ihr dadurch unterschiede? Schon verglichen was installiert wurde?

                                https://www.npmjs.com/package/dayjs?activeTab=versions

                                1.11.12 ist ja erst 19 Tage alt.

                                Armilar T 2 Replies Last reply Reply Quote 0
                                • Armilar
                                  Armilar Most Active Forum Testing @haus-automatisierung last edited by

                                  @haus-automatisierung

                                  Ich gehe mal davon aus, dass mir bei den regelmäßigen Systemstarts dieser Fehler aufgefallen wäre... Also wenn da mal ein fehlerhaftes dayjs dabei gewesen wäre...

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    TT-Tom @haus-automatisierung last edited by TT-Tom

                                    @haus-automatisierung
                                    Das ist das Log von @MichaelF
                                    Er bekommt trotzdem die Fehlermeldung das dayjs nicht gefunden wird.

                                    javascript.0
                                    2024-08-06 12:44:10.233	info	requesting all objects
                                     
                                    javascript.0
                                    2024-08-06 12:44:10.231	info	requesting all states
                                     
                                    javascript.0
                                    2024-08-06 12:44:05.205	debug	Loaded TypeScript definitions for request: ["node_modules/@types/request/package.json","node_modules/@types/request/index.d.ts"]
                                     
                                    javascript.0
                                    2024-08-06 12:44:05.171	debug	Loaded TypeScript definitions for node: ["node_modules/@types/node/package.json","node_modules/@types/node/index.d.ts","node_modules/@types/node/assert.d.ts","node_modules/@types/node/assert/strict.d.ts","node_modules/@types/node/globals.d.ts","node_modules/@types/node/async_hooks.d.ts","node_modules/@types/node/buffer.d.ts","node_modules/@types/node/child_process.d.ts","node_modules/@types/node/cluster.d.ts","node_modules/@types/node/console.d.ts","node_modules/@types/node/constants.d.ts","node_modules/@types/node/crypto.d.ts","node_modules/@types/node/dgram.d.ts","node_modules/@types/node/diagnostics_channel.d.ts","node_modules/@types/node/dns.d.ts","node_modules/@types/node/dns/promises.d.ts","node_modules/@types/node/domain.d.ts","node_modules/@types/node/dom-events.d.ts","node_modules/@types/node/events.d.ts","node_modules/@types/node/fs.d.ts","node_modules/@types/node/fs/promises.d.ts","node_modules/@types/node/http.d.ts","node_modules/@types/node/http2.d.ts","node_modules/@types/node/https.d.ts","node_modules/@types/node/inspector.d.ts","node_modules/@types/node/module.d.ts","node_modules/@types/node/net.d.ts","node_modules/@types/node/os.d.ts","node_modules/@types/node/path.d.ts","node_modules/@types/node/perf_hooks.d.ts","node_modules/@types/node/process.d.ts","node_modules/@types/node/punycode.d.ts","node_modules/@types/node/querystring.d.ts","node_modules/@types/node/readline.d.ts","node_modules/@types/node/readline/promises.d.ts","node_modules/@types/node/repl.d.ts","node_modules/@types/node/sea.d.ts","node_modules/@types/node/stream.d.ts","node_modules/@types/node/stream/promises.d.ts","node_modules/@types/node/stream/consumers.d.ts","node_modules/@types/node/stream/web.d.ts","node_modules/@types/node/string_decoder.d.ts","node_modules/@types/node/test.d.ts","node_modules/@types/node/timers.d.ts","node_modules/@types/node/timers/promises.d.ts","node_modules/@types/node/tls.d.ts","node_modules/@types/node/trace_events.d.ts","node_modules/@types/node/tty.d.ts","node_modules/@types/node/url.d.ts","node_modules/@types/node/util.d.ts","node_modules/@types/node/v8.d.ts","node_modules/@types/node/vm.d.ts","node_modules/@types/node/wasi.d.ts","node_modules/@types/node/worker_threads.d.ts","node_modules/@types/node/zlib.d.ts","node_modules/@types/node/globals.global.d.ts"]
                                     
                                    javascript.0
                                    2024-08-06 12:44:05.117	debug	Installed custom dependency: "dayjs@latest"
                                     
                                    javascript.0
                                    2024-08-06 12:43:49.595	debug	Found custom dependency in config: "dayjs@latest"
                                     
                                    javascript.0
                                    2024-08-06 12:43:49.557	debug	Installed custom dependency: "moment@latest"
                                     
                                    javascript.0
                                    2024-08-06 12:43:34.083	debug	Found custom dependency in config: "moment@latest"
                                     
                                    javascript.0
                                    2024-08-06 12:43:34.075	debug	Installed custom dependency: "moment-parseformat@latest"
                                     
                                    javascript.0
                                    2024-08-06 12:43:18.791	debug	Found custom dependency in config: "moment-parseformat@latest"
                                     
                                    javascript.0
                                    2024-08-06 12:43:18.741	debug	Installed custom dependency: "node-ssh@latest"
                                     
                                    javascript.0
                                    2024-08-06 12:43:02.887	debug	Found custom dependency in config: "node-ssh@latest"
                                     
                                    javascript.0
                                    2024-08-06 12:43:02.730	debug	Installed custom dependency: "simple-ssh@latest"
                                     
                                    javascript.0
                                    2024-08-06 12:42:46.936	debug	Found custom dependency in config: "simple-ssh@latest"
                                     
                                    javascript.0
                                    2024-08-06 12:42:46.935	debug	Found installed libraries: ["moment","moment-parseformat","node-ssh","simple-ssh"]
                                     
                                    javascript.0
                                    2024-08-06 12:42:46.883	debug	config.subscribe (Do not subscribe all states on start): false
                                     
                                    javascript.0
                                    2024-08-06 12:42:46.840	info	starting. Version 8.7.6 in /opt/iobroker/node_modules/iobroker.javascript, node: v20.16.0, js-controller: 6.0.9
                                     
                                    javascript.0
                                    2024-08-06 12:42:41.588	debug	Plugin sentry Initialize Plugin (enabled=true)
                                    
                                    

                                    post zum Inhalt des Verzeichnis

                                    Edit: die Daten sind alle da, auch das System ist aktuell. Trotzdem kommt es zu den Meldungen.

                                    Das ist der Code Ausschnitt vom Script

                                    async function Init_dayjs() {
                                        try {
                                            //Loading dayjs
                                            const dayjs = require('dayjs');
                                            const dayjsLanguages: any = ['en','de','nl','da','es','fr','it','ru','nb','nn',
                                                                         'pl','pt','af','ar','bg','ca','cs','el','et','fa',
                                                                         'fi','he','hr','hu','hy-am','id','is','lb','lt','ro',
                                                                         'sk','sl','sv','th','tr','uk','vi','zh-cn','zh-tw']
                                            for (let i=0; i<dayjsLanguages.length;i++) {
                                                require('dayjs/locale/'+ dayjsLanguages[i]);     
                                            } 
                                            dayjs.locale(getDayjsLocale());
                                        } catch (err: any) {
                                            log('error at function init_dayjs: ' + err.message,'warn'); 
                                        }        
                                    }
                                    Init_dayjs();
                                    
                                    Rene55 1 Reply Last reply Reply Quote 0
                                    • Rene55
                                      Rene55 @TT-Tom last edited by

                                      @tt-tom Ich habe gerade nochmal ein Backup vom 09.06. draufgeworfen. Darin js-Controller 5.0.19 und javascript-adapter 8.5.0. Hier tritt kein dayjs-Fehler auf.

                                      T 1 Reply Last reply Reply Quote 0
                                      • T
                                        TT-Tom @Rene55 last edited by TT-Tom

                                        @rene55

                                        das ist interessant, kannst du mal bitte die Pfade kontrollieren, wo die npm-Module installiert sind.
                                        Hast du vom 9.6. dann das Update auf die aktuellen Versionen gemacht?

                                        @haus-automatisierung der Post von Rene55, vielleicht ist das noch ein wichtiger Hinweis.

                                        @Armilar was mir jetzt noch einfällt ist der Zusatz mit dem default

                                        const dayjs = require('dayjs').default;
                                        

                                        Matthias muss/soll das noch so geschrieben werden? Wurde eine zeitlang hier im Forum so erwähnt oder ist das mit der aktuellen JavaScript Version nicht mehr nötig?

                                        haus-automatisierung Rene55 2 Replies Last reply Reply Quote 0
                                        • haus-automatisierung
                                          haus-automatisierung Developer Most Active @TT-Tom last edited by

                                          @tt-tom sagte in SONOFF NSPanel mit Lovelace UI:

                                          @Armilar was mir jetzt noch einfällt ist der Zusatz mit dem default
                                          Copy to Clipboardconst dayjs = require('dayjs').default;

                                          Wenn default existiert, wird das automatisch zurückgeliefert. Also nein, weglassen.

                                          1 Reply Last reply Reply Quote 1
                                          • S
                                            SuFra last edited by

                                            Hallo zusammen.
                                            Ich habe gerade auch mein System auf JS Controller 6.0.9 upgedatet und nun die gleiche Fehlermeldung beim Starten/Compilieren der Scripte.

                                            frank@iobroker-SuFra:/$ cd /opt/iobroker/node_modules/dayjs
                                            -bash: cd: /opt/iobroker/node_modules/dayjs: No such file or directory
                                            
                                            frank@iobroker-SuFra:/$ cd /opt/iobroker/node_modules/@iobroker-javascript.0/dayjs
                                            frank@iobroker-SuFra:/opt/iobroker/node_modules/@iobroker-javascript.0/dayjs$ ls -la
                                            total 152
                                            drwxrwxr-x+ 5 iobroker iobroker  4096 Aug  7 17:50 .
                                            drwxrwxr-x+ 6 iobroker iobroker  4096 Aug  7 17:50 ..
                                            -rw-rw-r--+ 1 iobroker iobroker 79810 Aug  7 17:50 CHANGELOG.md
                                            -rw-rw-r--+ 1 iobroker iobroker  7160 Aug  7 17:50 dayjs.min.js
                                            -rw-rw-r--+ 1 iobroker iobroker    94 Aug  7 17:50 .editorconfig
                                            drwxrwxr-x+ 4 iobroker iobroker  4096 Aug  7 17:50 esm
                                            -rw-rw-r--+ 1 iobroker iobroker 13872 Aug  7 17:50 index.d.ts
                                            -rw-rw-r--+ 1 iobroker iobroker  1072 Aug  7 17:50 LICENSE
                                            drwxrwxr-x+ 2 iobroker iobroker  4096 Aug  7 17:50 locale
                                            -rw-rw-r--+ 1 iobroker iobroker  5033 Aug  7 17:50 locale.json
                                            -rw-rw-r--+ 1 iobroker iobroker  2526 Aug  7 17:50 package.json
                                            drwxrwxr-x+ 2 iobroker iobroker  4096 Aug  7 17:50 plugin
                                            -rw-rw-r--+ 1 iobroker iobroker  7411 Aug  7 17:50 README.md
                                            

                                            Gruß Frank

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            902
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            lovelace ui nspanel sonoff
                                            260
                                            7128
                                            4460646
                                            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