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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. IRobot Roomba Adapter

NEWS

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

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

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

IRobot Roomba Adapter

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
851 Beiträge 101 Kommentatoren 311.2k Aufrufe 65 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.
  • ZefauZ Zefau

    @Toby275 in welchem Ordner hast du den Befehl denn ausgeführt ? Er findet binding.gyp nicht. Wo liegt die Datei? Ggf. den Pfad in der PATH Systemvariablen ergänzen.

    T Offline
    T Offline
    Toby275
    schrieb am zuletzt editiert von
    #417

    @Zefau vielen Dank für die schnelle Antwort.
    Aus dem Verzeichnis C:\GTK heraus. Ist das falsch? Wo liegt denn die binding.gyp bzw. aus welchem Verzeichnis heraus muss ich den Befehl starten?

    ZefauZ 1 Antwort Letzte Antwort
    0
    • T Toby275

      @Zefau vielen Dank für die schnelle Antwort.
      Aus dem Verzeichnis C:\GTK heraus. Ist das falsch? Wo liegt denn die binding.gyp bzw. aus welchem Verzeichnis heraus muss ich den Befehl starten?

      ZefauZ Offline
      ZefauZ Offline
      Zefau
      schrieb am zuletzt editiert von
      #418

      @Toby275 ich nutze ioBroker nicht auf Windows und hab daher keine Ahnung. Einfach mal googeln.

      Glaube unter Windows musste die Datei anlegen.

      https://github.com/nodejs/node-gyp#how-to-use

      https://github.com/Automattic/node-canvas/blob/master/binding.gyp

      Meine Adapter: https://zefau.github.io/iobroker/

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        Toby275
        schrieb am zuletzt editiert von
        #419

        Danke für die Antwort. Hab alles auf Linux neu aufgesetzt, jetzt habe ich keine Probleme mehr :)

        1 Antwort Letzte Antwort
        0
        • NewpicselN Offline
          NewpicselN Offline
          Newpicsel
          schrieb am zuletzt editiert von Newpicsel
          #420

          Moin ich nochmal :sweat_smile:

          Mein Problem von oben, mit den fehlenden missions Datenpunkten konnte ich leider noch nicht beheben und hoffe weiterhin auf Hilfe :white_frowning_face:

          Da ich momentan etwas Zeit habe, bastel ich mir nun doch eine VIS.
          Jetzt bin ich gerade dabei den Roomba einzubinden und mir ist aufgefallen, dass die Werte für Einstellungen wie zB. Der Saugleistung oder kantenreinigung (roomba.0/commands/device/preferences/...),
          sowie die Daten für geplante Reinigungsdurchgänge nicht geändert werden können.

          Währe es möglich das zu ändern?
          Wäre natürlich super wenn ich hier alles über eine Oberfläche nutzen könnte, gerade die Programmierung der geplanten Aufgaben nutze ich gerne, diese lassen sich momentan nur anzeigen wenn ich das richtig gesehen habe.

          Danke und schöne Grüße

          EDIT: Sorry war etwas voreilig, Werte für die geplanten Aufgaben können geändert werden, nur die anderen Einstellungen nicht!

          AADC2506-6D53-4813-BCF0-EFA0588794A2.jpeg

          A1C23EDF-BC71-4CE3-A850-DE1A3EE90A64.png

          1 Antwort Letzte Antwort
          0
          • NewpicselN Offline
            NewpicselN Offline
            Newpicsel
            schrieb am zuletzt editiert von Newpicsel
            #421

            Wirklich keiner eine Idee, warum bei mir die Missionsdaten verschwunden sind?
            Ich weiß nicht mehr weiter, kann auch im netz nichts finden, was mir weiterhilft! :cry:

            Kleines Update, ich weiß nicht warum ich das nicht früher schon getestet habe, aber wenn ich eine zweite Instanz erstelle sind alle Daten da, wenn ich die erste allerdings lösche und eine neue erstelle fehlen die Daten wieder.
            Sind hier noch weitere Daten zu dieser Instanz irgendwo anders gespeichert, die Aussagen welche Objekte erstellt werden? Anders kann ich mir das nicht erklären!
            So geht es zwar erstmal, ich deaktiviere einfach die erste Instanz und lasse die zweite laufen, ob die Objekte auch geladen oder aktualisiert werden weiß ich allerdings nicht, momentan sind sie leer, Ich habe aber auch noch keine Reinigung gestartet.
            Als dieses Problem anfing, waren die Objekte auch erst vorhanden, wurden allerdings nicht aktualisiert, erst bei einer Neuinstallation wurden die Objekte dann nicht mehr erstellt.

            Außerdem ist mir aufgefallen, dass der Wert von dem Objekt „docked (State whether robot is docked)“ im Ordner states, zwar nach dem docken auf true wechselt, nach kurzer Zeit jedoch wieder auf false springt, habe nur ich dieses Problem oder liegt der falsche Wert am Roboter?

            Und wegen den Einstellungen, hier stehen die Objekte:

            /device/preferences/openOnly
            /device/preferences/noAutoPassesa
            /device/preferences/twoPass
            /device/preferences/carpetBoostAuto
            /device/preferences/carpetBoostHigh

            Auf „Write:false“, würde es hier reichen diese auf „true“ zu ändern, oder würde der geänderte wert nicht an den Roboter übermittelt werden?

            Danke für Hilfe und schöne Grüße

            1 Antwort Letzte Antwort
            0
            • ? Offline
              ? Offline
              Ein ehemaliger Benutzer
              schrieb am zuletzt editiert von
              #422

              Hallo,

              habe leider selber das Problem mit den fehlenden Missionsdaten. Schaue ich in die Objekte dann fehlt das Objekt "History".

              Lade ich die iRobot Roobma VIS dann wird mir die Karte vom 17.02.2020 als letzte angezeigt.

              Bitte auch um Hilfe. Danke im vorraus.

              NewpicselN 1 Antwort Letzte Antwort
              0
              • ? Ein ehemaliger Benutzer

                Hallo,

                habe leider selber das Problem mit den fehlenden Missionsdaten. Schaue ich in die Objekte dann fehlt das Objekt "History".

                Lade ich die iRobot Roobma VIS dann wird mir die Karte vom 17.02.2020 als letzte angezeigt.

                Bitte auch um Hilfe. Danke im vorraus.

                NewpicselN Offline
                NewpicselN Offline
                Newpicsel
                schrieb am zuletzt editiert von
                #423

                @smart-home

                Auch wenn es nicht hilft!

                Danke, ich dachte schon ich werde verrückt!

                Morgen wird gesaugt, ich bin gespannt ob die zweite Instanz hilft!
                Die Objekte sind ja zumindest wieder da, Ich werde berichten...

                1 Antwort Letzte Antwort
                0
                • NewpicselN Offline
                  NewpicselN Offline
                  Newpicsel
                  schrieb am zuletzt editiert von Newpicsel
                  #424

                  Moin moin,

                  @smart-home
                  Kleines Update, leider bleiben die Werte der Objekte für die Missionen wie auch die history json, der zweiten Instanz leer! :disappointed:

                  @Zefau
                  Hast du eventuell eine Idee was hier der Fehler sein könnte oder zumindest einen Ansatz wo wir nach einem Problem suchen könnten?

                  Ich bin mir ja nicht einmal sicher ob das Problem wirklich bei dem Adapter liegt, dann hätten vermutlich mehrere dieses Problem...

                  1 Antwort Letzte Antwort
                  0
                  • ? Offline
                    ? Offline
                    Ein ehemaliger Benutzer
                    schrieb am zuletzt editiert von Ein ehemaliger Benutzer
                    #425

                    Also ich habe mich auch grade mal mit dem Adapter versucht.

                    1. Feststellung: Ich kann die letzte Version nicht Installieren also kein Downgrade von 1.1.1 auf 1.0.7 möglich

                    dann habe ich folgende 2 Ordner manuell gelöscht

                    fc147842-3f07-47e2-b609-cf3c69d284c8-grafik.png

                    und den Adapter Deinstalliert und wieder neu Installiert mit folgendem Erfolg:

                    In der fertigen Adapter VIS habe ich plötzlich die letzte aktuelle fahrt vom Roomba inkl. Map-Grafik:

                    52694a2e-c8fa-4074-88cd-6a0df88e9954-grafik.png

                    schaue ich mir den Quelltext dieser VIS an dann findet man folgendes:

                    51980647-8fb2-4653-9c8b-acbfde2ed1eb-grafik.png

                    schaue ich wieder in die Objekte dann finde ich diese nicht:
                    f6a7e2ee-22f8-4a49-a1a6-46a8eecead8b-grafik.png

                    heist für mich das der Adapter die Daten aus dem Roomba bekommt, aber nicht in den Objekten anzeigt.

                    NewpicselN 1 Antwort Letzte Antwort
                    0
                    • ? Ein ehemaliger Benutzer

                      Also ich habe mich auch grade mal mit dem Adapter versucht.

                      1. Feststellung: Ich kann die letzte Version nicht Installieren also kein Downgrade von 1.1.1 auf 1.0.7 möglich

                      dann habe ich folgende 2 Ordner manuell gelöscht

                      fc147842-3f07-47e2-b609-cf3c69d284c8-grafik.png

                      und den Adapter Deinstalliert und wieder neu Installiert mit folgendem Erfolg:

                      In der fertigen Adapter VIS habe ich plötzlich die letzte aktuelle fahrt vom Roomba inkl. Map-Grafik:

                      52694a2e-c8fa-4074-88cd-6a0df88e9954-grafik.png

                      schaue ich mir den Quelltext dieser VIS an dann findet man folgendes:

                      51980647-8fb2-4653-9c8b-acbfde2ed1eb-grafik.png

                      schaue ich wieder in die Objekte dann finde ich diese nicht:
                      f6a7e2ee-22f8-4a49-a1a6-46a8eecead8b-grafik.png

                      heist für mich das der Adapter die Daten aus dem Roomba bekommt, aber nicht in den Objekten anzeigt.

                      NewpicselN Offline
                      NewpicselN Offline
                      Newpicsel
                      schrieb am zuletzt editiert von
                      #426

                      @smart-home

                      Interessant, dann stellt sich mir die Frage, wo die vis die Daten abruft!
                      Aus einer Datenbank im Adapter oder direkt aus dem roomba?
                      Die history ist ja ebenfalls leer!

                      Können dort dann eventuell auch diese Daten abgerufen werden?
                      Wäre zwar nur eine Notlösung aber im Zweifel besser als nichts...

                      Aber was anderes, wie komme ich zu dieser vis? :rolling_on_the_floor_laughing:

                      1 Antwort Letzte Antwort
                      0
                      • ? Offline
                        ? Offline
                        Ein ehemaliger Benutzer
                        schrieb am zuletzt editiert von
                        #427

                        3d2dd2db-6aac-42b1-a771-bd8d3e736d50-grafik.png

                        NewpicselN 1 Antwort Letzte Antwort
                        0
                        • ? Ein ehemaliger Benutzer

                          3d2dd2db-6aac-42b1-a771-bd8d3e736d50-grafik.png

                          NewpicselN Offline
                          NewpicselN Offline
                          Newpicsel
                          schrieb am zuletzt editiert von
                          #428

                          @smart-home
                          Ach, nie nachgeschaut! :stuck_out_tongue_closed_eyes:

                          Merkwürdigerweise ist bei mir auch diese vis leer!
                          Einzig der akkstand und der Status wird angezeigt, die Werte sind bei mir auch in den Objekten vorhanden.

                          ? 1 Antwort Letzte Antwort
                          0
                          • NewpicselN Newpicsel

                            @smart-home
                            Ach, nie nachgeschaut! :stuck_out_tongue_closed_eyes:

                            Merkwürdigerweise ist bei mir auch diese vis leer!
                            Einzig der akkstand und der Status wird angezeigt, die Werte sind bei mir auch in den Objekten vorhanden.

                            ? Offline
                            ? Offline
                            Ein ehemaliger Benutzer
                            schrieb am zuletzt editiert von Ein ehemaliger Benutzer
                            #429

                            @Newpicsel
                            Ich glaube wir zwei kommen da nicht weiter! Ich denke im Adapter müssen die createStates angepasst werden.

                            @Zefau
                            Kannst du dich bitte dem Problem annehmen? Ich denke wir haben es jetzt ausreichend beschrieben.
                            PS. Mein System ist ein Raspberry PI4

                            ZefauZ 1 Antwort Letzte Antwort
                            0
                            • ? Ein ehemaliger Benutzer

                              @Newpicsel
                              Ich glaube wir zwei kommen da nicht weiter! Ich denke im Adapter müssen die createStates angepasst werden.

                              @Zefau
                              Kannst du dich bitte dem Problem annehmen? Ich denke wir haben es jetzt ausreichend beschrieben.
                              PS. Mein System ist ein Raspberry PI4

                              ZefauZ Offline
                              ZefauZ Offline
                              Zefau
                              schrieb am zuletzt editiert von
                              #430

                              @smart-home seid ihr der Anleitung gefolgt und ist canvas installiert? Siehe https://github.com/iobroker-community-adapters/ioBroker.roomba/blob/master/README.md#installation

                              Die Objekte werden nur angelegt, wenn die Missions-Daten verarbeitet werden.

                              Meine Adapter: https://zefau.github.io/iobroker/

                              ZefauZ NewpicselN 2 Antworten Letzte Antwort
                              0
                              • ZefauZ Zefau

                                @smart-home seid ihr der Anleitung gefolgt und ist canvas installiert? Siehe https://github.com/iobroker-community-adapters/ioBroker.roomba/blob/master/README.md#installation

                                Die Objekte werden nur angelegt, wenn die Missions-Daten verarbeitet werden.

                                ZefauZ Offline
                                ZefauZ Offline
                                Zefau
                                schrieb am zuletzt editiert von Zefau
                                #431

                                welche ioBroker Version habt ihr installiert?

                                Meine Adapter: https://zefau.github.io/iobroker/

                                ? NewpicselN 2 Antworten Letzte Antwort
                                0
                                • ZefauZ Zefau

                                  welche ioBroker Version habt ihr installiert?

                                  ? Offline
                                  ? Offline
                                  Ein ehemaliger Benutzer
                                  schrieb am zuletzt editiert von
                                  #432

                                  @Zefau

                                  danke schon mal für deine Hilfe.

                                  Also wir haben beide das Problem das es schon mal ging und wir nichts an der Installation geändert haben. Und dann ab Tag X gab es die History nicht mehr.

                                  Ich habe jetzt nochmal nach der Anleitung canvas drüber gebügelt, einzigste auffälligkeit war diese:
                                  20db1ce9-7bb6-45d1-8c2f-68f83f4006cd-grafik.png

                                  Zur IoBroker Version: Immer die aktuellste
                                  29a84f65-37ff-4b7d-9817-b8fab006139d-grafik.png

                                  Kann es mit dem umstieg auf Raspberry PI 4 zusammenhängen?

                                  1 Antwort Letzte Antwort
                                  0
                                  • ZefauZ Zefau

                                    welche ioBroker Version habt ihr installiert?

                                    NewpicselN Offline
                                    NewpicselN Offline
                                    Newpicsel
                                    schrieb am zuletzt editiert von
                                    #433

                                    @Zefau
                                    Moin und danke schon mal,

                                    Also ich hatte auch vorher schon den pi4.

                                    JS controler 3.0.14

                                    Canvas hau ich heute Nachmittag nochmal drauf, gibt es hier etwas, was vorher gelöscht werden sollte?

                                    1 Antwort Letzte Antwort
                                    0
                                    • ZefauZ Zefau

                                      @smart-home seid ihr der Anleitung gefolgt und ist canvas installiert? Siehe https://github.com/iobroker-community-adapters/ioBroker.roomba/blob/master/README.md#installation

                                      Die Objekte werden nur angelegt, wenn die Missions-Daten verarbeitet werden.

                                      NewpicselN Offline
                                      NewpicselN Offline
                                      Newpicsel
                                      schrieb am zuletzt editiert von
                                      #434

                                      @Zefau
                                      so, habe alles wie angegeben durchgeführt, leider ohne erfolg.

                                      sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev

                                      Paketlisten werden gelesen... Fertig
                                      Abhängigkeitsbaum wird aufgebaut.
                                      Statusinformationen werden eingelesen.... Fertig
                                      build-essential ist schon die neueste Version (12.6).
                                      libgif-dev ist schon die neueste Version (5.1.4-3).
                                      libjpeg-dev ist schon die neueste Version (1:1.5.2-2).
                                      libpango1.0-dev ist schon die neueste Version (1.42.4-7~deb10u1).
                                      librsvg2-dev ist schon die neueste Version (2.44.10-2.1+rpi1).
                                      libcairo2-dev ist schon die neueste Version (1.16.0-4+rpt1).
                                      0 aktualisiert, 0 neu installiert, 0 zu entfernen und 1 nicht aktualisiert.
                                      

                                      sudo npm install canvas --unsafe-perm=true

                                      > canvas@2.6.1 install /opt/iobroker/node_modules/iobroker.roomba/node_modules/canvas
                                      > node-pre-gyp install --fallback-to-build
                                      
                                      node-pre-gyp WARN Using request for node-pre-gyp https download
                                      node-pre-gyp WARN Tried to download(404): https://github.com/node-gfx/node-canvas-prebuilt/releases/download/v2.6.1/canvas-v2.6.1-node-v64-linux-glibc-arm.tar.gz
                                      node-pre-gyp WARN Pre-built binaries not found for canvas@2.6.1 and node@10.17.0 (node-v64 ABI, glibc) (falling back to source compile with node-gyp)
                                      make: Verzeichnis „/opt/iobroker/node_modules/iobroker.roomba/node_modules/canvas/build“ wird betreten
                                        SOLINK_MODULE(target) Release/obj.target/canvas-postbuild.node
                                        COPY Release/canvas-postbuild.node
                                        CXX(target) Release/obj.target/canvas/src/backend/Backend.o
                                      In file included from ../src/backend/Backend.h:6,
                                                       from ../src/backend/Backend.cc:1:
                                      ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
                                      ../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                           , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                                                                    ^
                                      In file included from /root/.cache/node-gyp/10.17.0/include/node/node.h:63,
                                                       from ../../nan/nan.h:56,
                                                       from ../src/backend/Backend.h:6,
                                                       from ../src/backend/Backend.cc:1:
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
                                      /root/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                                      reinterpret_cast<Callback>(callback), type);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
                                      ../../nan/nan_object_wrap.h:65:61:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                        CXX(target) Release/obj.target/canvas/src/backend/ImageBackend.o
                                      In file included from ../src/backend/Backend.h:6,
                                                       from ../src/backend/ImageBackend.h:3,
                                                       from ../src/backend/ImageBackend.cc:1:
                                      ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
                                      ../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                           , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                                                                    ^
                                      In file included from /root/.cache/node-gyp/10.17.0/include/node/node.h:63,
                                                       from ../../nan/nan.h:56,
                                                       from ../src/backend/Backend.h:6,
                                                       from ../src/backend/ImageBackend.h:3,
                                                       from ../src/backend/ImageBackend.cc:1:
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
                                      /root/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                                      reinterpret_cast<Callback>(callback), type);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
                                      ../../nan/nan_object_wrap.h:65:61:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                        CXX(target) Release/obj.target/canvas/src/backend/PdfBackend.o
                                      In file included from ../src/backend/Backend.h:6,
                                                       from ../src/backend/PdfBackend.h:3,
                                                       from ../src/backend/PdfBackend.cc:1:
                                      ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
                                      ../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                           , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                                                                    ^
                                      In file included from /root/.cache/node-gyp/10.17.0/include/node/node.h:63,
                                                       from ../../nan/nan.h:56,
                                                       from ../src/backend/Backend.h:6,
                                                       from ../src/backend/PdfBackend.h:3,
                                                       from ../src/backend/PdfBackend.cc:1:
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
                                      /root/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                                      reinterpret_cast<Callback>(callback), type);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
                                      ../../nan/nan_object_wrap.h:65:61:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                        CXX(target) Release/obj.target/canvas/src/backend/SvgBackend.o
                                      In file included from ../src/backend/Backend.h:6,
                                                       from ../src/backend/SvgBackend.h:3,
                                                       from ../src/backend/SvgBackend.cc:1:
                                      ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
                                      ../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                           , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                                                                    ^
                                      In file included from /root/.cache/node-gyp/10.17.0/include/node/node.h:63,
                                                       from ../../nan/nan.h:56,
                                                       from ../src/backend/Backend.h:6,
                                                       from ../src/backend/SvgBackend.h:3,
                                                       from ../src/backend/SvgBackend.cc:1:
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
                                      /root/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                                      reinterpret_cast<Callback>(callback), type);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
                                      ../../nan/nan_object_wrap.h:65:61:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                        CXX(target) Release/obj.target/canvas/src/bmp/BMPParser.o
                                      ../src/bmp/BMPParser.cc: In member function ‘void BMPParser::Parser::parse(uint8_t*, int, uint8_t*)’:
                                      ../src/bmp/BMPParser.cc:189:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
                                         E(ptr - data > imgdOffset, "image data overlaps with another structure");
                                           ~~~~~~~~~~~^~~~~~~~~~~~
                                      ../src/bmp/BMPParser.cc:10:25: note: in definition of macro ‘E’
                                       #define E(cond, msg) if(cond) return setErr(msg)
                                                               ^~~~
                                      ../src/bmp/BMPParser.cc:204:27: warning: comparison of integer expressions of different signedness: ‘uint32_t’ {aka ‘unsigned int’} and ‘int’ [-Wsign-compare]
                                         E(ptr - data + imgdSize > len, "not enough image data");
                                           ~~~~~~~~~~~~~~~~~~~~~~^~~~~
                                      ../src/bmp/BMPParser.cc:10:25: note: in definition of macro ‘E’
                                       #define E(cond, msg) if(cond) return setErr(msg)
                                                               ^~~~
                                        CXX(target) Release/obj.target/canvas/src/Backends.o
                                      In file included from ../src/backend/Backend.h:6,
                                                       from ../src/Backends.h:3,
                                                       from ../src/Backends.cc:1:
                                      ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
                                      ../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                           , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                                                                    ^
                                      In file included from /root/.cache/node-gyp/10.17.0/include/node/node.h:63,
                                                       from ../../nan/nan.h:56,
                                                       from ../src/backend/Backend.h:6,
                                                       from ../src/Backends.h:3,
                                                       from ../src/Backends.cc:1:
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
                                      /root/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                                      reinterpret_cast<Callback>(callback), type);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
                                      ../../nan/nan_object_wrap.h:65:61:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                        CXX(target) Release/obj.target/canvas/src/Canvas.o
                                      In file included from ../src/backend/Backend.h:6,
                                                       from ../src/Canvas.h:5,
                                                       from ../src/Canvas.cc:3:
                                      ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
                                      ../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                           , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                                                                    ^
                                      ../src/Canvas.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Canvas::ToBuffer(Nan::NAN_METHOD_ARGS_TYPE)’:
                                      ../src/Canvas.cc:415:26: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘unsigned int’} [-Wsign-compare]
                                           if (canvas->nBytes() > node::Buffer::kMaxLength) {
                                               ~~~~~~~~~~~~~~~~~^~~~~~
                                      ../src/Canvas.cc:479:79: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                       ue_work(uv_default_loop(), req, ToPngBufferAsync, (uv_after_work_cb)ToBufferAsyncAfter);
                                                                                                           ^~~~~~~~~~~~~~~~~~
                                      
                                      ../src/Canvas.cc:520:80: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                       e_work(uv_default_loop(), req, ToJpegBufferAsync, (uv_after_work_cb)ToBufferAsyncAfter);
                                                                                                           ^~~~~~~~~~~~~~~~~~
                                      
                                      In file included from /root/.cache/node-gyp/10.17.0/include/node/node.h:63,
                                                       from ../../nan/nan.h:56,
                                                       from ../src/backend/Backend.h:6,
                                                       from ../src/Canvas.h:5,
                                                       from ../src/Canvas.cc:3:
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
                                      /root/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                                      reinterpret_cast<Callback>(callback), type);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
                                      ../../nan/nan_object_wrap.h:65:61:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                        CXX(target) Release/obj.target/canvas/src/CanvasGradient.o
                                      In file included from ../src/CanvasGradient.h:5,
                                                       from ../src/CanvasGradient.cc:3:
                                      ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
                                      ../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                           , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                                                                    ^
                                      In file included from /root/.cache/node-gyp/10.17.0/include/node/node.h:63,
                                                       from ../../nan/nan.h:56,
                                                       from ../src/CanvasGradient.h:5,
                                                       from ../src/CanvasGradient.cc:3:
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
                                      /root/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                                      reinterpret_cast<Callback>(callback), type);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
                                      ../../nan/nan_object_wrap.h:65:61:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                        CXX(target) Release/obj.target/canvas/src/CanvasPattern.o
                                      In file included from ../src/CanvasPattern.h:6,
                                                       from ../src/CanvasPattern.cc:3:
                                      ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
                                      ../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                           , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                                                                    ^
                                      In file included from /root/.cache/node-gyp/10.17.0/include/node/node.h:63,
                                                       from ../../nan/nan.h:56,
                                                       from ../src/CanvasPattern.h:6,
                                                       from ../src/CanvasPattern.cc:3:
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
                                      /root/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                                      reinterpret_cast<Callback>(callback), type);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
                                      ../../nan/nan_object_wrap.h:65:61:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                        CXX(target) Release/obj.target/canvas/src/CanvasRenderingContext2d.o
                                      In file included from ../src/backend/Backend.h:6,
                                                       from ../src/Canvas.h:5,
                                                       from ../src/CanvasRenderingContext2d.h:6,
                                                       from ../src/CanvasRenderingContext2d.cc:3:
                                      ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
                                      ../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                           , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                                                                    ^
                                      In file included from /root/.cache/node-gyp/10.17.0/include/node/node.h:63,
                                                       from ../../nan/nan.h:56,
                                                       from ../src/backend/Backend.h:6,
                                                       from ../src/Canvas.h:5,
                                                       from ../src/CanvasRenderingContext2d.h:6,
                                                       from ../src/CanvasRenderingContext2d.cc:3:
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
                                      /root/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                                      reinterpret_cast<Callback>(callback), type);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
                                      ../../nan/nan_object_wrap.h:65:61:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                        CXX(target) Release/obj.target/canvas/src/closure.o
                                      In file included from ../src/backend/Backend.h:6,
                                                       from ../src/Canvas.h:5,
                                                       from ../src/closure.h:5,
                                                       from ../src/closure.cc:1:
                                      ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
                                      ../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                           , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                                                                    ^
                                      In file included from /root/.cache/node-gyp/10.17.0/include/node/node.h:63,
                                                       from ../../nan/nan.h:56,
                                                       from ../src/backend/Backend.h:6,
                                                       from ../src/Canvas.h:5,
                                                       from ../src/closure.h:5,
                                                       from ../src/closure.cc:1:
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
                                      /root/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                                      reinterpret_cast<Callback>(callback), type);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
                                      ../../nan/nan_object_wrap.h:65:61:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                        CXX(target) Release/obj.target/canvas/src/color.o
                                        CXX(target) Release/obj.target/canvas/src/Image.o
                                      In file included from ../src/Image.h:8,
                                                       from ../src/Image.cc:3:
                                      ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
                                      ../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                           , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                                                                    ^
                                      In file included from /root/.cache/node-gyp/10.17.0/include/node/node.h:63,
                                                       from ../../nan/nan.h:56,
                                                       from ../src/Image.h:8,
                                                       from ../src/Image.cc:3:
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
                                      /root/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                                      reinterpret_cast<Callback>(callback), type);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
                                      ../../nan/nan_object_wrap.h:65:61:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                        CXX(target) Release/obj.target/canvas/src/ImageData.o
                                      In file included from ../src/ImageData.h:5,
                                                       from ../src/ImageData.cc:3:
                                      ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
                                      ../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                           , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                                                                    ^
                                      In file included from /root/.cache/node-gyp/10.17.0/include/node/node.h:63,
                                                       from ../../nan/nan.h:56,
                                                       from ../src/ImageData.h:5,
                                                       from ../src/ImageData.cc:3:
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
                                      /root/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                                      reinterpret_cast<Callback>(callback), type);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
                                      ../../nan/nan_object_wrap.h:65:61:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                        CXX(target) Release/obj.target/canvas/src/init.o
                                      In file included from ../src/backend/Backend.h:6,
                                                       from ../src/Backends.h:3,
                                                       from ../src/init.cc:17:
                                      ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
                                      ../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                                           , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                                                                    ^
                                      In file included from ../../nan/nan.h:56,
                                                       from ../src/backend/Backend.h:6,
                                                       from ../src/Backends.h:3,
                                                       from ../src/init.cc:17:
                                      ../src/init.cc: At global scope:
                                      /root/.cache/node-gyp/10.17.0/include/node/node.h:573:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
                                             (node::addon_register_func) (regfunc),                          \
                                                                                 ^
                                      /root/.cache/node-gyp/10.17.0/include/node/node.h:607:3: note: in expansion of macro ‘NODE_MODULE_X’
                                         NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
                                         ^~~~~~~~~~~~~
                                      ../src/init.cc:88:1: note: in expansion of macro ‘NODE_MODULE’
                                       NODE_MODULE(canvas, init);
                                       ^~~~~~~~~~~
                                      In file included from /root/.cache/node-gyp/10.17.0/include/node/node.h:63,
                                                       from ../../nan/nan.h:56,
                                                       from ../src/backend/Backend.h:6,
                                                       from ../src/Backends.h:3,
                                                       from ../src/init.cc:17:
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
                                      /root/.cache/node-gyp/10.17.0/include/node/node_object_wrap.h:84:78:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                                      reinterpret_cast<Callback>(callback), type);
                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
                                      ../../nan/nan_object_wrap.h:65:61:   required from here
                                      /root/.cache/node-gyp/10.17.0/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                                        CXX(target) Release/obj.target/canvas/src/register_font.o
                                        SOLINK_MODULE(target) Release/obj.target/canvas.node
                                        COPY Release/canvas.node
                                      make: Verzeichnis „/opt/iobroker/node_modules/iobroker.roomba/node_modules/canvas/build“ wird verlassen
                                      npm notice created a lockfile as package-lock.json. You should commit this file.
                                      + canvas@2.6.1
                                      added 73 packages from 79 contributors and audited 108 packages in 69.034s
                                      found 0 vulnerabilities
                                      
                                      
                                      1 Antwort Letzte Antwort
                                      0
                                      • ZefauZ Offline
                                        ZefauZ Offline
                                        Zefau
                                        schrieb am zuletzt editiert von
                                        #435

                                        Was steht im Log wenn die Instanz auf Debug steht bzw in den Adapter Einstellungen auch der Haken für Debug gesetzt ist?

                                        Meine Adapter: https://zefau.github.io/iobroker/

                                        ? NewpicselN 2 Antworten Letzte Antwort
                                        0
                                        • ZefauZ Zefau

                                          Was steht im Log wenn die Instanz auf Debug steht bzw in den Adapter Einstellungen auch der Haken für Debug gesetzt ist?

                                          ? Offline
                                          ? Offline
                                          Ein ehemaliger Benutzer
                                          schrieb am zuletzt editiert von Ein ehemaliger Benutzer
                                          #436

                                          @Zefau

                                          Hallo, ich den Adapter mal auf Debug gestellt und habe anschließend 2x meine Stube gesaugt.

                                          2020-04-30 06:49:40.902  - ^[[32minfo^[[39m: roomba.0 (1047) Got terminate signal TERMINATE_YOURSELF
                                          2020-04-30 06:49:40.919  - ^[[32minfo^[[39m: roomba.0 (1047) Adapter stopped und unloaded.
                                          2020-04-30 06:49:40.920  - ^[[32minfo^[[39m: roomba.0 (1047) terminating
                                          2020-04-30 06:49:40.922  - ^[[32minfo^[[39m: roomba.0 (1047) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                                          2020-04-30 06:49:46.846  - ^[[32minfo^[[39m: roomba.0 (27229) starting. Version 1.1.1 in /opt/iobroker/node_modules/iobroker.roomba, node: v10.16.3, js-controller: 3.0.20
                                          2020-04-30 06:49:46.921  - ^[[32minfo^[[39m: roomba.0 (27229) Connecting to Roomba (192.168.188.104)..
                                          2020-04-30 06:49:47.087  - ^[[32minfo^[[39m: roomba.0 (27229) Restored last mission (#145).
                                          2020-04-30 06:49:48.850  - ^[[32minfo^[[39m: roomba.0 (27229) Roomba online. Connection established.
                                          2020-04-30 06:55:48.867  - ^[[33mwarn^[[39m: roomba.0 (27229) Connection lost! Roomba offline.
                                          2020-04-30 06:55:48.871  - ^[[32minfo^[[39m: roomba.0 (27229) Roomba Connection closed.
                                          2020-04-30 06:55:48.871  - ^[[33mwarn^[[39m: roomba.0 (27229) Unknown error! Please see debug log for details.
                                          2020-04-30 06:55:52.009  - ^[[32minfo^[[39m: roomba.0 (27229) Roomba online. Connection established.
                                          2020-04-30 06:55:52.813  - ^[[32minfo^[[39m: roomba.0 (27229) Roomba has started a new mission (#146).
                                          2020-04-30 07:15:52.011  - ^[[33mwarn^[[39m: roomba.0 (27229) Connection lost! Roomba offline.
                                          2020-04-30 07:15:52.012  - ^[[32minfo^[[39m: roomba.0 (27229) Roomba Connection closed.
                                          2020-04-30 07:15:54.776  - ^[[32minfo^[[39m: roomba.0 (27229) Roomba online. Connection established.
                                          2020-04-30 07:16:42.802  - ^[[32minfo^[[39m: roomba.0 (27229) Roomba has started a new mission (#147).
                                          2020-04-30 07:49:37.242  - ^[[32minfo^[[39m: roomba.0 (27229) Mission #147 saved.
                                          2020-04-30 07:49:37.384  - ^[[31merror^[[39m: javascript.0 (596) script.js.Eigene_Skripte.Roomba.History: ich bin auf history getriggert
                                          

                                          Was ich im Log komisch finde ist die Zeile 11. Dort steht "Unknown error! Please see debug log for details." Gibt es noch ein weiters LOG-File? ich kenne nur das!?

                                          Mir ist aufgefallen das nachdem Debug gesetzt ist, dass ich auf der Roomba-Vis plötzlich den Livefahrweg sehe.
                                          cb74c49b-cade-4f01-a418-40d7d8ab48a4-grafik.png
                                          Plötzlich kommen in meiner Vis auch wieder Werte. (Objekte "roomba.0.missions.history" & "roomba.0.missions.current.mapHTML")
                                          69bf6e2e-07c7-42ec-a596-5b2f43a158db-grafik.png

                                          Allerdings unvollständig!!! wie man hier sieht:
                                          186ce0d6-f6a7-42c1-ab2f-afb29e37e9b3-grafik.png
                                          Mission 146 fehlt & Mission 145 hat kein fahrweg.

                                          So allerdings hab ich jetzt wieder festgestellt das die Vis's auf Objekte (z.B. "roomba.0.missions.history" & "roomba.0.missions.current.mapHTML") zugreifen können obwohl sie im Objektbrowser nicht vorhanden sind.
                                          7356d7e4-61df-4b84-add4-9d96beeabae6-grafik.png

                                          Ich habe mal zum Spaß in alle Objektbrowser geschaut (also Objekte auf der ADMIN-Seite / Objekte im Vis-Editor / Objekte über Javascript-Editor (Objekt-ID-Einfügen)) überall sind die History-Daten nicht angezeigt. Aber die Vis & Javascript können darauf zugreifen.

                                          Die letzte zeile in meinen Log ist übrigens nur eine Textausgabe die auf alle Änderungen des Objektes "roomba.0.missions.history" getriggert ist. Also kann Javaskript auch zugreifen....aber auf was wenn es nicht da ist. Ist das eine Darstellugssache? Kann man die Objekte sich andersweitig anzeigen lassen oder gibt es versteckte Objekte?

                                          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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          875

                                          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