Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Problem mit Ring-Adapter

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Problem mit Ring-Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • Thomas Braun
      Thomas Braun Most Active @haselchen last edited by

      @haselchen sagte in Problem mit Ring-Adapter:

      sichert Backitup auch diesen Pfad/Zweig?

      Nö, warum auch?

      1 Reply Last reply Reply Quote 0
      • S
        Stefan341 @haselchen last edited by

        @haselchen , @Thomas-Braun , @mcm1957

        Ich habe noch ein weiteres Problem. unwahr bekomme ich folgende Fehlermeldung in den Logs:

        2025-03-16 11:03:30.003  - warn: ring.0 (3975920) Device XXXXXXXXXXX ("Haustür"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
        

        Welcher Timer ist gemeint?

        haselchen 1 Reply Last reply Reply Quote 0
        • haselchen
          haselchen Most Active @Stefan341 last edited by haselchen

          @stefan341

          Guckst in den Adapter Einstellungen, ob Du da nen Haken gemacht hast oder in Deine Ring App auf dem Handy , ob Du da eingestellt hast , es soll alle paar Minuten oder zu einem bestimmten Zeitpunkt ein Snapshot gemacht werden.
          Ooooooder in Deine Scripte oder Blocklys.

          S 1 Reply Last reply Reply Quote 0
          • S
            Stefan341 @haselchen last edited by Stefan341

            @haselchen said in Problem mit Ring-Adapter:

            @stefan341

            Guckst in den Adapter Einstellungen, ob Du da nen Haken gemacht hast oder in Deine Ring App auf dem Handy , ob Du da eingestellt hast , es soll alle paar Minuten oder zu einem bestimmten Zeitpunkt ein Snapshot gemacht werden.
            Ooooooder in Deine Scripte oder Blocklys.

            Also, den Adapter kann ich glaube ich ausschließen, Bei den Skripten habe ich nur die drei folgenden, das kann ich auch ausschließen.
            Bildschirmfoto 2025-03-16 um 12.57.01.png

            Bildschirmfoto 2025-03-16 um 12.55.17.png

            Bildschirmfoto 2025-03-16 um 12.53.40.png

            Kannst du mir sagen wo die entsprechende Einstellung in der App wäre? Ich habe nichts in der Art gefunden.

            haselchen 1 Reply Last reply Reply Quote 0
            • haselchen
              haselchen Most Active @Stefan341 last edited by

              @stefan341

              Gerät -> Dein Gerät -> Geräteeinstellungen

              Da kommt dann sowas wie Momentaufnahmen….

              S 1 Reply Last reply Reply Quote 0
              • S
                Stefan341 @haselchen last edited by

                @haselchen said in Problem mit Ring-Adapter:

                @stefan341

                Gerät -> Dein Gerät -> Geräteeinstellungen

                Da kommt dann sowas wie Momentaufnahmen….

                Ist ausgeschaltet. Die Fehler kommen weiterhin.

                haselchen 1 Reply Last reply Reply Quote 0
                • haselchen
                  haselchen Most Active @Stefan341 last edited by

                  @stefan341

                  In der Instanz nen Cronjob eingestellt?

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    Stefan341 @haselchen last edited by Stefan341

                    @haselchen said in Problem mit Ring-Adapter:

                    @stefan341

                    In der Instanz nen Cronjob eingestellt?

                    Hm, ich gehe davon aus wenn ich nicht weiß wie ich das machen würde, dass auch keiner eingestellt ist oder kann der auch durch was anderes eingestellt werden?

                    Edit:
                    Jetzt weiß ich was du meinst. Aber auch da liegt der Fehler nicht - kein Cronjob
                    Bildschirmfoto 2025-03-16 um 15.27.39.png

                    haselchen 1 Reply Last reply Reply Quote 0
                    • haselchen
                      haselchen Most Active @Stefan341 last edited by haselchen

                      @stefan341

                      Hast Du was in den Adapter Einstellungen zu letztens geändert?

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        Stefan341 @haselchen last edited by Stefan341

                        @haselchen said in Problem mit Ring-Adapter:

                        @stefan341

                        Hast Du was in den Adapter Einstellungen zu letztens geändert?

                        Nur den Pfad angepasst. Ansonsten ist noch alles so in den Screenshots die ich weiter oben gepostet habe.

                        haselchen 1 Reply Last reply Reply Quote 0
                        • haselchen
                          haselchen Most Active @Stefan341 last edited by haselchen

                          @stefan341

                          Da gehen mir ehrlich gesagt die Ideen aus .
                          Adapter Einstellung ( da die Meldung vom Adapter kommt) oder Blockly oder Skript.
                          Das sind die Hauptverdächtigen.

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            Stefan341 @haselchen last edited by

                            Ich versuche es nochmal, vielleicht hat ja jemand noch eine Idee:
                            Sobald ich den Ring-Adapter starte, liefert er pausenlos Fehlermeldungen.

                            2025-03-22 08:59:03.308 - info: ring.0 (3998066) starting. Version 6.3.0 in /opt/iobroker/node_modules/iobroker.ring, node: v20.19.0, js-controller: 7.0.6
                            2025-03-22 08:59:03.321 - info: ring.0 (3998066) Initializing Api Client
                            2025-03-22 08:59:06.715 - info: ring.0 (3998066) Received new Refresh Token. Will use the new one until the token in config gets changed
                            2025-03-22 08:59:13.877 - info: ring.0 (3998066) Device 213497705 ("Haustür"): Create scheduled Job for HD Snapshot at "*/5 * * * * *"
                            2025-03-22 08:59:13.918 - info: ring.0 (3998066) Device 384912755 ("Parkplatz"): Create scheduled Job for HD Snapshot at "*/5 * * * * *"
                            2025-03-22 08:59:13.920 - info: ring.0 (3998066) Get sunset and sunrise
                            2025-03-22 08:59:13.939 - info: ring.0 (3998066) Daily sun parameter calculation scheduled for 00:00:40
                            2025-03-22 08:59:15.003 - info: ring.0 (3998066) Device 384912755 ("Parkplatz"): Cronjob Auto save HD Snapshot starts
                            2025-03-22 08:59:15.004 - info: ring.0 (3998066) Device 213497705 ("Haustür"): Cronjob Auto save HD Snapshot starts
                            2025-03-22 08:59:20.004 - warn: ring.0 (3998066) Device 213497705 ("Haustür"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                            2025-03-22 08:59:20.005 - warn: ring.0 (3998066) Device 384912755 ("Parkplatz"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                            2025-03-22 08:59:25.004 - warn: ring.0 (3998066) Device 384912755 ("Parkplatz"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                            2025-03-22 08:59:25.005 - warn: ring.0 (3998066) Device 213497705 ("Haustür"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                            2025-03-22 08:59:30.003 - warn: ring.0 (3998066) Device 213497705 ("Haustür"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                            2025-03-22 08:59:30.004 - warn: ring.0 (3998066) Device 384912755 ("Parkplatz"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                            2025-03-22 08:59:35.002 - warn: ring.0 (3998066) Device 384912755 ("Parkplatz"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                            2025-03-22 08:59:35.002 - warn: ring.0 (3998066) Device 213497705 ("Haustür"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                            2025-03-22 08:59:40.003 - warn: ring.0 (3998066) Device 213497705 ("Haustür"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                            2025-03-22 08:59:40.004 - warn: ring.0 (3998066) Device 384912755 ("Parkplatz"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                            

                            Hat vielleicht jemand noch eine Idee was da falsch läuft?

                            haselchen 1 Reply Last reply Reply Quote 0
                            • haselchen
                              haselchen Most Active @Stefan341 last edited by

                              @stefan341

                              Nimm hier mal bei beiden Einträgen die 5sek raus

                              9c71d4c0-3bf0-4cc5-a2c6-7e01802bd5d8-grafik.png

                              S 2 Replies Last reply Reply Quote 0
                              • S
                                Stefan341 @haselchen last edited by

                                @haselchen said in Problem mit Ring-Adapter:

                                @stefan341

                                Nimm hier mal bei beiden Einträgen die 5sek raus

                                Hab ich gemacht, danach den Adapter neu gestartet. Bringt nicht viel.

                                2025-03-22 13:13:27.648 - info: host.ioB-Master stopInstance system.adapter.ring.0 (force=false, process=true)
                                2025-03-22 13:13:27.654 - info: ring.0 (3998066) Got terminate signal TERMINATE_YOURSELF
                                2025-03-22 13:13:27.655 - info: ring.0 (3998066) terminating
                                2025-03-22 13:13:27.655 - info: ring.0 (3998066) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                                2025-03-22 13:13:27.781 - info: host.ioB-Master stopInstance system.adapter.ring.0 send kill signal
                                2025-03-22 13:13:28.156 - info: ring.0 (3998066) terminating
                                2025-03-22 13:13:28.782 - info: host.ioB-Master stopInstance timeout system.adapter.ring.0 killing pid 3998066
                                2025-03-22 13:13:28.873 - warn: host.ioB-Master instance system.adapter.ring.0 terminated due to SIGKILL
                                2025-03-22 13:13:28.873 - info: host.ioB-Master instance system.adapter.ring.0 terminated with code null ()
                                2025-03-22 13:13:32.258 - info: host.ioB-Master instance system.adapter.ring.0 in version "6.3.0" started with pid 3998701
                                2025-03-22 13:13:33.747 - info: ring.0 (3998701) starting. Version 6.3.0 in /opt/iobroker/node_modules/iobroker.ring, node: v20.19.0, js-controller: 7.0.6
                                2025-03-22 13:13:33.760 - info: ring.0 (3998701) Initializing Api Client
                                2025-03-22 13:13:37.168 - info: ring.0 (3998701) Received new Refresh Token. Will use the new one until the token in config gets changed
                                2025-03-22 13:13:44.326 - info: ring.0 (3998701) Device 213497705 ("Haustür"): Create scheduled Job for HD Snapshot at "*/5 * * * * *"
                                2025-03-22 13:13:44.361 - info: ring.0 (3998701) Device 384912755 ("Parkplatz"): Create scheduled Job for HD Snapshot at "*/5 * * * * *"
                                2025-03-22 13:13:44.362 - info: ring.0 (3998701) Get sunset and sunrise
                                2025-03-22 13:13:44.376 - info: ring.0 (3998701) Daily sun parameter calculation scheduled for 00:00:29
                                2025-03-22 13:13:45.002 - info: ring.0 (3998701) Device 384912755 ("Parkplatz"): Cronjob Auto save HD Snapshot starts
                                2025-03-22 13:13:45.004 - info: ring.0 (3998701) Device 213497705 ("Haustür"): Cronjob Auto save HD Snapshot starts
                                2025-03-22 13:13:45.448 - info: host.ioB-Master stopInstance system.adapter.ring.0 (force=false, process=true)
                                2025-03-22 13:13:45.450 - info: ring.0 (3998701) Got terminate signal TERMINATE_YOURSELF
                                2025-03-22 13:13:45.452 - info: ring.0 (3998701) terminating
                                2025-03-22 13:13:45.452 - info: ring.0 (3998701) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                                2025-03-22 13:13:45.503 - info: host.ioB-Master stopInstance system.adapter.ring.0 send kill signal
                                2025-03-22 13:13:45.953 - info: ring.0 (3998701) terminating
                                2025-03-22 13:13:46.502 - info: host.ioB-Master stopInstance timeout system.adapter.ring.0 killing pid 3998701
                                2025-03-22 13:13:46.567 - warn: host.ioB-Master instance system.adapter.ring.0 terminated due to SIGKILL
                                2025-03-22 13:13:46.567 - info: host.ioB-Master instance system.adapter.ring.0 terminated with code null ()
                                2025-03-22 13:13:49.955 - info: host.ioB-Master instance system.adapter.ring.0 in version "6.3.0" started with pid 3998716
                                2025-03-22 13:13:51.428 - info: ring.0 (3998716) starting. Version 6.3.0 in /opt/iobroker/node_modules/iobroker.ring, node: v20.19.0, js-controller: 7.0.6
                                2025-03-22 13:13:51.453 - info: ring.0 (3998716) Initializing Api Client
                                2025-03-22 13:13:54.913 - info: ring.0 (3998716) Received new Refresh Token. Will use the new one until the token in config gets changed
                                2025-03-22 13:14:02.024 - info: ring.0 (3998716) Device 213497705 ("Haustür"): Create scheduled Job for HD Snapshot at "*/5 * * * * *"
                                2025-03-22 13:14:02.055 - info: ring.0 (3998716) Device 384912755 ("Parkplatz"): Create scheduled Job for HD Snapshot at "*/5 * * * * *"
                                2025-03-22 13:14:02.058 - info: ring.0 (3998716) Get sunset and sunrise
                                2025-03-22 13:14:02.074 - info: ring.0 (3998716) Daily sun parameter calculation scheduled for 00:00:28
                                2025-03-22 13:14:05.004 - info: ring.0 (3998716) Device 384912755 ("Parkplatz"): Cronjob Auto save HD Snapshot starts
                                2025-03-22 13:14:05.006 - info: ring.0 (3998716) Device 213497705 ("Haustür"): Cronjob Auto save HD Snapshot starts
                                2025-03-22 13:14:10.003 - warn: ring.0 (3998716) Device 213497705 ("Haustür"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                                2025-03-22 13:14:10.004 - warn: ring.0 (3998716) Device 384912755 ("Parkplatz"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                                2025-03-22 13:14:15.005 - warn: ring.0 (3998716) Device 384912755 ("Parkplatz"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                                2025-03-22 13:14:15.006 - warn: ring.0 (3998716) Device 213497705 ("Haustür"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                                2025-03-22 13:14:20.004 - warn: ring.0 (3998716) Device 213497705 ("Haustür"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                                2025-03-22 13:14:20.006 - warn: ring.0 (3998716) Device 384912755 ("Parkplatz"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                                2025-03-22 13:14:25.003 - warn: ring.0 (3998716) Device 384912755 ("Parkplatz"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                                2025-03-22 13:14:25.003 - warn: ring.0 (3998716) Device 213497705 ("Haustür"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                                2025-03-22 13:14:30.002 - warn: ring.0 (3998716) Device 213497705 ("Haustür"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                                2025-03-22 13:14:30.003 - warn: ring.0 (3998716) Device 384912755 ("Parkplatz"): Cronjob HD Snapshot not executed because another job is already running. Please adapt timer and/or duration time!
                                
                                (...)
                                2025-03-22 13:14:02.024 - info: ring.0 (3998716) Device 213497705 ("Haustür"): Create scheduled Job for HD Snapshot at "*/5 * * * * *"
                                2025-03-22 13:14:02.055 - info: ring.0 (3998716) Device 384912755 ("Parkplatz"): Create scheduled Job for HD Snapshot at "*/5 * * * * *"
                                (...)
                                

                                Da wird alle 5Min was ausgeführt oder? Könnte das damit zu tun haben?

                                haselchen 1 Reply Last reply Reply Quote 0
                                • haselchen
                                  haselchen Most Active @Stefan341 last edited by haselchen

                                  @stefan341

                                  Alle 5 sek

                                  Und das würde zu der Einstellung passen, die ich vorhin gepostet habe

                                  Edit: woher kommt der Cronjob aus dem 2.Log?

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    Stefan341 @haselchen last edited by Stefan341

                                    @haselchen said in Problem mit Ring-Adapter:

                                    @stefan341

                                    Nimm hier mal bei beiden Einträgen die 5sek raus

                                    9c71d4c0-3bf0-4cc5-a2c6-7e01802bd5d8-grafik.png

                                    Das habe ich gemacht. Sieht jetzt genauso aus wie auf deinem Screenshot.

                                    @haselchen said in Problem mit Ring-Adapter:

                                    @stefan341

                                    Alle 5 sek

                                    Edit: woher kommt der Cronjob aus dem 2.Log?

                                    Ob es ein Cronjob ist, keine Ahnung. Es wird ausgeführt wenn ich den Adapter starte. Es ist in dem ersten Log auch enthalten, ich habe es im zweiten Log nur nochmal separiert.

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

                                      Ich hole das Thema nochmal hoch. Vielleicht hat noch jemand eine Idee?

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

                                        Ich hole das Thema nochmal hoch. Folgendes hat sich ergeben bzw ich denke das ich den Fehler gefunden habe, benötige aber trotzdem noch etwas Hilfe:

                                        Bildschirmfoto 2025-05-29 um 21.19.35.png
                                        In den Datenpunkten des Ring-Adapters finde ich den Datenpunkt history_url. wenn ich den Link aus dem DP in meinen DP einfüge den meine VIS ausliest, wird das Bild angezeigt und alles funktioniert wie es soll.

                                        Das habe ich jetzt versucht zu automatisieren:
                                        Bildschirmfoto 2025-05-29 um 21.25.33.png
                                        Als Trigger erschien mit der DP des Adapters sinnvoll, wo das Datum und die Uhrzeit der letzten Aktion rein geschrieben wird.

                                        Wenn ich das so laufen lasse, bekomme ich folgende Logeinträge

                                        ring.0
                                        3748	2025-05-29 21:30:58.747	error	Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
                                        
                                        ring.0
                                        3748	2025-05-29 21:30:58.747	error	unhandled promise rejection: Parameter "filename" needs to be of type "string" but type "undefined" has been passed
                                        
                                        ring.0
                                        3748	2025-05-29 21:30:58.748	error	Error: Parameter "filename" needs to be of type "string" but type "undefined" has been passed at Validator.assertString (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/cjs/lib/adapter/validator.js:166:13) at RingAdapter.writeFile (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/cjs/lib/adapter/adapter.js:4398:32) at /opt/iobroker/node_modules/iobroker.ring/build/lib/services/file-service.js:103:21 at new Promise (<anonymous>) at FileService.writeFile (/opt/iobroker/node_modules/iobroker.ring/build/lib/services/file-service.js:89:16) at OwnRingCamera.takeSnapshot (/opt/iobroker/node_modules/iobroker.ring/build/lib/ownRingCamera.js:319:42) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async OwnRingCamera.notifyRecording (/opt/iobroker/node_modules/iobroker.ring/build/lib/ownRingCamera.js:841:51)
                                        
                                        ring.0
                                        3748	2025-05-29 21:30:58.749	error	Parameter "filename" needs to be of type "string" but type "undefined" has been passed
                                        
                                        host.ioB-Master
                                        2025-05-29 21:30:59.320	error	instance system.adapter.ring.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
                                        
                                        host.ioB-Slave
                                        2025-05-29 21:31:42.253	error	instance system.adapter.daswetter.0 having pid 9609 terminated with code 15 (UNKNOWN_ERROR)
                                        
                                        

                                        Und jetzt komme ich nicht weiter... der Datenpunkt in den geschrieben wird mit dem Script ist vom Typ String.

                                        1 Reply Last reply Reply Quote 0
                                        • haselchen
                                          haselchen Most Active last edited by haselchen

                                          @stefan341

                                          Soweit ich weiss, muss man die Bilder mit dem writeFile Befehl in einen bestimmten Ordner schreiben , damit sie von der VIS akzeptiert werden (tmp Ordner z.B.)

                                          Schon nen paar Jahre alt, aber sollte noch so stimmen (Beispielskript)

                                          var fs = require('fs');
                                          
                                           
                                          
                                          exec('wget --output-document /tmp/alarm5.jpg \'http://192.168.8.95:8765/picture/1/current/?_username=xxxx&_signature=ba8317b8fc071dadb725d4d0d9dbf7e606acbf1e\'');
                                          
                                           
                                          
                                          const bild = fs.readFileSync('/tmp/alarm5.jpg');
                                          
                                          writeFile('vis.0','alarm5.jpg', bild);
                                          

                                          Edit: gibt mit Sicherheit aktuell galantere Lösungen. So habe und praktiziere ich es aktuell.

                                          S 1 Reply Last reply Reply Quote 0
                                          • S
                                            Stefan341 @haselchen last edited by Stefan341

                                            @haselchen said in Problem mit Ring-Adapter:

                                            Soweit ich weiss, muss man die Bilder mit dem writeFile Befehl in einen bestimmten Ordner schreiben , damit sie von der VIS akzeptiert werden (tmp Ordner z.B.)

                                            Die VIS akzeptiert das Video und spielt es in Dauerschleife, so wie es sein soll. Ich kann nur die URL vom Ring-Adater nicht in meinen Datenpunkt schreiben den die VIS ausliest. Schreibe ich die URL manuell in den DP, geht es.

                                            Es müsste jetzt nur wenn sich im Adapter der DP mit Datum und Uhrzeit ändert, die URL des aktuellen Videos aus dem DP des Adapters in den DP, den meine VIS ausliest übergeben werden.

                                            Von welchem Typ muss der DP sein in den eine URL geschrieben wird? Bei mir ist es String. Das scheint aber ja lt. den Logs nicht ok zu sein.

                                            haselchen 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

                                            554
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            34
                                            1062
                                            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