Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. js-controller 2.0 ab sofort im Latest Repo

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    js-controller 2.0 ab sofort im Latest Repo

    This topic has been deleted. Only users with topic management privileges can see it.
    • V
      viper @Jan1 last edited by

      @Jan1
      Nein vom Login in die Weboberfläche von ioBroker

      V 1 Reply Last reply Reply Quote 0
      • V
        viper @viper last edited by

        Hallo,
        hat sich erledigt, habe noch einmal den Browsercache gelöscht und jetzt geht es.

        1 Reply Last reply Reply Quote 0
        • E
          Einstein67 last edited by Einstein67

          Hab eine kleine Auffälligkeit mit dem Compact Mode entdeckt.

          Wenn ein Backup wiederhergestellt wird bei dem "Compact enabled" ist und mehrere Gruppen angelegt sind, werden nur die Adapter der "Gruppe 1" wiederhergestellt.

          Die Adapter aus (meiner) Gruppe 2 melden beim ersten Start nach dem Restore:

          host.iob10b	2019-11-21 05:51:39.581	info	adapter backitup@1.2.2 is not installed, installation will be handled by group controller
          host.iob10b	2019-11-21 05:51:39.581	info	adapter pi-hole@1.2.2 is not installed, installation will be handled by group controller
          

          Der "Group Controller" macht aber nichts 😉 Diese Adapter werden nicht installiert. Die (leeren) Instanzen sind vorhanden. Was aber kein Problem ist denn ....

          Die Vorgangsweise:

          1. iobroker restore 0
          2. iobroker compact disable
          3. iobroker start (und warten bis alle Adapter installiert sind)
          4. iobroker compact enable

          Funktioniert wie gewünscht!

          apollon77 2 Replies Last reply Reply Quote 0
          • apollon77
            apollon77 @Einstein67 last edited by

            @Einstein67 Danke, legst Du mir dazu botte ein Issue im js.controller projekt an? Danke!

            1 Reply Last reply Reply Quote 0
            • apollon77
              apollon77 @Einstein67 last edited by

              This post is deleted!
              1 Reply Last reply Reply Quote 0
              • apollon77
                apollon77 last edited by

                Hallo an alle Hier!!

                Auch wenn der Release generel SUpper ruhig gelaufen ist wurden doch ein paar Kleinigkeiten noch gefunden die wir heute mit einer 2.1.1 fixen wollen. Die Version sollte zeitnah im latest nach dem üblichen iobroker update auftauchen

                • (bluefox) Fix host deletion
                • (Apollon77) update objects lib to prevent one crash case and make sure extendObject works as intended also for JavaScript adapter
                • (Apollon77) make sure adapters are also reinstalled correctly when used in compact groups

                Wer mag bitte gern testen, würde ich heute Abend schon ins Stable schieben wollen.

                dslraser Diginix Neuschwansteini CKMartens 4 Replies Last reply Reply Quote 0
                • dslraser
                  dslraser Forum Testing Most Active @apollon77 last edited by

                  @apollon77
                  2.1.1. ist installiert und läuft. Bisher keine Auffälligkeiten. Alle Adapter grün.

                  1 Reply Last reply Reply Quote 1
                  • Stabilostick
                    Stabilostick last edited by

                    Sobald im Stable baue ich einen neuen Windows Installer.

                    1 Reply Last reply Reply Quote 0
                    • Diginix
                      Diginix @apollon77 last edited by Diginix

                      Update auf JS-Controller 2.1.1 gemacht und läuft seit dem unauffällig.

                      1 Reply Last reply Reply Quote 1
                      • Neuschwansteini
                        Neuschwansteini @apollon77 last edited by

                        @apollon77 Hi, habe, wie immer, erst die Clients dann den Master geupdated, diesmal kam diese Meldung ( die bluetooth Fehler waren schon immer, das bitte ignorieren..) mit dem Client 'meterberry' - der war schon auf der 2.1.1 ...

                        Laufen tut alles, auf allen Clients, keine weiteren Fehler mehr.

                        ilovegym@iobroker /opt/iobroker $ iobroker upgrade self
                        Update js-controller from @2.1.0 to @2.1.1
                        NPM version: 6.13.0
                        npm install iobroker.js-controller@2.1.1 --unsafe-perm --loglevel error --prefix "/opt/iobroker" (System call)
                         States 192.168.0.57:39286 Error from InMemDB: Error: PSUBSCRIBE-UNSUPPORTED for namespace system.: Data=["system.host.meterberry.logLevel","messagebox.system.host.meterberry","io.*.logging","io.system.adapter.*.alive","io.system.host.meterberry.logLevel"]
                        ../src/BluetoothHciSocket.cpp: In member function ‘void BluetoothHciSocket::poll()’:
                        ../src/BluetoothHciSocket.cpp:251:95: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
                             Nan::MakeCallback(Nan::New<Object>(this->This), Nan::New("emit").ToLocalChecked(), 2, argv);
                                                                                                                       ^
                        In file included from ../src/BluetoothHciSocket.cpp:8:0:
                        ../../nan/nan.h:1045:46: note: declared here
                           NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                                                      ^
                        ../src/BluetoothHciSocket.cpp: In member function ‘void BluetoothHciSocket::emitErrnoError()’:
                        ../src/BluetoothHciSocket.cpp:275:72: error: no matching function for call to ‘v8::Function::NewInstance(int, v8::Local<v8::Value> [1])’
                           Local<Value> error = errorConstructor->NewInstance(1, constructorArgs);
                                                                                                ^
                        In file included from /home/iobroker/.cache/node-gyp/10.17.0/include/node/node.h:63:0,
                                         from /home/iobroker/.cache/node-gyp/10.17.0/include/node/node_buffer.h:25,
                                         from ../src/BluetoothHciSocket.cpp:7:
                        /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:3993:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>, int, v8::Local<v8::Value>*) const
                           V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                                                    ^
                        /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:3993:44: note:   candidate expects 3 arguments, 2 provided
                        /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:3996:44: note: candidate: v8::MaybeLocal<v8::Object> v8::Function::NewInstance(v8::Local<v8::Context>) const
                           V8_WARN_UNUSED_RESULT MaybeLocal<Object> NewInstance(
                                                                    ^
                        /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:3996:44: note:   candidate expects 1 argument, 2 provided
                        ../src/BluetoothHciSocket.cpp:282:93: warning: ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated [-Wdeprecated-declarations]
                           Nan::MakeCallback(Nan::New<Object>(this->This), Nan::New("emit").ToLocalChecked(), 2, argv);
                                                                                                                     ^
                        In file included from ../src/BluetoothHciSocket.cpp:8:0:
                        ../../nan/nan.h:1045:46: note: declared here
                           NAN_DEPRECATED inline v8::Local<v8::Value> MakeCallback(
                                                                      ^
                        ../src/BluetoothHciSocket.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BluetoothHciSocket::BindRaw(Nan::NAN_METHOD_ARGS_TYPE)’:
                        ../src/BluetoothHciSocket.cpp:395:34: warning: ‘int64_t v8::Value::IntegerValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
                               devId = arg0->IntegerValue();
                                                          ^
                        In file included from /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:26:0,
                                         from /home/iobroker/.cache/node-gyp/10.17.0/include/node/node.h:63,
                                         from /home/iobroker/.cache/node-gyp/10.17.0/include/node/node_buffer.h:25,
                                         from ../src/BluetoothHciSocket.cpp:7:
                        /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:2476:46: note: declared here
                           V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
                                                                      ^
                        /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
                           declarator __attribute__((deprecated(message)))
                           ^
                        ../src/BluetoothHciSocket.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BluetoothHciSocket::BindUser(Nan::NAN_METHOD_ARGS_TYPE)’:
                        ../src/BluetoothHciSocket.cpp:417:34: warning: ‘int64_t v8::Value::IntegerValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
                               devId = arg0->IntegerValue();
                                                          ^
                        In file included from /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:26:0,
                                         from /home/iobroker/.cache/node-gyp/10.17.0/include/node/node.h:63,
                                         from /home/iobroker/.cache/node-gyp/10.17.0/include/node/node_buffer.h:25,
                                         from ../src/BluetoothHciSocket.cpp:7:
                        /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8.h:2476:46: note: declared here
                           V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
                                                                      ^
                        /home/iobroker/.cache/node-gyp/10.17.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
                           declarator __attribute__((deprecated(message)))
                           ^
                        make: *** [Release/obj.target/binding/src/BluetoothHciSocket.o] Error 1
                        gyp ERR! build error 
                        gyp ERR! stack Error: `make` failed with exit code: 2
                        gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
                        gyp ERR! stack     at ChildProcess.emit (events.js:198:13)
                        gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
                        gyp ERR! System Linux 4.15.0-70-generic
                        gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
                        gyp ERR! cwd /opt/iobroker/node_modules/bluetooth-hci-socket
                        gyp ERR! node -v v10.17.0
                        gyp ERR! node-gyp -v v5.0.5
                        gyp ERR! not ok 
                        Starting node restart.js
                        ilovegym@iobroker /opt/iobroker $ iobroker start
                        ilovegym@iobroker /opt/iobroker $ 
                        
                        
                        apollon77 2 Replies Last reply Reply Quote 0
                        • apollon77
                          apollon77 @Neuschwansteini last edited by

                          @ilovegym Danke, checke ich, aber nicht kritisch wenn das beim upgrade kommt

                          1 Reply Last reply Reply Quote 0
                          • apollon77
                            apollon77 @Neuschwansteini last edited by

                            @ilovegym PS: Danach aber im normalen Log gab es keine solchen Meldungen?

                            Neuschwansteini 1 Reply Last reply Reply Quote 0
                            • CKMartens
                              CKMartens @apollon77 last edited by

                              @apollon77

                              Wie schon im Issue von javascript Adapter geschrieben scheint nun die Kompination von js-controler 2.1.1 und dem javascript-Adaper 4.3.4 das Instanz-Problem gelöst zu haben. Dankeschön euch beiden für die wieder super Arbeit!

                              1 Reply Last reply Reply Quote 1
                              • Neuschwansteini
                                Neuschwansteini @apollon77 last edited by

                                @apollon77 sagte in js-controller 2.0 ab sofort im Latest Repo:

                                @ilovegym PS: Danach aber im normalen Log gab es keine solchen Meldungen?

                                nee, ab und zu kommt mal : some Hosts are offline ( sind sie aber nicht).. und der Sonoff Adapter zickt seitdem rum..

                                host.iobroker	2019-11-22 17:30:09.407	error	Caught by controller[0]: at DestroyableTransform.onreadable (/opt/iobroker/node_modules/duplexify/index.js:134:10)
                                host.iobroker	2019-11-22 17:30:09.406	error	Caught by controller[0]: at Connection.Duplexify._forward (/opt/iobroker/node_modules/duplexify/index.js:170:26)
                                host.iobroker	2019-11-22 17:30:09.406	error	Caught by controller[0]: at Connection.Readable.push (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:245:10)
                                host.iobroker	2019-11-22 17:30:09.406	error	Caught by controller[0]: at readableAddChunk (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:278:11)
                                host.iobroker	2019-11-22 17:30:09.406	error	Caught by controller[0]: at addChunk (/opt/iobroker/node_modules/readable-stream/lib/_stream_readable.js:291:12)
                                host.iobroker	2019-11-22 17:30:09.406	error	Caught by controller[0]: at Connection.emit (events.js:198:13)
                                host.iobroker	2019-11-22 17:30:09.405	error	Caught by controller[0]: at Connection.emitPacket (/opt/iobroker/node_modules/mqtt-connection/connection.js:10:8)
                                host.iobroker	2019-11-22 17:30:09.405	error	Caught by controller[0]: at Connection.emit (events.js:198:13)
                                host.iobroker	2019-11-22 17:30:09.405	error	Caught by controller[0]: at Connection.client.on.packet (/opt/iobroker/node_modules/iobroker.sonoff/lib/server.js:1558:21)
                                host.iobroker	2019-11-22 17:30:09.405	error	Caught by controller[0]: at receivedTopic (/opt/iobroker/node_modules/iobroker.sonoff/lib/server.js:1067:30)
                                host.iobroker	2019-11-22 17:30:09.405	error	Caught by controller[0]: TypeError: Cannot read property 'topic' of undefined
                                host.iobroker	2019-11-22 17:30:08.181	info	instance system.adapter.meteoalarm.0 started with pid 15225
                                host.iobroker	2019-11-22 17:30:04.158	info	instance system.adapter.ical.0 started with pid 15210
                                host.iobroker	2019-11-22 17:30:01.603	info	instance system.adapter.wifilight.0 started with pid 15191
                                host.iobroker	2019-11-22 17:30:00.582	info	Restart adapter system.adapter.wifilight.0 because enabled
                                host.iobroker	2019-11-22 17:30:00.582	error	instance system.adapter.wifilight.0 terminated with code 156 (156)
                                host.iobroker	2019-11-22 17:30:00.023	info	instance system.adapter.openweathermap.0 started with pid 15179
                                host.iobroker	2019-11-22 17:29:31.207	warn	some hosts are offline
                                
                                apollon77 1 Reply Last reply Reply Quote 0
                                • E
                                  Einstein67 last edited by

                                  Hab die RESTORE Funktion mit aktivierten Compact-Mode getestet.

                                  Funktioniert mit 2.1.1 nun problemlos bei allen Gruppen!!

                                  Vielen Dank!

                                  apollon77 1 Reply Last reply Reply Quote 1
                                  • apollon77
                                    apollon77 @Neuschwansteini last edited by

                                    @ilovegym "some hosts are offline" ist nur die Meldung das es da Hosts im System gibt die offline sind ... mehr heisst das nicht. Irgendein Host ist da aber dann offline noch (also irgend ein Slave)

                                    Neuschwansteini 1 Reply Last reply Reply Quote 0
                                    • apollon77
                                      apollon77 @Einstein67 last edited by

                                      @Einstein67 Danke, extrem cool

                                      1 Reply Last reply Reply Quote 0
                                      • Neuschwansteini
                                        Neuschwansteini @apollon77 last edited by Negalein

                                        @apollon77 sagte in js-controller 2.0 ab sofort im Latest Repo:

                                        @ilovegym "some hosts are offline" ist nur die Meldung das es da Hosts im System gibt die offline sind ... mehr heisst das nicht. Irgendein Host ist da aber dann offline noch (also irgend ein Slave)

                                        ähm, nö.. 🙂 da ist nix offline.. vielleicht dem Herrn iobroker nicht schnell genug? Timeout?
                                        hier alles grün:
                                        1b73668c-22ad-46fb-b7ca-bdb33b83396e-grafik.png

                                        hier die Pings:

                                        ilovegym@iobroker ~ $ cd /opt/iobroker
                                        ilovegym@iobroker /opt/iobroker $ ping zeroberry
                                        PING zeroberry.fritz.box (192.168.178.31) 56(84) bytes of data.
                                        64 bytes from zeroberry.fritz.box (192.168.178.31): icmp_seq=1 ttl=64 time=26.0 ms
                                        64 bytes from zeroberry.fritz.box (192.168.178.31): icmp_seq=2 ttl=64 time=39.3 ms
                                        64 bytes from zeroberry.fritz.box (192.168.178.31): icmp_seq=3 ttl=64 time=79.6 ms
                                        ^C
                                        --- zeroberry.fritz.box ping statistics ---
                                        3 packets transmitted, 3 received, 0% packet loss, time 2002ms
                                        rtt min/avg/max/mdev = 26.016/48.327/79.664/22.812 ms
                                        ilovegym@iobroker /opt/iobroker $ ping meterberry
                                        PING meterberry.fritz.box (192.168.0.57) 56(84) bytes of data.
                                        64 bytes from meterberry.fritz.box (192.168.0.57): icmp_seq=1 ttl=64 time=0.563 ms
                                        64 bytes from meterberry.fritz.box (192.168.0.57): icmp_seq=2 ttl=64 time=9.68 ms
                                        ^C
                                        --- meterberry.fritz.box ping statistics ---
                                        2 packets transmitted, 2 received, 0% packet loss, time 1010ms
                                        rtt min/avg/max/mdev = 0.563/5.123/9.683/4.560 ms
                                        ilovegym@iobroker /opt/iobroker $ ping zweiberry
                                        PING zweiberry.fritz.box (192.168.0.67) 56(84) bytes of data.
                                        64 bytes from zweiberry.fritz.box (192.168.0.67): icmp_seq=1 ttl=64 time=0.668 ms
                                        64 bytes from zweiberry.fritz.box (192.168.0.67): icmp_seq=2 ttl=64 time=0.813 ms
                                        ^C
                                        --- zweiberry.fritz.box ping statistics ---
                                        2 packets transmitted, 2 received, 0% packet loss, time 1001ms
                                        rtt min/avg/max/mdev = 0.668/0.740/0.813/0.077 ms
                                        ilovegym@iobroker /opt/iobroker $ ping berrymotion
                                        PING berrymotion.fritz.box (192.168.178.32) 56(84) bytes of data.
                                        64 bytes from berrymotion.fritz.box (192.168.178.32): icmp_seq=1 ttl=64 time=6.37 ms
                                        64 bytes from berrymotion.fritz.box (192.168.178.32): icmp_seq=2 ttl=64 time=4.14 ms
                                        ^C
                                        --- berrymotion.fritz.box ping statistics ---
                                        2 packets transmitted, 2 received, 0% packet loss, time 1001ms
                                        rtt min/avg/max/mdev = 4.142/5.259/6.376/1.117 ms
                                        ilovegym@iobroker /opt/iobroker $ ping gymberry
                                        PING gymberry.fritz.box (192.168.0.84) 56(84) bytes of data.
                                        64 bytes from gymberry.fritz.box (192.168.0.84): icmp_seq=1 ttl=64 time=0.814 ms
                                        64 bytes from gymberry.fritz.box (192.168.0.84): icmp_seq=2 ttl=64 time=0.752 ms
                                        ^C
                                        --- gymberry.fritz.box ping statistics ---
                                        2 packets transmitted, 2 received, 0% packet loss, time 1001ms
                                        rtt min/avg/max/mdev = 0.752/0.783/0.814/0.031 ms
                                        ilovegym@iobroker /opt/iobroker $
                                        
                                        
                                        apollon77 1 Reply Last reply Reply Quote 0
                                        • apollon77
                                          apollon77 @Neuschwansteini last edited by

                                          @ilovegym Also ich habe nochmal geschaut. Der Admin fragt bei den controllern Infos ab und eine dieser Infos ist welche Version auf welchem Host installiert ist 🙂 Also genau das was in der Hosts Ansicht im Admin so angezeigt wird. Diese ABfrage über alle Hosts hat aktuell 5s zum Fertig werden ... wenn nicht alle Hosts so schnell geantwortet haben kommt die Meldung.

                                          Beobachte es mal

                                          Neuschwansteini 1 Reply Last reply Reply Quote 0
                                          • Neuschwansteini
                                            Neuschwansteini @apollon77 last edited by

                                            @apollon77 sagte in js-controller 2.0 ab sofort im Latest Repo:

                                            @ilovegym Also ich habe nochmal geschaut. Der Admin fragt bei den controllern Infos ab und eine dieser Infos ist welche Version auf welchem Host installiert ist 🙂 Also genau das was in der Hosts Ansicht im Admin so angezeigt wird. Diese ABfrage über alle Hosts hat aktuell 5s zum Fertig werden ... wenn nicht alle Hosts so schnell geantwortet haben kommt die Meldung.

                                            Beobachte es mal

                                            Moin, hmm wenn ich wüsste, welcher Host das wäre.. ich hab n Raspi Zero, der ist per Wlan und n bisschen lahm..
                                            hier der Auszug von heute, kommt immer noch..
                                            Seit 10 sitz ich am Rechner.. das mag er wohl nicht 🙂

                                            ilovegym@iobroker /opt/iobroker/log $ cat iobroker.2019-11-23.log | grep some
                                            2019-11-23 02:11:09.312  - warn: host.iobroker some hosts are offline
                                            2019-11-23 02:11:19.166  - warn: host.iobroker some hosts are offline
                                            2019-11-23 02:13:24.964  - warn: host.iobroker some hosts are offline
                                            2019-11-23 03:45:03.836  - warn: host.iobroker some hosts are offline
                                            2019-11-23 04:42:12.865  - warn: host.iobroker some hosts are offline
                                            2019-11-23 10:05:57.985  - warn: host.iobroker some hosts are offline
                                            2019-11-23 10:06:33.360  - warn: host.iobroker some hosts are offline
                                            2019-11-23 10:06:56.107  - warn: host.iobroker some hosts are offline
                                            2019-11-23 10:20:42.512  - warn: host.iobroker some hosts are offline
                                            2019-11-23 10:20:52.313  - warn: host.iobroker some hosts are offline
                                            2019-11-23 10:29:49.736  - warn: host.iobroker some hosts are offline
                                            2019-11-23 10:30:15.023  - warn: host.iobroker some hosts are offline
                                            2019-11-23 10:31:01.581  - warn: host.iobroker some hosts are offline
                                            2019-11-23 10:38:29.141  - warn: host.iobroker some hosts are offline
                                            2019-11-23 10:45:17.477  - warn: host.iobroker some hosts are offline
                                            ilovegym@iobroker /opt/iobroker/log $ 
                                            
                                            
                                            apollon77 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            953
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            js-controller
                                            89
                                            1052
                                            256021
                                            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