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. Error/Bug
  4. Homepilot Adapter zeigt keine State-Datenpunkte bei Schalt-Aktoren

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.0k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    698

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Homepilot Adapter zeigt keine State-Datenpunkte bei Schalt-Aktoren

Geplant Angeheftet Gesperrt Verschoben Error/Bug
33 Beiträge 3 Kommentatoren 4.4k Aufrufe
  • Ä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.
  • P Offline
    P Offline
    pix
    schrieb am zuletzt editiert von
    #11

    Hallo Mickey,

    schön, dass es klappt.

    Du hast recht, die Aktualisierung der Datenpunkte fehlt. Ich hab es schlicht vergessen. Kann es mangels Aktoren ja auch nicht ausprobieren.
    @Micky79:

    Nach dem Motto wenn LEVEL > 0 dann STATE = true ansonsten FALSE. ` Gibt es schon, nur an anderer Stelle.

    Kannst du nochmal nachsehen, ob diese Liste so stimmt:

    https://github.com/Pix---/ioBroker.home ... ed-devices

    Dürfte keine größeren Probleme machen, die 42 und 47 ebenfalls einzubinden.

    Werde das alles nachholen. Vermutlich aber nicht mehr heute.

    Die Datenstruktur gefällt mir allerdings trotzdem nicht. Auch wenn es so möglich ist, Alexa zu nutzen, sehe ich später Probleme zB bei "mobile" oder anderen dynamisch erstellten Seiten. Da sich aber bisher keiner beschwert hat ... es bleibt also erstmal so.

    Gruß

    Pix

    ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      Micky79
      schrieb am zuletzt editiert von
      #12

      Jo, die Liste stimmt so wie ich es sehe.

      Noch etwas. Mir ist gerade aufgefallen das ich ein paar Einträge des Homepilot Adapters im Log habe wie z.B. das hier:

      homepilot.0 2017-01-24 16:31:28.879 info Command sent to Homepilot because "false" written to State "homepilot.0.devices.Schaltaktor2-Kanal.10045.state"

      homepilot.0 2017-01-24 16:31:28.861 info Command sent to Homepilot because "false" written to State "homepilot.0.devices.Schaltaktor2-Kanal.10046.state"

      javascript.0 2017-01-24 16:31:28.847 warn Wrong type of homepilot.0.devices.Schaltaktor2-Kanal.10045.state: "boolean". Please fix, while deprecated and will not work in next versions.

      javascript.0 2017-01-24 16:31:28.836 warn Wrong type of homepilot.0.devices.Schaltaktor2-Kanal.10046.state: "boolean". Please fix, while deprecated and will not work in next versions.

      Viele Grüße Micky

      1 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        pix
        schrieb am zuletzt editiert von
        #13

        Neue Version auf Github: https://github.com/Pix–-/ioBroker.homepilot

        Datenpunkte werden nun aktualisiert.

        Die Meldung "Command sent to Homepilot because...." ist eigentlich "debug", stelle ich um.

        Wrong type of homepilot.0.devices.Schaltaktor2-Kanal.10046.state: "boolean". Please fix, while ....
        

        Er meckert, weil ein boolean kommt, er aber ein "booelan" erwartete. Also ein Schreibfehler (Zeile 313 main.js). Repariert.

        Probier nochmal 0.2.2 aus

        Pix

        ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          Micky79
          schrieb am zuletzt editiert von
          #14

          Hi Pix.

          State wird jetzt aktualisiert! Super. Vielen Dank.

          Jetzt nur noch die Rohrmotoraktoren und die Rohrmotorsteuerungen … :D :)

          1 Antwort Letzte Antwort
          0
          • P Offline
            P Offline
            pix
            schrieb am zuletzt editiert von
            #15

            Hallo Micky,
            @Micky79:

            Jetzt nur noch die Rohrmotoraktoren und die Rohrmotorsteuerungen … :D :) `
            ähh, das ist eigentlich schon erledigt. Du musst natürlich die Instanz vorher löschen, damit createStates/setStateIfNotExist neu anlegen kann…

            Gruß

            Pix

            ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

            1 Antwort Letzte Antwort
            0
            • M Offline
              M Offline
              Micky79
              schrieb am zuletzt editiert von
              #16

              Hallo Pix,

              ja, habe ich ja auch so gemacht. Alte Instanz gelöscht und dann neu von GitHub installiert. Bei den Adaptern wird auch 0.2.2 angezeigt.

              Der Adapter erstellt auch alle Datenpunkte neu. Kann man im LOG sehen.

              Habe es eben noch mal probiert, gelöscht und neuinstalliert. Leider ohne Erfolg. Der Leveldatenpunkt ist nicht beschreibbar.

              Habe Dir mal ein Screenshot angehängt.

              Und hin und wieder kommt es vor, dass der Adapter nach ein paar Fehlermeldungen beendet wird und dann neu startet. Siehe hier die Log Einträge:

              homepilot.0 2017-01-25 05:33:43.479 info starting. Version 0.2.2 in /opt/iobroker/node_modules/iobroker.homepilot, node: v4.7.2

              host.iobroker 2017-01-25 05:33:41.476 info instance system.adapter.homepilot.0 started with pid 9776

              host.iobroker 2017-01-25 05:33:11.417 info Restart adapter system.adapter.homepilot.0 because enabled

              host.iobroker 2017-01-25 05:33:11.410 error instance system.adapter.homepilot.0 terminated with code 0 (OK)

              homepilot.0 2017-01-25 05:33:11.354 info Homepilot adapter stopped

              homepilot.0 2017-01-25 05:33:11.353 info terminating homepilot adapter

              homepilot.0 2017-01-25 05:33:11.351 error at IncomingMessage.emit (events.js:166:7)

              homepilot.0 2017-01-25 05:33:11.351 error at emitNone (events.js:72:20)

              homepilot.0 2017-01-25 05:33:11.351 error at IncomingMessage.g (events.js:260:16)

              homepilot.0 2017-01-25 05:33:11.351 error at IncomingMessage. (/opt/iobroker/node_modules/iobroker.homepilot/node_modules/request/request.js:1001:12)

              homepilot.0 2017-01-25 05:33:11.351 error at Request.emit (events.js:169:7)

              homepilot.0 2017-01-25 05:33:11.351 error at emitOne (events.js:77:13)

              homepilot.0 2017-01-25 05:33:11.351 error at Request. (/opt/iobroker/node_modules/iobroker.homepilot/node_modules/request/request.js:1081:10)

              homepilot.0 2017-01-25 05:33:11.351 error at Request.emit (events.js:172:7)

              homepilot.0 2017-01-25 05:33:11.351 error at emitTwo (events.js:87:13)

              homepilot.0 2017-01-25 05:33:11.351 error at Request.self.callback (/opt/iobroker/node_modules/iobroker.homepilot/node_modules/request/request.js:186:22)

              homepilot.0 2017-01-25 05:33:11.351 error at Request._callback (/opt/iobroker/node_modules/iobroker.homepilot/main.js:432:51)

              homepilot.0 2017-01-25 05:33:11.351 error TypeError: Cannot read property 'length' of undefined

              homepilot.0 2017-01-25 05:33:11.337 error uncaught exception: Cannot read property 'length' of undefined

              Und solche Warnungen kommen auch:

              javascript.0 2017-01-25 05:39:27.616 warn Wrong type of homepilot.0.devices.Schaltaktor2-Kanal.10070.cid: "number". Please fix, while deprecated and will not work in next versions.

              javascript.0 2017-01-25 05:39:27.612 warn Wrong type of homepilot.0.devices.Rohrmotor-Steuerung.10036.cid: "number". Please fix, while deprecated and will not work in next versions.

              Ich hoffe Du kannst da was machen…

              Wenn Du irgendwelche Daten brauchst sag einfach bescheid.

              Viele Grüße Michael
              1924_screenshot.jpeg

              1 Antwort Letzte Antwort
              0
              • T Offline
                T Offline
                TomF
                schrieb am zuletzt editiert von
                #17

                Hallo zusammen, ich weiss nicht ob ich ein neues Topic aufmachen sollte für mein Problem, da es es sich auch um den Homepilot handelt …

                Wie auch immer, mein Problem, nach zufügen des Adapters und der richtigen IP Adresse für den Hompilot,sieht alles gut aus, siehe LOG:

                homepilot.0	2017-01-25 13:13:50.483	info	Objects for Connect-Aktor(10005) created
                homepilot.0	2017-01-25 13:13:50.482	info	Objects for Connect-Aktor(10004) created
                homepilot.0	2017-01-25 13:13:50.480	info	Objects for Schaltaktor2-Kanal(10006) created
                homepilot.0	2017-01-25 13:13:50.479	info	Objects for Connect-Aktor(10003) created
                homepilot.0	2017-01-25 13:13:50.477	info	Objects for Connect-Aktor(10002) created
                homepilot.0	2017-01-25 13:13:50.447	info	Objects for Connect-Aktor(10001) created
                homepilot.0	2017-01-25 13:13:50.426	info	Objects for Schaltaktor2-Kanal(10007) created
                homepilot.0	2017-01-25 13:13:37.957	info	starting. Version 0.2.0 in /opt/iobroker/node_modules/iobroker.homepilot, node: v4.7.2
                host.TomsIOBroker	2017-01-25 13:13:36.059	info	instance system.adapter.homepilot.0 started with pid 1016
                host.TomsIOBroker	2017-01-25 13:13:36.048	info	object change system.adapter.homepilot.0
                host.TomsIOBroker	2017-01-25 13:13:33.360	info	object change system.adapter.homepilot.0
                iobroker	2017-01-25 13:00:46.130	info	exit 0
                iobroker	2017-01-25 13:00:46.112	info	host.TomsIOBroker object system.adapter.homepilot.0 created
                host.TomsIOBroker	2017-01-25 13:00:46.102	info	object change system.adapter.homepilot.0
                iobroker	2017-01-25 13:00:46.069	info	host.TomsIOBroker object system.adapter.homepilot.0.alive created
                iobroker	2017-01-25 13:00:46.024	info	host.TomsIOBroker object system.adapter.homepilot.0.connected created
                iobroker	2017-01-25 13:00:45.992	info	host.TomsIOBroker object system.adapter.homepilot.0.memHeapUsed created
                iobroker	2017-01-25 13:00:45.960	info	host.TomsIOBroker object system.adapter.homepilot.0.memHeapTotal created
                iobroker	2017-01-25 13:00:45.926	info	host.TomsIOBroker object system.adapter.homepilot.0.memRss created
                iobroker	2017-01-25 13:00:45.890	info	host.TomsIOBroker object system.adapter.homepilot.0.uptime created
                iobroker	2017-01-25 13:00:45.856	info	host.TomsIOBroker object homepilot.0.station created
                iobroker	2017-01-25 13:00:45.827	info	host.TomsIOBroker object homepilot.0.station.ip created
                iobroker	2017-01-25 13:00:45.794	info	host.TomsIOBroker object homepilot.0.station.UNREACH created
                iobroker	2017-01-25 13:00:45.760	info	host.TomsIOBroker object homepilot.0.devices created
                iobroker	2017-01-25 13:00:45.728	info	host.TomsIOBroker object homepilot.0.devices.json created
                iobroker	2017-01-25 13:00:45.712	info	host.TomsIOBroker create instance homepilot
                iobroker	2017-01-25 13:00:45.630	info	host.TomsIOBroker object system.adapter.homepilot created
                iobroker	2017-01-25 13:00:45.512	info	upload [0] homepilot.admin /opt/iobroker/node_modules/iobroker.homepilot/admin/homepilot.png homepilot.png image/png
                iobroker	2017-01-25 13:00:45.412	info	upload [1] homepilot.admin /opt/iobroker/node_modules/iobroker.homepilot/admin/index.html index.html text/html
                iobroker	2017-01-25 13:00:45.385	info	got /opt/iobroker/node_modules/iobroker.homepilot/admin
                iobroker	2017-01-25 13:00:45.362	info	host.TomsIOBroker install adapter homepilot
                iobroker	2017-01-25 13:00:14.878	info	npm install iobroker.homepilot --production --prefix "/opt/iobroker" (System call)
                iobroker	2017-01-25 13:00:13.173	info	add homepilot
                
                

                Ich kann die Objekte aber im Objektbaum nicht finden :(
                1919_homepilot1.jpg

                Muss ich noch irgendetwas machen?

                Danke und Gruß

                Tom

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  Micky79
                  schrieb am zuletzt editiert von
                  #18

                  @Pix

                  Habe gerade mal probiert per Javascript auf den Datenpunkt Level zu zugreifen. Das geht!

                  30% Rollade geht ohne Probleme. Super! Das ist doch schon mal was.

                  Aber im CloudAdapter kann ich den Level Datenpunkt nicht als Gerät hinzufügen. Die CID geht (bringt an der Stelle aber nichts). Wahrscheinlich musst Du noch irgendwelche Einstellungen bezüglich Eingabefreigaben anpassen. Im Objektbaum kann ich ja auch keine Werte unter LEVEL eintragen.

                  Und wie oben bereits geschrieben schmiert der Adapter hin wieder mal mit der geposteten Fehlermeldung ab. Nach völlig unterschiedlichen Laufzeiten und nicht reproduzierbar.

                  Viele Grüße Micky

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    Micky79
                    schrieb am zuletzt editiert von
                    #19

                    @Tom

                    Das hatte ich glaube ich auch mal. Hast Du die Instanz des HP mal beendet und neu gestartet?

                    Viele Grüße Micky

                    1 Antwort Letzte Antwort
                    0
                    • P Offline
                      P Offline
                      pix
                      schrieb am zuletzt editiert von
                      #20

                      @ Tom: Das dauert etwas. Seit deinem Posting müsste der Objektbaum jetzt da sein.

                      Frage: Kannst du mir sagen, welche Seriennummer der "Connect-Aktor" hat und was er macht (Seriennummer in der JSON)? Ist das dieser https://www.rademacher.de/hausautomation-homepilotr/markisen/duofern-connect-aktor/ mit der Typ-Nummer 9477?

                      @ Mickey: Wann kommen diese Warnungen?
                      ` > Und solche Warnungen kommen auch:

                      javascript.0 2017-01-25 05:39:27.616 warn Wrong type of homepilot.0.devices.Schaltaktor2-Kanal.10070.cid: "number". Please fix, while deprecated and will not work in next versions.

                      javascript.0 2017-01-25 05:39:27.612 warn Wrong type of homepilot.0.devices.Rohrmotor-Steuerung.10036.cid: "number". Please fix, while deprecated and will not work in next versions. ` und welche Werte versuchst du gerade in den Datenpunkt cid zu schreiben?

                      Denn der Wert,d er reingeschrieben werden muss sollte ein STRING sein, kein NUMBER. Also noch "Häkchen" drum.

                      Gruß

                      Pix

                      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                      1 Antwort Letzte Antwort
                      0
                      • M Offline
                        M Offline
                        Micky79
                        schrieb am zuletzt editiert von
                        #21

                        @Pix

                        Immer wenn ich eine Rolllade per Script auf oder abfahre.

                        Werde ich aber jetzt ändern, da LEVEL per Script ja jetzt geht.

                        Aber Du hast recht, ich habe das CID Kommando als zahl angegeben. Ohne "

                        Viele Grüße Micky

                        1 Antwort Letzte Antwort
                        0
                        • P Offline
                          P Offline
                          pix
                          schrieb am zuletzt editiert von
                          #22

                          Geht es denn mit Häkchen? Ich kann im Adapter-Skript ein toString() einbauen. Das fängt den Fehler ab.

                          ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                          1 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            Micky79
                            schrieb am zuletzt editiert von
                            #23

                            @Pix

                            Noch etwas ist mir gerade aufgefallen.

                            setState("homepilot.0.devices.Rohrmotor-Steuerung.10036.level"/level Wohnzimmertür/, 0); gibt einen Fehler:

                            homepilot.0 2017-01-25 18:56:29.609 warn Wrong type of data input. Please try again

                            setState("homepilot.0.devices.Rohrmotor-Steuerung.10036.level"/level Wohnzimmertür/, 1); geht. Auch 100 oder alle Zahlen dazwischen.

                            0 für 0% nimmt er nicht.

                            Viele Grüße Micky

                            1 Antwort Letzte Antwort
                            0
                            • M Offline
                              M Offline
                              Micky79
                              schrieb am zuletzt editiert von
                              #24

                              @Pix

                              Ja, mit Häkchen z.B. "10", geht es.

                              1 Antwort Letzte Antwort
                              0
                              • P Offline
                                P Offline
                                pix
                                schrieb am zuletzt editiert von
                                #25

                                @Micky79:

                                @Pix

                                Noch etwas ist mir gerade aufgefallen.

                                setState("homepilot.0.devices.Rohrmotor-Steuerung.10036.level"/level Wohnzimmertür/, 0); gibt einen Fehler:

                                homepilot.0 2017-01-25 18:56:29.609 warn Wrong type of data input. Please try again

                                setState("homepilot.0.devices.Rohrmotor-Steuerung.10036.level"/level Wohnzimmertür/, 1); geht. Auch 100 oder alle Zahlen dazwischen.

                                0 für 0% nimmt er nicht.

                                Viele Grüße Micky `
                                Dieser Fehler sollte mit der neuen Version 0.2.3 gefixt sein. Der RegExp-Abgleich hatte bisher die 0 nicht einbezogen :roll: .

                                Die Beschreibbarkeit des Level(_inverted)-Datenpunktes ist im Adapter eingentlich auf "false" gestellt.

                                ! ````
                                adapter.setObjectNotExists(path + '.level_inverted', {
                                type: 'state',
                                common: {
                                name: 'level inverted ' + devicename,
                                desc: 'level inverted (like Homematic) of device ' + deviceid,
                                type: 'number',
                                role: 'level.blind',
                                min: 0,
                                max: 100,
                                unit: '%',
                                read: true,
                                write: false
                                },
                                native: {}
                                });

                                Umso mehr wundert mich, dass die Beschreibung aus Javascript oder VIS funktioniert. Es wundert mich aber nicht, dass sie aus dem Cloud-Adapter nicht funktioniert.
                                
                                Pix

                                ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                                1 Antwort Letzte Antwort
                                0
                                • M Offline
                                  M Offline
                                  Micky79
                                  schrieb am zuletzt editiert von
                                  #26

                                  @Pix

                                  Werde ich morgen mal installieren.

                                  Aber wieso hast denn den Level schreibgeschützt? Bei Rollläden ist dieser Datenpunkt doch auch für die Steuerung vorgesehen oder nicht?

                                  Kannst du das nicht einfach freigeben. Es scheint ja zu funktionieren. Zumindest per Script.

                                  Vg Micky

                                  1 Antwort Letzte Antwort
                                  0
                                  • P Offline
                                    P Offline
                                    pix
                                    schrieb am zuletzt editiert von
                                    #27

                                    @pix:

                                    Kannst du das nicht einfach freigeben. Es scheint ja zu funktionieren. Zumindest per Script. `
                                    Ok, habe ich mal eben geändert. Muss die Instanz wieder löschen. Immer noch Version 0.2.3

                                    Pix

                                    ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                                    1 Antwort Letzte Antwort
                                    0
                                    • M Offline
                                      M Offline
                                      Micky79
                                      schrieb am zuletzt editiert von
                                      #28

                                      @Pix

                                      Habe 0.2.3 installiert.

                                      Level geht jetzt. :D Kann man unter Objekte Werte im Level Datenpunkt eintragen und mit Alexa funktioniert es auch.

                                      Mann kann zwar nicht sagen "fahre Rolllade im Büro nach unten", aber "fahre Rolllade auf 0%" geht. Ich denke aber mal das ist eher ein Problem vom CloudAdapter.

                                      Ich glaube ich habe auch eine Idee, wann diese Fehlermeldungen hier kommen:

                                      host.iobroker 2017-01-26 05:54:55.231 error instance system.adapter.homepilot.0 terminated with code 0 (OK)

                                      homepilot.0 2017-01-26 05:54:55.184 info Homepilot adapter stopped

                                      homepilot.0 2017-01-26 05:54:55.183 info terminating homepilot adapter

                                      homepilot.0 2017-01-26 05:54:55.179 error at emitNone (events.js:72:20)

                                      homepilot.0 2017-01-26 05:54:55.179 error at IncomingMessage.g (events.js:260:16)

                                      homepilot.0 2017-01-26 05:54:55.179 error at IncomingMessage. (/opt/iobroker/node_modules/iobroker.homepilot/node_modules/request/request.js:1001:12)

                                      homepilot.0 2017-01-26 05:54:55.179 error at Request.emit (events.js:169:7)

                                      homepilot.0 2017-01-26 05:54:55.179 error at emitOne (events.js:77:13)

                                      homepilot.0 2017-01-26 05:54:55.179 error at Request. (/opt/iobroker/node_modules/iobroker.homepilot/node_modules/request/request.js:1081:10)

                                      homepilot.0 2017-01-26 05:54:55.179 error at Request.emit (events.js:172:7)

                                      homepilot.0 2017-01-26 05:54:55.179 error at emitTwo (events.js:87:13)

                                      homepilot.0 2017-01-26 05:54:55.179 error at Request.self.callback (/opt/iobroker/node_modules/iobroker.homepilot/node_modules/request/request.js:186:22)

                                      homepilot.0 2017-01-26 05:54:55.179 error at Request._callback (/opt/iobroker/node_modules/iobroker.homepilot/main.js:448:51)

                                      homepilot.0 2017-01-26 05:54:55.179 error TypeError: Cannot read property 'length' of undefined

                                      homepilot.0 2017-01-26 05:54:55.161 error uncaught exception: Cannot read property 'length' of undefined

                                      Ich glaube das passiert immer dann, wenn der Homepilot beschäftigt ist (z.B. gerade eine Szene ausführt) und der Adapter versucht, die Daten vom HP abzuholen.

                                      Habe mal das Abfrage Intervall auf 60 Sekunden gestellt und ein paar Szenen ausgeführt. Alles OK.

                                      Intervall auf standardmäßige 12 Sekunden gestellt, schon gab es nach Ausführung einer Szene einen crash.

                                      Ich habe aber auch ein relativ großes Homepilot System, mit ca. 90 ansteuerbaren Geräten. Könnte sein, dass es da etwa länger dauert wenn die JSON Abfrage vom Homepilot zurückkommt.

                                      Aber wenn dies wirklich der Fall sein sollte, dann sollte Dein Adapter diesen Fehler irgendwie kapseln, z.B. die Anfrage 3 Sekunden später noch mal durchführen und wenn es dann nimmer noch nicht kappt dann noch mal 3 Sekunden später.

                                      Ich weis aber nicht ob das wirklich das Problem ist. Kann auch alles Zufall gewesen sein. Ist nur ne Vermutung. Ich bin mir nicht sicher was die Fehlermeldungen bedeuten.

                                      Aber auf jeden Fall nochmal vielen Dank für Deine schnelle Arbeit! Echt TOP.

                                      Mal abgesehen von dem obigen Problem scheint ja jetzt alles einwandfrei zu laufen. :)

                                      Viele Grüße Micky

                                      1 Antwort Letzte Antwort
                                      0
                                      • P Offline
                                        P Offline
                                        pix
                                        schrieb am zuletzt editiert von
                                        #29

                                        Hallo Mickey,

                                        danke fürs Testen. Schön, dass der Adapter jetzt läuft.

                                        In deiner Fehlermeldung ist dieses length gemeint (Zeile 448)

                                        `for (var i = 0; i < result.devices.length; i++) {
                                                            //adapter.log.debug('Device ' + result.devices[i].productName + ' found. Name: ' + result.devices[i].name);
                                                            createStates(result, i); // create Objects if not Exist
                                                            writeStates(result, i); // write Objects 
                                                        }`innerhalb der Funtion readHomepilot
                                        `~~[code]~~function readHomepilot() {
                                            var unreach = true;
                                            request(link, function(error, response, body) {
                                                if (!error && response.statusCode == 200) {
                                                    var result;
                                                    try {
                                                        result = JSON.parse(body);
                                                        var data = JSON.stringify(result, null, 2);
                                                        unreach = false;
                                                        //adapter.log.debug('Homepilot data: ' + data);
                                                        adapter.setState('devices.json', {
                                                            val: data,
                                                            ack: true
                                                        });
                                                    } catch (e) {
                                                        adapter.log.warn('Parse Error: ' + e);
                                                        unreach = true;
                                                    }
                                                    if (result) {
                                                        // save val here, go through ALL devices
                                                        for (var i = 0; i < result.devices.length; i++) { // +++++ HIER PASSIERT DER FEHLER BEI MICKEY (length) +++++++
                                                            //adapter.log.debug('Device ' + result.devices[i].productName + ' found. Name: ' + result.devices[i].name);
                                                            createStates(result, i); // create Objects if not Exist
                                                            writeStates(result, i); // write Objects 
                                                        }
                                                        adapter.setState('station.ip', {
                                                            val: ip,
                                                            ack: true
                                                        });
                                                    }
                                                } else {
                                                    adapter.log.warn('Cannot connect to Homepilot: ' + error);
                                                    unreach = true;
                                                }
                                                // Write connection status
                                                adapter.setState('station.UNREACH', {
                                                    val: unreach,
                                                    ack: true
                                                });
                                            }); // End request 
                                            adapter.log.debug('finished reading Homepilot Data');
                                        }` Dort müsste ich irgendwo eine Verzögerung einbauen oder im Callback das Abfragen der Devices einbauen. Da habe ich noch keine Idee.
                                        
                                        Wenn du soviele Geräte hast, sind da sicher noch andere Typen/Seriennummern dabei. Kannst du mir mal deinen Objektbaum zukommen lassen? ![261_bildschirmfoto_2017-01-26_um_17.41.56.jpg](/assets/uploads/files/261_bildschirmfoto_2017-01-26_um_17.41.56.jpg) 
                                        
                                        Gruß
                                        
                                        Pix[/i][/i][/code][/i][/i]
                                        

                                        ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                                        1 Antwort Letzte Antwort
                                        0
                                        • M Offline
                                          M Offline
                                          Micky79
                                          schrieb am zuletzt editiert von
                                          #30

                                          @Pix

                                          Nein, weitere Seriennummern habe ich leider nicht, sonst hätte ich sie Dir selbstverständlich schon mitgeteilt.

                                          Ich habe nur folgende Geräte:

                                          Rohrmotor-Aktor

                                          Rohrmotor-Steuerung

                                          Schaltaktor1-Kanal

                                          Schaltaktor2-Kanal

                                          Die meisten sind Schaltaktor2-Kanal weil ich jedes Licht per Aktor steuern kann.

                                          Zu dem Crash Problem.

                                          Würde es nicht etwas bringen, wenn Du die result Variable vor dem request definierst. Am besten direkt mit var result = null;

                                          Dann müsste die if Abfrage nach result den Block eigentlich nicht ausführen. Ich gehe mal davon aus dass wenn der Homepilot nicht antwortet der Fehler durch

                                          if (!error && response.statusCode == 200)

                                          erkannt wird und der try Block nicht ausgeführt wird. In diesem Block wird aber die result definiert. Wenn der Block nicht ausgeführt wird ist result nicht definiert oder?

                                          Oder evtl auch so:

                                          if ((result) && (!unreach)) {

                                          // save val here, go through ALL devices

                                          …

                                          }

                                          Ist nur so eine Idee von mir. Beschäftige mich erst seit kurzem mit iobroker. Vielleicht habe ich Deinen Code auch falsch verstanden... Also nicht böse sein wenn ich Mist geschrieben habe.

                                          Versuche nur das Problem mit zu lösen.

                                          Viele Grüße Micky

                                          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

                                          332

                                          Online

                                          32.6k

                                          Benutzer

                                          82.0k

                                          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