Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Entwicklung
  4. Ecovacs Deebot Adapter: Status und Feedback

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

Ecovacs Deebot Adapter: Status und Feedback

Geplant Angeheftet Gesperrt Verschoben Entwicklung
deebotecovacsecovacs-deebotecovacs-deebot adaptersaugrobotervacuum
576 Beiträge 36 Kommentatoren 142.1k Aufrufe 31 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mrbungle64M mrbungle64

    @chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:

    @mrbungle64

    bei info.cleanstatus steht stop
    bei info.chargestatus steht charging

    Danke, ich denke damit konnte ich das fixen.
    Probier mal die 1.4.13-alpha.14

    Chris76eC Online
    Chris76eC Online
    Chris76e
    schrieb am zuletzt editiert von
    #348

    @mrbungle64 :+1: :+1: :+1: :+1: :+1: :+1: :+1: :+1: :+1: :+1: :+1: :+1: :+1:

    Funktioniert wieder, tausend Dank :clap: :clap: :clap: :clap: :clap: :clap:

    1 Antwort Letzte Antwort
    0
    • mrbungle64M mrbungle64

      (Anmerkung: Der folgende Text wurde am 03.06.2022 gekürzt und danach immer wieder aktualisiert)

      Hallo zusammen,

      ich möchte hier über den Status des Ecovacs Deebot Adapters berichten

      und natürlich auch nach Eurer Meinung fragen, ob es noch "offene Baustellen" gibt - oder ob Ihr soweit alles damit umsetzen könnt, was Ihr Euch so vorgestellt habt ( Bitte dabei aber realistisch bleiben und auch den aktuellen Status berücksichtigen ;) ).


      Aktuelle Versionen

      Stadium Version Releasedatum
      Stable 1.4.14 04.02.2024 / 20.02.2024
      Beta 1.4.15 16.03.2024
      Alpha 1.4.16-alpha.2 09.05.2024

      Bekannte (größere) Probleme

      • Aktuell gibt es (mehr oder weniger häufig) auf 32-Bit Systemen Probleme mit der Erstellung vom Map Image.
        • Das betrifft hauptsächlich Raspberry Pi Systeme, welche i.d.R. noch mit einem 32-Bit Linux betrieben werden. Das wird offensichtlich durch eine System-nahe Komponente von bzw. unter der Canvas Library verursacht - daher kann ich aktuell nichts machen und muss an anderer Stelle gefixt werden. Auch eine ältere Version von Canvas hilft nicht weiter, da der betroffene Teil bei der Installation i.d.R. neu erstellt wird.
      • Die Generierung der aktuellen Map ("map.[mapID].loadMapImage" bzw. "map64") funktioniert noch nicht bei den Deebot X1, X2, T20 und T30 Serien

      Weitere Informationen:

      • Informationen und Praxistipps (GitHub)
      • Datenpunkte (GitHub)
      • FAQ (GitHub)

      Möglichkeit für sonstiges Feedback:

      • Bug reports und feature requests (GitHub)
      • Informationen und Praxistipps (Forum)

      Nützliche Links:

      • Deebot Staubsauger in VIS integrieren - ioBroker Tutorial | verdrahtet.info
      • Ideen-Sammlung "Views für ozmo Deebot" (für Deebot Geräte im Allgemeinen)
      mrbungle64M Offline
      mrbungle64M Offline
      mrbungle64
      Developer
      schrieb am zuletzt editiert von mrbungle64
      #349

      Hallo zusammen,

      ab Samstag, den 25.02.2023 wird die Version 1.4.13 über Beta/Latest verfügbar sein.

      :exclamation: Wichtige Änderung:

      Der Endpunkt der Deebot API wurde geändert.
      Die "Request failed with status code 502/504" Warnungen scheinen damit der Vergangenheit anzugehören :)

      :grey_question: Ich kann nur spekulieren, warum der alte Endpunkt diese Probleme macht - vielleicht schaltet Ecovacs diesen demnächst ab und hat den Datenverkehr über den neuen Endpunkt priorisiert. Aber das ist wie gesagt nur Spekulation...

      :new: Folgende Datenpunkte sind hinzugekommen:

      • "consumable.airFreshener" (Lufterfrischer Lebenswerwartung)
      • "consumable.airFreshener_reset" (Lufterfrischer Lebenswerwartung zurücksetzen)
      • "consumable.round_mop_reset" (Wischtücher Lebenswerwartung zurücksetzen)
      • "control.extended.airDrying" (Lufttrocknung starten/stoppen)
      • "control.extended.hostedCleanMode" (Gehosteten Reinigungsmodus starten)
      • "control.extended.selfCleaning" (Reinigung der Wischtücher starten)
      • "control.extended.voiceAssistant" (YIKO ein-/auschalten)
      • "control.extended.washInterval" (Reinigungsintervall)
      • "info.extended.washInterval" (Reinigungsintervall nur als Info - wird evtl. wieder entfernt)
      • "info.extended.airDryingState" (Status der Luftreinigung - wird evtl. wieder entfernt)
      • "info.extended.cleaningStation" (Kanal mit ein paar Infos zur Reinigungsstation)
      • "info.extended.particleRemoval" (Laborfunktion Strategische Partikelentfernung)
      • "info.extended.petPoopAvoidance" (Strategische "Haustierkotvermeidung" ein-/auschalten)

      Folgende Status sind als "cleanstatus" hinzugekommen:

      • "comeClean" (wenn per YIKO Sprachbefehl zum Reinigen gerufen)
      • "washing" (wenn die Wischtücher gereinigt werden)
      • "drying" (wenn die Wischtücher getrocknet werden)

      Die genannten Datenpunkte und Status sind hauptsächlich für die X1 Serie relevant - teilweise aber auch für die T10 Serie - und am Rande für die T9 Serie.

      Auch ein paar zusätzliche Verbesserungen und Optimierungen sind enthalten.

      Viel Spaß :)

      Chris76eC 1 Antwort Letzte Antwort
      2
      • mrbungle64M mrbungle64

        Hallo zusammen,

        ab Samstag, den 25.02.2023 wird die Version 1.4.13 über Beta/Latest verfügbar sein.

        :exclamation: Wichtige Änderung:

        Der Endpunkt der Deebot API wurde geändert.
        Die "Request failed with status code 502/504" Warnungen scheinen damit der Vergangenheit anzugehören :)

        :grey_question: Ich kann nur spekulieren, warum der alte Endpunkt diese Probleme macht - vielleicht schaltet Ecovacs diesen demnächst ab und hat den Datenverkehr über den neuen Endpunkt priorisiert. Aber das ist wie gesagt nur Spekulation...

        :new: Folgende Datenpunkte sind hinzugekommen:

        • "consumable.airFreshener" (Lufterfrischer Lebenswerwartung)
        • "consumable.airFreshener_reset" (Lufterfrischer Lebenswerwartung zurücksetzen)
        • "consumable.round_mop_reset" (Wischtücher Lebenswerwartung zurücksetzen)
        • "control.extended.airDrying" (Lufttrocknung starten/stoppen)
        • "control.extended.hostedCleanMode" (Gehosteten Reinigungsmodus starten)
        • "control.extended.selfCleaning" (Reinigung der Wischtücher starten)
        • "control.extended.voiceAssistant" (YIKO ein-/auschalten)
        • "control.extended.washInterval" (Reinigungsintervall)
        • "info.extended.washInterval" (Reinigungsintervall nur als Info - wird evtl. wieder entfernt)
        • "info.extended.airDryingState" (Status der Luftreinigung - wird evtl. wieder entfernt)
        • "info.extended.cleaningStation" (Kanal mit ein paar Infos zur Reinigungsstation)
        • "info.extended.particleRemoval" (Laborfunktion Strategische Partikelentfernung)
        • "info.extended.petPoopAvoidance" (Strategische "Haustierkotvermeidung" ein-/auschalten)

        Folgende Status sind als "cleanstatus" hinzugekommen:

        • "comeClean" (wenn per YIKO Sprachbefehl zum Reinigen gerufen)
        • "washing" (wenn die Wischtücher gereinigt werden)
        • "drying" (wenn die Wischtücher getrocknet werden)

        Die genannten Datenpunkte und Status sind hauptsächlich für die X1 Serie relevant - teilweise aber auch für die T10 Serie - und am Rande für die T9 Serie.

        Auch ein paar zusätzliche Verbesserungen und Optimierungen sind enthalten.

        Viel Spaß :)

        Chris76eC Online
        Chris76eC Online
        Chris76e
        schrieb am zuletzt editiert von Chris76e
        #350

        @mrbungle64

        hast du was an dem DP

        ecovacs-deebot.0.cleaninglog.lastTotalSeconds
        

        geändert? Wird nicht mehr beschrieben, bleibt beim inhalt (null) stehen.

        mrbungle64M 1 Antwort Letzte Antwort
        0
        • Chris76eC Chris76e

          @mrbungle64

          hast du was an dem DP

          ecovacs-deebot.0.cleaninglog.lastTotalSeconds
          

          geändert? Wird nicht mehr beschrieben, bleibt beim inhalt (null) stehen.

          mrbungle64M Offline
          mrbungle64M Offline
          mrbungle64
          Developer
          schrieb am zuletzt editiert von mrbungle64
          #351

          @chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:

          @mrbungle64

          hast du was an dem DP

          ecovacs-deebot.0.cleaninglog.lastTotalSeconds
          

          geändert? Wird nicht mehr beschrieben, bleibt beim inhalt (null) stehen.

          Du meinst während der Reinigung?

          Chris76eC 1 Antwort Letzte Antwort
          0
          • mrbungle64M mrbungle64

            @chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:

            @mrbungle64

            hast du was an dem DP

            ecovacs-deebot.0.cleaninglog.lastTotalSeconds
            

            geändert? Wird nicht mehr beschrieben, bleibt beim inhalt (null) stehen.

            Du meinst während der Reinigung?

            Chris76eC Online
            Chris76eC Online
            Chris76e
            schrieb am zuletzt editiert von Chris76e
            #352

            @mrbungle64 nein nach der Reinigung, die anderen DP werden aktualisiert.

            Wenn ich den DP lösche und den Adapter neustarte steht ganz kurz die Zahl "0" drin, und dann wieder "(null)"

            mrbungle64M 2 Antworten Letzte Antwort
            0
            • Chris76eC Chris76e

              @mrbungle64 nein nach der Reinigung, die anderen DP werden aktualisiert.

              Wenn ich den DP lösche und den Adapter neustarte steht ganz kurz die Zahl "0" drin, und dann wieder "(null)"

              mrbungle64M Offline
              mrbungle64M Offline
              mrbungle64
              Developer
              schrieb am zuletzt editiert von
              #353

              @chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:

              @mrbungle64 nein nach der Reinigung, die anderen DP werden aktualisiert

              Muss ich mir später mal anschauen - bei meinen 3 Geräten funktioniert es.

              1 Antwort Letzte Antwort
              0
              • mrbungle64M mrbungle64

                (Anmerkung: Der folgende Text wurde am 03.06.2022 gekürzt und danach immer wieder aktualisiert)

                Hallo zusammen,

                ich möchte hier über den Status des Ecovacs Deebot Adapters berichten

                und natürlich auch nach Eurer Meinung fragen, ob es noch "offene Baustellen" gibt - oder ob Ihr soweit alles damit umsetzen könnt, was Ihr Euch so vorgestellt habt ( Bitte dabei aber realistisch bleiben und auch den aktuellen Status berücksichtigen ;) ).


                Aktuelle Versionen

                Stadium Version Releasedatum
                Stable 1.4.14 04.02.2024 / 20.02.2024
                Beta 1.4.15 16.03.2024
                Alpha 1.4.16-alpha.2 09.05.2024

                Bekannte (größere) Probleme

                • Aktuell gibt es (mehr oder weniger häufig) auf 32-Bit Systemen Probleme mit der Erstellung vom Map Image.
                  • Das betrifft hauptsächlich Raspberry Pi Systeme, welche i.d.R. noch mit einem 32-Bit Linux betrieben werden. Das wird offensichtlich durch eine System-nahe Komponente von bzw. unter der Canvas Library verursacht - daher kann ich aktuell nichts machen und muss an anderer Stelle gefixt werden. Auch eine ältere Version von Canvas hilft nicht weiter, da der betroffene Teil bei der Installation i.d.R. neu erstellt wird.
                • Die Generierung der aktuellen Map ("map.[mapID].loadMapImage" bzw. "map64") funktioniert noch nicht bei den Deebot X1, X2, T20 und T30 Serien

                Weitere Informationen:

                • Informationen und Praxistipps (GitHub)
                • Datenpunkte (GitHub)
                • FAQ (GitHub)

                Möglichkeit für sonstiges Feedback:

                • Bug reports und feature requests (GitHub)
                • Informationen und Praxistipps (Forum)

                Nützliche Links:

                • Deebot Staubsauger in VIS integrieren - ioBroker Tutorial | verdrahtet.info
                • Ideen-Sammlung "Views für ozmo Deebot" (für Deebot Geräte im Allgemeinen)
                sigi234S Online
                sigi234S Online
                sigi234
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #354

                @mrbungle64

                Hallo, der Ladestatus ist immer auf charging, obwohl die Batterie bei 100 % ist. Lädt der dauernd? des weiteren gibt es mehrere DP davon.

                ecovacs-deebot.0.info.chargestatus
                ecovacs-deebot.0.status.device

                Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                Immer Daten sichern!

                mrbungle64M 1 Antwort Letzte Antwort
                0
                • sigi234S sigi234

                  @mrbungle64

                  Hallo, der Ladestatus ist immer auf charging, obwohl die Batterie bei 100 % ist. Lädt der dauernd? des weiteren gibt es mehrere DP davon.

                  ecovacs-deebot.0.info.chargestatus
                  ecovacs-deebot.0.status.device

                  mrbungle64M Offline
                  mrbungle64M Offline
                  mrbungle64
                  Developer
                  schrieb am zuletzt editiert von mrbungle64
                  #355

                  @sigi234 sagte in Ecovacs Deebot Adapter: Status und Feedback:

                  @mrbungle64

                  Hallo, der Ladestatus ist immer auf charging, obwohl die Batterie bei 100 % ist. Lädt der dauernd?

                  Das ist der Status den die API liefert. Grundsätzlich lädt das Gerät schon dauernd bzw immer mal wieder, da das Gerät ja alleine für die Bereitschaft und WiFi ein bisschen Akku verbraucht.

                  des weiteren gibt es mehrere DP davon.

                  ecovacs-deebot.0.info.chargestatus
                  ecovacs-deebot.0.status.device

                  "status.device" ist ein kombinierter Status und die anderen unter "Info" haben den Status den die API liefert ...

                  Chris76eC 1 Antwort Letzte Antwort
                  1
                  • mrbungle64M mrbungle64

                    (Anmerkung: Der folgende Text wurde am 03.06.2022 gekürzt und danach immer wieder aktualisiert)

                    Hallo zusammen,

                    ich möchte hier über den Status des Ecovacs Deebot Adapters berichten

                    und natürlich auch nach Eurer Meinung fragen, ob es noch "offene Baustellen" gibt - oder ob Ihr soweit alles damit umsetzen könnt, was Ihr Euch so vorgestellt habt ( Bitte dabei aber realistisch bleiben und auch den aktuellen Status berücksichtigen ;) ).


                    Aktuelle Versionen

                    Stadium Version Releasedatum
                    Stable 1.4.14 04.02.2024 / 20.02.2024
                    Beta 1.4.15 16.03.2024
                    Alpha 1.4.16-alpha.2 09.05.2024

                    Bekannte (größere) Probleme

                    • Aktuell gibt es (mehr oder weniger häufig) auf 32-Bit Systemen Probleme mit der Erstellung vom Map Image.
                      • Das betrifft hauptsächlich Raspberry Pi Systeme, welche i.d.R. noch mit einem 32-Bit Linux betrieben werden. Das wird offensichtlich durch eine System-nahe Komponente von bzw. unter der Canvas Library verursacht - daher kann ich aktuell nichts machen und muss an anderer Stelle gefixt werden. Auch eine ältere Version von Canvas hilft nicht weiter, da der betroffene Teil bei der Installation i.d.R. neu erstellt wird.
                    • Die Generierung der aktuellen Map ("map.[mapID].loadMapImage" bzw. "map64") funktioniert noch nicht bei den Deebot X1, X2, T20 und T30 Serien

                    Weitere Informationen:

                    • Informationen und Praxistipps (GitHub)
                    • Datenpunkte (GitHub)
                    • FAQ (GitHub)

                    Möglichkeit für sonstiges Feedback:

                    • Bug reports und feature requests (GitHub)
                    • Informationen und Praxistipps (Forum)

                    Nützliche Links:

                    • Deebot Staubsauger in VIS integrieren - ioBroker Tutorial | verdrahtet.info
                    • Ideen-Sammlung "Views für ozmo Deebot" (für Deebot Geräte im Allgemeinen)
                    sigi234S Online
                    sigi234S Online
                    sigi234
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #356

                    @mrbungle64

                    Hallo,

                    ecovacs-deebot.0
                    2023-02-25 11:42:50.180	info	Entering spot area with ID 8 (cleanStatus: spot_area)
                    
                    ecovacs-deebot.0
                    2023-02-25 11:42:45.737	info	Loading map image
                    
                    ecovacs-deebot.0
                    2023-02-25 11:42:36.961	info	Loading map image
                    
                    ecovacs-deebot.0
                    2023-02-25 11:42:34.036	info	Entering spot area with ID 6 (cleanStatus: spot_area)
                    
                    ecovacs-deebot.0
                    2023-02-25 11:42:21.493	info	Entering spot area with ID 4 (cleanStatus: spot_area)
                    
                    ecovacs-deebot.0
                    2023-02-25 11:42:09.026	info	Entering spot area with ID 3 (cleanStatus: spot_area)
                    
                    ecovacs-deebot.0
                    2023-02-25 11:41:35.987	info	Entering spot area with ID 2 (cleanStatus: spot_area)
                    
                    ecovacs-deebot.0
                    2023-02-25 11:41:22.436	warn	Error: Error: IndexSizeError: The source width is 0.
                    

                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                    Immer Daten sichern!

                    mrbungle64M 1 Antwort Letzte Antwort
                    0
                    • mrbungle64M mrbungle64

                      @sigi234 sagte in Ecovacs Deebot Adapter: Status und Feedback:

                      @mrbungle64

                      Hallo, der Ladestatus ist immer auf charging, obwohl die Batterie bei 100 % ist. Lädt der dauernd?

                      Das ist der Status den die API liefert. Grundsätzlich lädt das Gerät schon dauernd bzw immer mal wieder, da das Gerät ja alleine für die Bereitschaft und WiFi ein bisschen Akku verbraucht.

                      des weiteren gibt es mehrere DP davon.

                      ecovacs-deebot.0.info.chargestatus
                      ecovacs-deebot.0.status.device

                      "status.device" ist ein kombinierter Status und die anderen unter "Info" haben den Status den die API liefert ...

                      Chris76eC Online
                      Chris76eC Online
                      Chris76e
                      schrieb am zuletzt editiert von
                      #357

                      @mrbungle64

                      Ist es möglich das du das änderst das die Daten die unter ecovacs-deebot.0.cleaninglog.current stehen erst zurückgesetzt werden wenn eine neue Renigung anfängt und nicht direkt wenn eine beenndet wird? Möchte ein paar Sachen loggen, habe aber Probleme damit das sich die DP von ecovacs-deebot.0.cleaninglog.lastCleaningTimestamp, ecovacs-deebot.0.cleaninglog.lastSquareMeters usw. nicht zuverlässig aktualisieren.

                      mrbungle64M 1 Antwort Letzte Antwort
                      0
                      • Chris76eC Chris76e

                        @mrbungle64 nein nach der Reinigung, die anderen DP werden aktualisiert.

                        Wenn ich den DP lösche und den Adapter neustarte steht ganz kurz die Zahl "0" drin, und dann wieder "(null)"

                        mrbungle64M Offline
                        mrbungle64M Offline
                        mrbungle64
                        Developer
                        schrieb am zuletzt editiert von
                        #358

                        @chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:

                        @mrbungle64 nein nach der Reinigung, die anderen DP werden aktualisiert.

                        Wenn ich den DP lösche und den Adapter neustarte steht ganz kurz die Zahl "0" drin, und dann wieder "(null)"

                        Ich habe nachgeschaut - ich habe da zum letzten Mal im Mai 2022 was dran gemacht ...
                        Also wenn die anderen Datenpunkte unter "cleaninglog" aktualisiert werden, dann weiß ich gerade nicht was da los sein könnte ...

                        1 Antwort Letzte Antwort
                        0
                        • Chris76eC Chris76e

                          @mrbungle64

                          Ist es möglich das du das änderst das die Daten die unter ecovacs-deebot.0.cleaninglog.current stehen erst zurückgesetzt werden wenn eine neue Renigung anfängt und nicht direkt wenn eine beenndet wird? Möchte ein paar Sachen loggen, habe aber Probleme damit das sich die DP von ecovacs-deebot.0.cleaninglog.lastCleaningTimestamp, ecovacs-deebot.0.cleaninglog.lastSquareMeters usw. nicht zuverlässig aktualisieren.

                          mrbungle64M Offline
                          mrbungle64M Offline
                          mrbungle64
                          Developer
                          schrieb am zuletzt editiert von
                          #359

                          @chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:

                          habe aber Probleme damit das sich die DP von ecovacs-deebot.0.cleaninglog.lastCleaningTimestamp, ecovacs-deebot.0.cleaninglog.lastSquareMeters usw. nicht zuverlässig aktualisieren.

                          Was heißt das, dass die nicht zuverlässig aktualisiert werden?
                          Ich dachte es wäre nur "cleaninglog.lastTotalSeconds" ...

                          Chris76eC 1 Antwort Letzte Antwort
                          0
                          • mrbungle64M mrbungle64

                            @chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:

                            habe aber Probleme damit das sich die DP von ecovacs-deebot.0.cleaninglog.lastCleaningTimestamp, ecovacs-deebot.0.cleaninglog.lastSquareMeters usw. nicht zuverlässig aktualisieren.

                            Was heißt das, dass die nicht zuverlässig aktualisiert werden?
                            Ich dachte es wäre nur "cleaninglog.lastTotalSeconds" ...

                            Chris76eC Online
                            Chris76eC Online
                            Chris76e
                            schrieb am zuletzt editiert von Chris76e
                            #360

                            @mrbungle64

                            Versuche schon seit gestern 2 Scripte zuschreiben, eines was ein JSON erstellt wenn der deebot zum "Wartungspunkt" fährt (das funktioniert jetzt) und ein das ein JSON für "normale" Reinigung. Problem ist das ich daten von "lastCleaning" dafür brauche die auch unter current.clean stehen. Bekomme es einfach nicht hin das wenn sich die Daten von lastCleaning ändern nach dem der Status von ecovacs-deebot.0.status.device auf "charging" steht zuerfassen.....

                            Vieleicht kann ja sonst jemand helfen

                            var idTable = '0_userdata.0.JSON.Deebot';
                            var idRaum = 'ecovacs-deebot.0.map.lastCleanedSpotArea.spotAreaName';
                            var idFlaeche = 'ecovacs-deebot.0.cleaninglog.lastSquareMeters';
                            var idDauer = 'ecovacs-deebot.0.cleaninglog.lastTotalTimeString';
                            var idAktiv = 'ecovacs-deebot.0.status.device';
                            var idWartungsplatz = '0_userdata.0.Deebot.Wartungsplatz';
                            var idWartungsplatzEIN = '0_userdata.0.Deebot.WartungsplatzEIN';
                            var idCleaningTimestamp = 'ecovacs-deebot.0.cleaninglog.lastCleaningTimestamp';
                            
                            var table = [];
                            if (getState(idTable).val) table = JSON.parse(getState(idTable).val);
                            var obj = {};
                            var startDate = new Date();
                            var lastExecutionTime = 0;
                            var isCleaning = false;
                            setState(idWartungsplatzEIN, false, true); // WartungsplatzEIN auf true setzen
                            
                            on(idAktiv, function (dp) {
                              if (getState(idWartungsplatz).val === false && dp.state.val === 'cleaning') {
                                obj = {};
                                obj.Datum = formatDate(new Date(), 'YYYY-MM-DD ');
                                obj.Start = formatDate(new Date(), 'hh:mm');
                                startDate = new Date();
                                isCleaning = true;
                                setState(idWartungsplatzEIN, false, true); // WartungsplatzEIN auf true setzen
                                lastExecutionTime = dp.state.ts;
                              } else if (getState(idWartungsplatzEIN).val === false && dp.state.val === 'charging' && hasStateChanged(idCleaningTimestamp)) {
                                obj.Ende = formatDate(new Date(), 'hh:mm');
                                obj.Flaeche = getState(idFlaeche).val;
                                obj.Raum = getState(idRaum).val;
                                obj.Dauer = getState(idDauer).val;
                                obj.Dauergesamt = formatDuration(Math.floor((new Date() - startDate) / 1000));
                                table.unshift(obj);
                                if (table.length > 100) {
                                  table.pop();
                                }
                                setState(idTable, JSON.stringify(table), true);
                                lastExecutionTime = dp.state.ts;
                                isCleaning = false;
                              }
                            });
                            function hasStateChanged(id) {
                              const state = getState(id);
                              if(!state) return false; // Die State-Variable existiert nicht
                              if(state.ts <= lastExecutionTime || state.val === null) return false; // Der State hat sich seit dem letzten Ausführen des Scripts nicht geändert oder hat keinen Wert
                              return true;
                            }
                            
                            function formatDuration(seconds) {
                              var minutes = Math.floor(seconds / 60);
                              var remainingSeconds = seconds % 60;
                              return pad(minutes, 2) + ':' + pad(remainingSeconds, 2);
                            }
                            
                            function pad(number, length) {
                              var str = '' + number;
                              while (str.length < length) {
                                str = '0' + str;
                              }
                              return str;
                            }
                            
                            
                            //on({id: idWartungsplatz, change: "ne"}, function(obj) {
                              //if (obj.state.val) {
                                // Deebot ist am Wartungsplatz
                               // isCleaning = false;
                              //}
                            //});
                            
                            
                            1 Antwort Letzte Antwort
                            0
                            • mrbungle64M Offline
                              mrbungle64M Offline
                              mrbungle64
                              Developer
                              schrieb am zuletzt editiert von mrbungle64
                              #361

                              @chris76e

                              Ich verstehe leider noch nicht so ganz, was jetzt unabhängig vom Blockly Script deine Probleme sind ...
                              Könntest Du das noch mal zusammenfassen?

                              1. Welches geändertes oder fehlerhaftes Verhalten vom Adapter hast du genau festgestellt?
                              2. Was wären jetzt deine Wünsche an den Adapter um das Blockly Script umzusetzen?
                              3. Welche Fragen hast du speziell zur Fertigstellung des Blockly Scripts?
                              Chris76eC 1 Antwort Letzte Antwort
                              0
                              • sigi234S sigi234

                                @mrbungle64

                                Hallo,

                                ecovacs-deebot.0
                                2023-02-25 11:42:50.180	info	Entering spot area with ID 8 (cleanStatus: spot_area)
                                
                                ecovacs-deebot.0
                                2023-02-25 11:42:45.737	info	Loading map image
                                
                                ecovacs-deebot.0
                                2023-02-25 11:42:36.961	info	Loading map image
                                
                                ecovacs-deebot.0
                                2023-02-25 11:42:34.036	info	Entering spot area with ID 6 (cleanStatus: spot_area)
                                
                                ecovacs-deebot.0
                                2023-02-25 11:42:21.493	info	Entering spot area with ID 4 (cleanStatus: spot_area)
                                
                                ecovacs-deebot.0
                                2023-02-25 11:42:09.026	info	Entering spot area with ID 3 (cleanStatus: spot_area)
                                
                                ecovacs-deebot.0
                                2023-02-25 11:41:35.987	info	Entering spot area with ID 2 (cleanStatus: spot_area)
                                
                                ecovacs-deebot.0
                                2023-02-25 11:41:22.436	warn	Error: Error: IndexSizeError: The source width is 0.
                                
                                mrbungle64M Offline
                                mrbungle64M Offline
                                mrbungle64
                                Developer
                                schrieb am zuletzt editiert von
                                #362

                                @sigi234 sagte in Ecovacs Deebot Adapter: Status und Feedback:

                                @mrbungle64

                                Hallo,

                                ecovacs-deebot.0
                                2023-02-25 11:42:50.180	info	Entering spot area with ID 8 (cleanStatus: spot_area)
                                
                                ecovacs-deebot.0
                                2023-02-25 11:42:45.737	info	Loading map image
                                
                                ecovacs-deebot.0
                                2023-02-25 11:42:36.961	info	Loading map image
                                
                                ecovacs-deebot.0
                                2023-02-25 11:42:34.036	info	Entering spot area with ID 6 (cleanStatus: spot_area)
                                
                                ecovacs-deebot.0
                                2023-02-25 11:42:21.493	info	Entering spot area with ID 4 (cleanStatus: spot_area)
                                
                                ecovacs-deebot.0
                                2023-02-25 11:42:09.026	info	Entering spot area with ID 3 (cleanStatus: spot_area)
                                
                                ecovacs-deebot.0
                                2023-02-25 11:41:35.987	info	Entering spot area with ID 2 (cleanStatus: spot_area)
                                
                                ecovacs-deebot.0
                                2023-02-25 11:41:22.436	warn	Error: Error: IndexSizeError: The source width is 0.
                                

                                Ich nehme mal an, dass du die "IndexSizeError: The source width is 0" Warnung meinst ...
                                Hast du in dem Zusammenhang ein Fehlverhalten festgestellt?

                                sigi234S 1 Antwort Letzte Antwort
                                0
                                • mrbungle64M mrbungle64

                                  @chris76e

                                  Ich verstehe leider noch nicht so ganz, was jetzt unabhängig vom Blockly Script deine Probleme sind ...
                                  Könntest Du das noch mal zusammenfassen?

                                  1. Welches geändertes oder fehlerhaftes Verhalten vom Adapter hast du genau festgestellt?
                                  2. Was wären jetzt deine Wünsche an den Adapter um das Blockly Script umzusetzen?
                                  3. Welche Fragen hast du speziell zur Fertigstellung des Blockly Scripts?
                                  Chris76eC Online
                                  Chris76eC Online
                                  Chris76e
                                  schrieb am zuletzt editiert von
                                  #363

                                  @mrbungle64 ist ein javascript. Ich möchte mir eine Tabelle erstellen wo, Datum, Start, Ende Fläche, Raum und Dauer gespeichert werden nach jedem reinigungs durchgang. Als bedingung dafür habe ich das wenn der deebot wieder an der Ladestation befindet, also ecovacs-deebot.0.status.device auf "charging" steht. Aber ab und zu kommt es vor das die Daten die ich von lastCleaning brauche noch nicht da sind von der DP auf charging steht. Würden die Daten von current nicht direkt zurückgesetzt werden, könnte ich diese nehmen, sind ja die gleichen die dann und lastCleaning kommen.

                                  Hoffe du verstehts jetzt was ich meine :thinking_face:

                                  mrbungle64M 1 Antwort Letzte Antwort
                                  0
                                  • Chris76eC Chris76e

                                    @mrbungle64 ist ein javascript. Ich möchte mir eine Tabelle erstellen wo, Datum, Start, Ende Fläche, Raum und Dauer gespeichert werden nach jedem reinigungs durchgang. Als bedingung dafür habe ich das wenn der deebot wieder an der Ladestation befindet, also ecovacs-deebot.0.status.device auf "charging" steht. Aber ab und zu kommt es vor das die Daten die ich von lastCleaning brauche noch nicht da sind von der DP auf charging steht. Würden die Daten von current nicht direkt zurückgesetzt werden, könnte ich diese nehmen, sind ja die gleichen die dann und lastCleaning kommen.

                                    Hoffe du verstehts jetzt was ich meine :thinking_face:

                                    mrbungle64M Offline
                                    mrbungle64M Offline
                                    mrbungle64
                                    Developer
                                    schrieb am zuletzt editiert von mrbungle64
                                    #364

                                    @chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:

                                    @mrbungle64 ist ein javascript. Ich möchte mir eine Tabelle erstellen wo, Datum, Start, Ende Fläche, Raum und Dauer gespeichert werden nach jedem reinigungs durchgang. Als bedingung dafür habe ich das wenn der deebot wieder an der Ladestation befindet, also ecovacs-deebot.0.status.device auf "charging" steht. Aber ab und zu kommt es vor das die Daten die ich von lastCleaning brauche noch nicht da sind von der DP auf charging steht. Würden die Daten von current nicht direkt zurückgesetzt werden, könnte ich diese nehmen, sind ja die gleichen die dann und lastCleaning kommen.

                                    Hoffe du verstehts jetzt was ich meine :thinking_face:

                                    Sorry, ja das ist JavaScript Script (kein Blockly), aber bitte schreib das doch bitte nicht alles in einen großen Absatz bzw. Fließtext.
                                    Ich hatte das doch extra schon so aufgeteilt wie ich das gerne hätte ;)

                                    Chris76eC 1 Antwort Letzte Antwort
                                    0
                                    • mrbungle64M mrbungle64

                                      @chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:

                                      @mrbungle64 ist ein javascript. Ich möchte mir eine Tabelle erstellen wo, Datum, Start, Ende Fläche, Raum und Dauer gespeichert werden nach jedem reinigungs durchgang. Als bedingung dafür habe ich das wenn der deebot wieder an der Ladestation befindet, also ecovacs-deebot.0.status.device auf "charging" steht. Aber ab und zu kommt es vor das die Daten die ich von lastCleaning brauche noch nicht da sind von der DP auf charging steht. Würden die Daten von current nicht direkt zurückgesetzt werden, könnte ich diese nehmen, sind ja die gleichen die dann und lastCleaning kommen.

                                      Hoffe du verstehts jetzt was ich meine :thinking_face:

                                      Sorry, ja das ist JavaScript Script (kein Blockly), aber bitte schreib das doch bitte nicht alles in einen großen Absatz bzw. Fließtext.
                                      Ich hatte das doch extra schon so aufgeteilt wie ich das gerne hätte ;)

                                      Chris76eC Online
                                      Chris76eC Online
                                      Chris76e
                                      schrieb am zuletzt editiert von Chris76e
                                      #365

                                      @mrbungle64

                                      Sorry, versuche jetzt seit fast 3 Tagen das Script zuschreiben, mal bin ich nah an der Lösung dran, aber dann biege ich wieder ganz falsch ab und bin dann wieder ganz weit weg. Mit meine wunsch zur Änderung wäre das sehr einfach :grin:

                                      Welches geändertes oder fehlerhaftest Verhalten vom Adapter hast du genau festgestellt?
                                      - das der DP ecovacs-deebot.0.cleaninglog.lastTotalSeconds auf (null) steht
                                      - das ist kein fehlverhalten aber die DP unter ecovacs-deebot.0.cleaninglog die mit last anfangen,
                                      werden ja Zeitversetzt aktualisiert, da kannst du ja nicht sändern.

                                      Was wären jetzt deine Wünsche an den Adapter um das Script umzusetzen?
                                      - das die DP unter ecovacs-deebot.0.cleaninglog.current erst dann zurückgesetzt werden,
                                      wenn eine neue Reinigung stattfindet und nicht sofort wenn sich der Status von
                                      ecovacs-deebot.0.status.device von "cleaning" auf "returing" ändert.

                                      Welche Fragen hast du speziell zur Fertigstellung des Scripts?
                                      - wie mann es hinbekommt das wenn der DP ecovacs-deebot.0.status.device auf "charing" geändert hat
                                      und sich der DP ecovacs-deebot.0.cleaninglog.lastCleaningTimestamp (dient als trigger) aktualisiert hat.
                                      Die aktualisierung soll aber während der aktuellen Reinigung passieren werden.

                                      Damit bin ich wieder nah dran.....

                                      var idTable = '0_userdata.0.JSON.Deebot';
                                      var idRaum = 'ecovacs-deebot.0.map.lastCleanedSpotArea.spotAreaName';
                                      var idFlaeche = 'ecovacs-deebot.0.cleaninglog.lastSquareMeters';
                                      var idDauer = 'ecovacs-deebot.0.cleaninglog.lastTotalTimeString';
                                      var idAktiv = 'ecovacs-deebot.0.status.device';
                                      var idWartungsplatz = '0_userdata.0.Deebot.Wartungsplatz';
                                      var idWartungsplatzEIN = '0_userdata.0.Deebot.WartungsplatzEIN';
                                      var idCleaningTimestamp = 'ecovacs-deebot.0.cleaninglog.lastCleaningTimestamp';
                                      var lastCleaningTimestamp = getState(idCleaningTimestamp).val;
                                      var table = [];
                                      if (getState(idTable).val) table = JSON.parse(getState(idTable).val);
                                      var obj = {};
                                      var startDate = new Date();
                                      var lastExecutionTime = 0;
                                      var isCleaning = false;
                                      var hasCleaned = false;
                                      var hasCharged = false;
                                      
                                      on({id: idAktiv, change: "ne"}, function (dp) {
                                        if (getState(idWartungsplatz).val === false && dp.state.val === 'cleaning') {
                                          obj = {};
                                          obj.Datum = formatDate(new Date(), 'YYYY-MM-DD ');
                                          obj.Start = formatDate(new Date(), 'hh:mm');
                                          startDate = new Date();
                                          var lastCleaningTimestamp = getState(idCleaningTimestamp).val; // speichere den vorherigen Wert von idCleaningTimestamp
                                          isCleaning = true;
                                          setState(idWartungsplatzEIN, false, true); // WartungsplatzEIN auf false setzen
                                          lastExecutionTime = dp.state.ts;
                                        }
                                      });
                                      on({id: "ecovacs-deebot.0.status.device", val: "charging"}, function (dp) {
                                        hasCharged = true;
                                        checkWrite();
                                      });
                                      on({ id: idCleaningTimestamp, change: 'ne' }, function (dp) {
                                        if (isCleaning && dp.state.val != lastCleaningTimestamp) { // überprüfe, ob sich idCleaningTimestamp seit der letzten Reinigung geändert hat
                                          hasCleaned = true;
                                          lastCleaningTimestamp = dp.state.val; // speichere den aktuellen Wert von idCleaningTimestamp als vorherigen Wert für den nächsten Durchlauf
                                          checkWrite();
                                        }
                                      });
                                      
                                      function checkWrite() {
                                        if (isCleaning && hasCleaned && hasCharged && getState(idWartungsplatzEIN).val === false) {
                                          obj.Ende = formatDate(new Date(), 'hh:mm');
                                          obj.Flaeche = getState(idFlaeche).val;
                                          obj.Raum = getState(idRaum).val;
                                          obj.Dauer = getState(idDauer).val;
                                          obj.Dauergesamt = formatDuration(Math.floor((new Date() - startDate) / 1000));
                                          table.unshift(obj);
                                          if (table.length > 100) {
                                            table.pop();
                                          }
                                          setState(idTable, JSON.stringify(table), true);
                                          isCleaning = false;
                                          hasCleaned = false;
                                          hasCharged = false;
                                        }
                                      }
                                      function formatDuration(seconds) {
                                        var minutes = Math.floor(seconds / 60);
                                        var remainingSeconds = seconds % 60;
                                        return pad(minutes, 2) + ':' + pad(remainingSeconds, 2);
                                      }
                                      
                                      function pad(number, length) {
                                        var str = '' + number;
                                        while (str.length < length) {
                                          str = '0' + str;
                                        }
                                        return str;
                                      }
                                      
                                      
                                      mrbungle64M 1 Antwort Letzte Antwort
                                      0
                                      • Chris76eC Chris76e

                                        @mrbungle64

                                        Sorry, versuche jetzt seit fast 3 Tagen das Script zuschreiben, mal bin ich nah an der Lösung dran, aber dann biege ich wieder ganz falsch ab und bin dann wieder ganz weit weg. Mit meine wunsch zur Änderung wäre das sehr einfach :grin:

                                        Welches geändertes oder fehlerhaftest Verhalten vom Adapter hast du genau festgestellt?
                                        - das der DP ecovacs-deebot.0.cleaninglog.lastTotalSeconds auf (null) steht
                                        - das ist kein fehlverhalten aber die DP unter ecovacs-deebot.0.cleaninglog die mit last anfangen,
                                        werden ja Zeitversetzt aktualisiert, da kannst du ja nicht sändern.

                                        Was wären jetzt deine Wünsche an den Adapter um das Script umzusetzen?
                                        - das die DP unter ecovacs-deebot.0.cleaninglog.current erst dann zurückgesetzt werden,
                                        wenn eine neue Reinigung stattfindet und nicht sofort wenn sich der Status von
                                        ecovacs-deebot.0.status.device von "cleaning" auf "returing" ändert.

                                        Welche Fragen hast du speziell zur Fertigstellung des Scripts?
                                        - wie mann es hinbekommt das wenn der DP ecovacs-deebot.0.status.device auf "charing" geändert hat
                                        und sich der DP ecovacs-deebot.0.cleaninglog.lastCleaningTimestamp (dient als trigger) aktualisiert hat.
                                        Die aktualisierung soll aber während der aktuellen Reinigung passieren werden.

                                        Damit bin ich wieder nah dran.....

                                        var idTable = '0_userdata.0.JSON.Deebot';
                                        var idRaum = 'ecovacs-deebot.0.map.lastCleanedSpotArea.spotAreaName';
                                        var idFlaeche = 'ecovacs-deebot.0.cleaninglog.lastSquareMeters';
                                        var idDauer = 'ecovacs-deebot.0.cleaninglog.lastTotalTimeString';
                                        var idAktiv = 'ecovacs-deebot.0.status.device';
                                        var idWartungsplatz = '0_userdata.0.Deebot.Wartungsplatz';
                                        var idWartungsplatzEIN = '0_userdata.0.Deebot.WartungsplatzEIN';
                                        var idCleaningTimestamp = 'ecovacs-deebot.0.cleaninglog.lastCleaningTimestamp';
                                        var lastCleaningTimestamp = getState(idCleaningTimestamp).val;
                                        var table = [];
                                        if (getState(idTable).val) table = JSON.parse(getState(idTable).val);
                                        var obj = {};
                                        var startDate = new Date();
                                        var lastExecutionTime = 0;
                                        var isCleaning = false;
                                        var hasCleaned = false;
                                        var hasCharged = false;
                                        
                                        on({id: idAktiv, change: "ne"}, function (dp) {
                                          if (getState(idWartungsplatz).val === false && dp.state.val === 'cleaning') {
                                            obj = {};
                                            obj.Datum = formatDate(new Date(), 'YYYY-MM-DD ');
                                            obj.Start = formatDate(new Date(), 'hh:mm');
                                            startDate = new Date();
                                            var lastCleaningTimestamp = getState(idCleaningTimestamp).val; // speichere den vorherigen Wert von idCleaningTimestamp
                                            isCleaning = true;
                                            setState(idWartungsplatzEIN, false, true); // WartungsplatzEIN auf false setzen
                                            lastExecutionTime = dp.state.ts;
                                          }
                                        });
                                        on({id: "ecovacs-deebot.0.status.device", val: "charging"}, function (dp) {
                                          hasCharged = true;
                                          checkWrite();
                                        });
                                        on({ id: idCleaningTimestamp, change: 'ne' }, function (dp) {
                                          if (isCleaning && dp.state.val != lastCleaningTimestamp) { // überprüfe, ob sich idCleaningTimestamp seit der letzten Reinigung geändert hat
                                            hasCleaned = true;
                                            lastCleaningTimestamp = dp.state.val; // speichere den aktuellen Wert von idCleaningTimestamp als vorherigen Wert für den nächsten Durchlauf
                                            checkWrite();
                                          }
                                        });
                                        
                                        function checkWrite() {
                                          if (isCleaning && hasCleaned && hasCharged && getState(idWartungsplatzEIN).val === false) {
                                            obj.Ende = formatDate(new Date(), 'hh:mm');
                                            obj.Flaeche = getState(idFlaeche).val;
                                            obj.Raum = getState(idRaum).val;
                                            obj.Dauer = getState(idDauer).val;
                                            obj.Dauergesamt = formatDuration(Math.floor((new Date() - startDate) / 1000));
                                            table.unshift(obj);
                                            if (table.length > 100) {
                                              table.pop();
                                            }
                                            setState(idTable, JSON.stringify(table), true);
                                            isCleaning = false;
                                            hasCleaned = false;
                                            hasCharged = false;
                                          }
                                        }
                                        function formatDuration(seconds) {
                                          var minutes = Math.floor(seconds / 60);
                                          var remainingSeconds = seconds % 60;
                                          return pad(minutes, 2) + ':' + pad(remainingSeconds, 2);
                                        }
                                        
                                        function pad(number, length) {
                                          var str = '' + number;
                                          while (str.length < length) {
                                            str = '0' + str;
                                          }
                                          return str;
                                        }
                                        
                                        
                                        mrbungle64M Offline
                                        mrbungle64M Offline
                                        mrbungle64
                                        Developer
                                        schrieb am zuletzt editiert von
                                        #366

                                        @chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:

                                        • das der DP ecovacs-deebot.0.cleaninglog.lastTotalSeconds auf (null) steht

                                        Bist du dir eigentlich sicher, dass das vorher funktioniert hatte?

                                        Chris76eC 2 Antworten Letzte Antwort
                                        0
                                        • mrbungle64M mrbungle64

                                          @chris76e sagte in Ecovacs Deebot Adapter: Status und Feedback:

                                          • das der DP ecovacs-deebot.0.cleaninglog.lastTotalSeconds auf (null) steht

                                          Bist du dir eigentlich sicher, dass das vorher funktioniert hatte?

                                          Chris76eC Online
                                          Chris76eC Online
                                          Chris76e
                                          schrieb am zuletzt editiert von Chris76e
                                          #367

                                          @mrbungle64

                                          Nein :sunglasses:

                                          Ist mir erst aufgefallen als ich festgestellt habe das ecovacs-deebot.0.control.extended.savedGoToPositionValues auch bei Deebot 901 sehr gut funktioniert.

                                          Hatte mich länger nicht mehr ausführlich mit den ganzen DP´s beschäftigt.......

                                          mrbungle64M 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          290

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe