Homebridge Fehlererkennung - Hilfe

  • Hallo allerseits!


    ich bin neu auf den Gebieten RaspberryPi und Homebridge.


    Dank euer aller tollen Fragen und Antworten im Forum hatte ich meine Konfiguration hinbekommen,

    so das der RaspberryPi 3 mit Homebridge und FritzBox Plugin läuft.


    Als ich gestern versucht habe meinen Xiaomi Vaccum per Plugin dazuzufügen habe ich irgendetwas zerschossen.


    Vielleicht kann einer von euch mir helfen?


    So sieht die config mit dem Xiaomi aus:

    Xxxxxxxxxxxxxxxxxxxxxxxxx


    {

    "bridge": {

    "name": "Homebridge",

    "username": "CC:22:3D:E3:CE:30",

    "port": 51826,

    "pin": "031-45-154"

    },


    "accessories": [

    {

    "accessory": "MiRobotVacuum",

    "name": "Vacuum Cleaner",

    "ip": "habe ich meine IP",

    "token": "314837706f6c4c78673659xxxxx$ (den Token habe ich hoffentlich richtig über iPhone Backup, sql ausgelesen und umgerechnet)

    }

    ]


    "platforms": [

    {

    "platform": "Fritz!Box",

    "name": "My FritzBox",

    "username": "habe ich meinen Benutzer hinterlegt",

    "password": "habe ich mein Passwort hinterlegt",

    "url": "http://fritz.box",

    "interval": 240,

    "hide": [ "<ain>"],

    "options": {

    "strictSSL": false

    }

    }

    ]

    }


    Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


    Selbst ohne den Vermerk im config jsn funktioniert es irgendwie nicht mehr


    Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


    pi@raspberrypi:~ $ homebridge

    *** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.

    *** WARNING *** Please fix your application to use the native API of Avahi!

    *** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>

    *** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.

    *** WARNING *** Please fix your application to use the native API of Avahi!

    *** WARNING *** For more information see <http://0pointer.de/avahi-compa…node&f=DNSServiceRegister>

    [2017-12-14 12:36:37] Loaded plugin: homebridge-fritz

    [2017-12-14 12:36:37] Registering platform 'homebridge-fritz.Fritz!Box'

    [2017-12-14 12:36:37] ---

    [2017-12-14 12:36:37] Loaded plugin: homebridge-xiaomi-mi-robot-vacuum

    [2017-12-14 12:36:37] Registering accessory 'homebridge-xiaomi-mi-robot-vacuum.MiRobotVacuum'

    [2017-12-14 12:36:37] ---

    [2017-12-14 12:36:37] There was a problem reading your config.json file.

    [2017-12-14 12:36:37] Please try pasting your config.json file here to validate it: http://jsonlint.com

    [2017-12-14 12:36:37]

    /usr/local/lib/node_modules/homebridge/lib/server.js:207

    throw err;

    ^


    SyntaxError: Unexpected token } in JSON at position 329

    at Object.parse (native)

    at Server._loadConfig (/usr/local/lib/node_modules/homebridge/lib/server.js:201:19)

    at new Server (/usr/local/lib/node_modules/homebridge/lib/server.js:57:38)

    at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:26:16)

    at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)

    at Module._compile (module.js:570:32)

    at Object.Module._extensions..js (module.js:579:10)

    at Module.load (module.js:487:32)

    at tryModuleLoad (module.js:446:12)

    at Function.Module._load (module.js:438:3)

    at Module.runMain (module.js:604:10)

    at run (bootstrap_node.js:394:7)

    at startup (bootstrap_node.js:149:9)

    at bootstrap_node.js:509:3m


    Xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


    wenn ich den Xiaomi aus der config rauslösche kommt folgender Fehler:


    pi@raspberrypi:~ $ homebridge

    *** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.

    *** WARNING *** Please fix your application to use the native API of Avahi!

    *** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>

    *** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.

    *** WARNING *** Please fix your application to use the native API of Avahi!

    *** WARNING *** For more information see <http://0pointer.de/avahi-compa…node&f=DNSServiceRegister>

    [2017-12-14 14:10:02] Loaded plugin: homebridge-fritz

    [2017-12-14 14:10:02] Registering platform 'homebridge-fritz.Fritz!Box'

    [2017-12-14 14:10:02] ---

    [2017-12-14 14:10:02] Loaded plugin: homebridge-xiaomi-mi-robot-vacuum

    [2017-12-14 14:10:02] Registering accessory 'homebridge-xiaomi-mi-robot-vacuum.MiRobotVacuum'

    [2017-12-14 14:10:02] ---

    [2017-12-14 14:10:02] There was a problem reading your config.json file.

    [2017-12-14 14:10:02] Please try pasting your config.json file here to validate it: http://jsonlint.com

    [2017-12-14 14:10:02]

    /usr/local/lib/node_modules/homebridge/lib/server.js:207

    throw err;

    ^


    SyntaxError: Unexpected string in JSON at position 180

    at Object.parse (native)

    at Server._loadConfig (/usr/local/lib/node_modules/homebridge/lib/server.js:201:19)

    at new Server (/usr/local/lib/node_modules/homebridge/lib/server.js:57:38)

    at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:26:16)

    at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)

    at Module._compile (module.js:570:32)

    at Object.Module._extensions..js (module.js:579:10)

    at Module.load (module.js:487:32)

    at tryModuleLoad (module.js:446:12)

    at Function.Module._load (module.js:438:3)

    at Module.runMain (module.js:604:10)

    at run (bootstrap_node.js:394:7)

    at startup (bootstrap_node.js:149:9)

    at bootstrap_node.js:509:3


    Xxxxxxxxxxxxx


    Es wäre toll wenn ihr mir weiterhelfen könntet!


    Viele Grüße Sven

  • da fehlte wohl ein Komma vor "platforms" - Versuche es mal so:


    {

    "bridge":{

    "name":"Homebridge",

    "username":"CC:22:3D:E3:CE:30",

    "port":51826,

    "pin":"031-45-154"

    },

    "accessories":[

    {

    "accessory":"MiRobotVacuum",

    "name":"Vacuum Cleaner",

    "ip":"habe ich meine IP",

    "token":"314837706f6c4c78673659xxxxx$"

    }

    ],

    "platforms":[

    {

    "platform":"Fritz!Box",

    "name":"My FritzBox",

    "username":"habe ich meinen Benutzer hinterlegt",

    "password":"habe ich mein Passwort hinterlegt",

    "url":"http://fritz.box",

    "interval":240,

    "hide":[

    "<ain>"

    ],

    "options":{

    "strictSSL":false

    }

    }

    ]

    }


    PS: Hier kannst Du das Format immer sehr gut testen:

    https://jsonformatter.curiousconcept.com/

  • Ach wie doof... wenn man sich das so oft anschaut sieht man das echt nicht mehr...


    Danke dir vielmals auch für den Tipp mit dem JSON Check.


    Die Datei an sich ist jetzt valide ...


    Nach dem Homebridge qr-Code kommt nun allerdings....


    events.js:160

    throw er; // Unhandled 'error' event

    ^


    Error: listen EADDRINUSE :::51826

    at Object.exports._errnoException (util.js:1022:11)

    at exports._exceptionWithHostPort (util.js:1045:20)

    at Server._listen2 (net.js:1259:14)

    at listen (net.js:1295:10)

    at Server.listen (net.js:1391:5)

    at EventedHTTPServer.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/eventedhttp.js:60:19)

    at HAPServer.listen (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:158:20)

    at Bridge.Accessory.publish (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:601:16)

    at Server._publish (/usr/local/lib/node_modules/homebridge/lib/server.js:126:16)

    at Server.<anonymous> (/usr/local/lib/node_modules/homebridge/lib/server.js:382:14)

    at /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/util/once.js:16:19

    at /usr/local/lib/node_modules/homebridge-fritz/index.js:139:25

    at tryCatcher (/usr/local/lib/node_modules/homebridge-fritz/node_modules/bluebird/js/release/util.js:16:23)

    at Promise._settlePromiseFromHandler (/usr/local/lib/node_modules/homebridge-fritz/node_modules/bluebird/js/release/promise.js:512:31)

    at Promise._settlePromise (/usr/local/lib/node_modules/homebridge-fritz/node_modules/bluebird/js/release/promise.js:569:18)

    at Promise._fulfillPromises (/usr/local/lib/node_modules/homebridge-fritz/node_modules/bluebird/js/release/promise.js:668:14)


    Da könnt man verrückt werden... hast du dafür auch noch nen Tipp?

  • Die Meldung sagt wohl, dass der Port 51826 bereits in Gebrauch ist - es scheint also mehr als eine Instanz von Homebridge zu geben - Versuche mal alle

    anderen Instanzen zu stoppen, bevor Du eine neue startest ....

    Also:

    (sudo) killall homebridge

    und starte dann die homebridge neu

  • Nun habe ich doch nochmal eine Frage....


    Die Module scheinen zu laufen aber der Xiaomi will sich nicht verbinden...



    [2017-12-15 16:47:13] Loaded plugin: homebridge-fritz

    [2017-12-15 16:47:13] Registering platform 'homebridge-fritz.Fritz!Box'

    [2017-12-15 16:47:13] ---

    [2017-12-15 16:47:13] Loaded plugin: homebridge-xiaomi-mi-robot-vacuum

    [2017-12-15 16:47:13] Registering accessory 'homebridge-xiaomi-mi-robot-vacuum.MiRobotVacuum'

    [2017-12-15 16:47:13] ---

    [2017-12-15 16:47:13] Loaded config.json with 1 accessories and 1 platforms.

    [2017-12-15 16:47:13] ---

    [2017-12-15 16:47:13] Loading 1 platforms...

    [2017-12-15 16:47:13] [My FritzBox] Initializing Fritz!Box platform...

    [2017-12-15 16:47:13] Loading 1 accessories...

    [2017-12-15 16:47:13] [Vacuum Cleaner] Initializing MiRobotVacuum accessory...

    [2017-12-15 16:47:13] [My FritzBox] Fritz!Box platform login successful

    [2017-12-15 16:47:13] [My FritzBox] Discovering accessories

    [2017-12-15 16:47:17] [My FritzBox] Outlets found:

    [2017-12-15 16:47:18] [My FritzBox] Thermostats found: 119600064152

    [2017-12-15 16:47:18] [My FritzBox] Sensors found:

    [2017-12-15 16:47:18] [My FritzBox] Initializing platform accessory 'Guest WLAN'...

    [2017-12-15 16:47:18] [My FritzBox] Initializing platform accessory 'Heizung Wohnzimmer'...

    Setup Payload:

    X-HM://0023ISYWY2C29

    Scan this code with your HomeKit app on your iOS device to pair with Homebridge:


    [2017-12-15 16:47:18] Homebridge is running on port 51826.

    (node:2452) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Not able to initialize robot vacuum.

    (node:2452) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

    (node:2452) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: Call to device timed out


    das geht dann noch so weiter... habt ihr da auch ne Idee?


    Die Firmwareversion vom Xiaomi ist die 3.3.9_003077



    Vielen Dank im voraus , Sven