homebridge/homekit

Begonnen von justme1968, 01 Februar 2016, 16:16:37

Vorheriges Thema - Nächstes Thema

Garbsen

Hallo André und alle anderen mit mehr Ahnung als ich

Ich habe mein System vom raspberry auf einen NUC umgezogen. Die Installation von Node gestaltete sich etwas schwierig, letztlich bin ich bei Node 7.1.0 gelandet.
FHEM läuft einwandfrei, homebridge macht Probleme.
Beim Start erhalte ich folgende Fehler

2016-11-23 10:23:42] [FHEM] Initializing homebridge-fhem.FHEM platform...
starting longpoll: https://127.0.0.1:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1479893022800
events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: no auth mechanism defined
    at Auth.onRequest (/home/khw/.nvm/versions/node/v7.1.0/lib/node_modules/homebridge-fhem/node_modules/request/lib/auth.js:133:32)
    at Request.auth (/home/khw/.nvm/versions/node/v7.1.0/lib/node_modules/homebridge-fhem/node_modules/request/request.js:1270:14)
    at Request.init (/home/khw/.nvm/versions/node/v7.1.0/lib/node_modules/homebridge-fhem/node_modules/request/request.js:379:10)
    at new Request (/home/khw/.nvm/versions/node/v7.1.0/lib/node_modules/homebridge-fhem/node_modules/request/request.js:128:8)
    at request (/home/khw/.nvm/versions/node/v7.1.0/lib/node_modules/homebridge-fhem/node_modules/request/index.js:54:10)
    at /home/khw/.nvm/versions/node/v7.1.0/lib/node_modules/homebridge-fhem/node_modules/request/index.js:62:12
    at Function.get (/home/khw/.nvm/versions/node/v7.1.0/lib/node_modules/homebridge-fhem/node_modules/request/index.js:101:12)
    at FHEM_startLongpoll (/home/khw/.nvm/versions/node/v7.1.0/lib/node_modules/homebridge-fhem/index.js:464:22)
    at FHEMPlatform (/home/khw/.nvm/versions/node/v7.1.0/lib/node_modules/homebridge-fhem/index.js:705:3)
    at Server._loadPlatforms (/home/khw/.nvm/versions/node/v7.1.0/lib/node_modules/homebridge/lib/server.js:291:32)


Die offenbar mit Node zusammenhängen, mir aber nicht wirklich etwas sagen.
Wer hat eine Lösung für mich?
Welche Info benötigt ihr noch?

Derzeit habe ich mir so beholfen, dass homebridge mit einer angepassten config.json weiter auf dem pi läuft, den will ich aber abschalten, bzw. Anderweitig einsetzen.
FHEM und Homebridge auf Intel NUC, CUL 868 v 1.66, CUL466 V 1.66, SOMFY RTS Rolläden, HM-LC-Bl1PBU-FM, HM-LC-BL1-FM, HM-SEC-SC-2, HM-SEC-RHS, HM-WDS10-TH-O, HM-SEC-WDS-2, HM-Sen-LI-O, HM-CC-RT-DN, HM-LC-Sw1-Pl-DN-R1, HM-SCI-3-FM, HM-Sec-Sir-WM, HM-PB-2-WM55-2, HM-RC-8, HM-LC-SW1-PL2, Alpha2

justme1968

zu node 7 kann ich dir noch nichts sagen. das habe ich noch nicht getestet.

ich weiß nicht wo du probleme mit der node installation hattest aber wenn du auf dem nuc ubuntu laufen hast kannst du mit apt-get einfach nodejs-legacy installieren. das ist dann version 4.2.6 die problemlos funktioniert. die verwende ich aktuell auch zum entwickeln.

ansonsten sollte alles zwischen 0.12.7 und 6.x funktionieren.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

apple_christ

Hallo Zusammen,

ich lesen nun schon eine Weile in dem Forum und suche nach der Lösung für mein Problem. Doch leider wurde ich nicht fündig. Also hoffe ich, dass mir hier eventuell jemand helfen kann.

Ich habe auf meinen RPI3 die aktuelle Version von FHEM laufen. Vor kurzem habe ich eine Mi-Light white mit dem Milight Modul  in das System eingebunden und kann diese auf über das Webinterface steuern. (Dimmen, Temperatur, An/Aus)
Nur leider bekomme ich die Integration in Homebridge nicht vernünftig hin. Die Lampe lässt sich zwar An und Aus schalten, jedoch ist es nicht möglich, das ganze zu dimmen. Gibt es hier ein Mapping das ich übersehen habe? (habe auch schon das Modul wifilight probiert. Leider auch ohne Erfolg)

Ich freue mich auf Rückmeldungen - Dank im Voraus :)


defmod Deckenlampe MilightDevice White MiLightBridge 1
attr Deckenlampe IODev MiLightBridge
attr Deckenlampe devStateIcon {(MilightDevice_devStateIcon($name),"toggle")}
attr Deckenlampe event-on-change-reading state,transitionInProgress
attr Deckenlampe genericDeviceType light
attr Deckenlampe lightSceneParamsToSave brightness
attr Deckenlampe restoreAtStart 1
attr Deckenlampe room HomeKit,Küche
attr Deckenlampe webCmd on:off:dim:ct

setstate Deckenlampe on 99
setstate Deckenlampe 2016-11-23 16:18:56 brightness 99
setstate Deckenlampe 2016-11-23 16:03:49 brightness_on 45
setstate Deckenlampe 2016-11-23 16:18:56 ct 3000
setstate Deckenlampe 2016-11-23 16:18:56 hsv 3000,0,99
setstate Deckenlampe 2016-11-23 16:18:56 state on 99
setstate Deckenlampe 2016-11-23 16:18:56 transitionInProgress 0


justme1968

#1653
das sollte automatisch einfach gehen.

ist dein fhem aktuell?

zeig bitte ein jsonlist2 von Deckenlampe und die ausgabe vom homebridge beim starten mit --debug.

gruss
  andre

ps: ich vermute es liegt daran das du kein saturation reading und eventuell kein saturation kommando im device hast.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Garbsen

Zitat von: justme1968 am 23 November 2016, 10:43:16
zu node 7 kann ich dir noch nichts sagen. das habe ich noch nicht getestet.

ich weiß nicht wo du probleme mit der node installation hattest aber wenn du auf dem nuc ubuntu laufen hast kannst du mit apt-get einfach nodejs-legacy installieren. das ist dann version 4.2.6 die problemlos funktioniert. die verwende ich aktuell auch zum entwickeln.

ansonsten sollte alles zwischen 0.12.7 und 6.x funktionieren.

Danke, nodejs-legacy habe ich zwar nicht hinbekommen, aber nach einigem googeln habe ich die 7.1. deinstalliert bekommen und 6.9.1 installiert bekommen.
Und jetzt läuft alles auf dem NUC
Mal sehen, wann die nächsten Problemchen auftauche.
Toll, dass man hier immer so schnell kompetente Hilfe findet, Danke dafür
FHEM und Homebridge auf Intel NUC, CUL 868 v 1.66, CUL466 V 1.66, SOMFY RTS Rolläden, HM-LC-Bl1PBU-FM, HM-LC-BL1-FM, HM-SEC-SC-2, HM-SEC-RHS, HM-WDS10-TH-O, HM-SEC-WDS-2, HM-Sen-LI-O, HM-CC-RT-DN, HM-LC-Sw1-Pl-DN-R1, HM-SCI-3-FM, HM-Sec-Sir-WM, HM-PB-2-WM55-2, HM-RC-8, HM-LC-SW1-PL2, Alpha2

gent

Hallo,

ich habe auf meinem rpi3 mit hoembridge-fhem ein kleines problem, auf das ih euch mal hinweise möchte.

Und zwar ist es so, dass nach einem reboot des pi der homebridge service meistens mit einer pid unter 1000 läuft. Wenn dem so ist, dann habe ich in der home-app oder in der eve-app nicht alle Geräte zur Verfügung (eigentlich fehlen mir dann immer die Harmony Aktivitäten). Erst nachdem ich innerhalb des FHEM Webinterface ein restart der homebridge durchgeführt habe und danach die pid des homebridge service über 1000 ist, sehe ich wieder alle homebridge Geräte.

Mir ist nicht ganz klar, wieso das so ist. Ich kann mich aber ganz dunkel daran erinnern, dass es in meiner beruflichen Laufbahn schon einmal ein ähnliches Phänomen gab, dass unter Linux laufende services mit einer pid unterhalb von 1000 vom client nicht korrekt angesprochen werden konnten. Leider ist das schon so lange her, dass ich mich beim besten Willen nicht an die Ursache und leider auch nicht an die Lösung erinnere.

Hat irgendjemand eine Vermutung, die mir auf die Sprünge helfen könnte?

Viele Grüße vom gent
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

justme1968

ich bin mir sehr sicher das es nicht an der pid liegt

bitte vergleich mal die konsolen ausgabe von einer vollständigen mit einer unvollständigen version.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

gent

Hi Andre,
tschuldige, aber was meinst Du mit "konsolen Ausgabe"?

Viel Grüße, Holger
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

justme1968

das was homebridge ausgibt während es läuft. wenn du es nicht von hand startest musst du die ausgabe in ein file umleiten.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

gent

Hi Andre,

ich check noch mal, was da los ist. Irgendwie scheint es an der service Definition zu liegen.

Hier mal ein paar Outputs im Terminal:

pi@fhem-pi3:~ $ sudo service homebridge status
● homebridge.service - LSB: Start daemon at boot time for homebridge
   Loaded: loaded (/etc/init.d/homebridge)
   Active: active (exited) since Wed 2016-11-23 20:10:26 CET; 38min ago
  Process: 739 ExecStart=/etc/init.d/homebridge start (code=exited, status=0/SUCCESS)

Nov 23 20:10:20 fhem-pi3 su[761]: Successful su for pi by root
Nov 23 20:10:20 fhem-pi3 su[761]: + ??? root:pi
Nov 23 20:10:20 fhem-pi3 su[761]: pam_unix(su:session): session opened for user pi by (uid=0)
Nov 23 20:10:20 fhem-pi3 homebridge[739]: Homebridge starting
Nov 23 20:10:22 fhem-pi3 homebridge[739]: Homebridge is running PID 787
Nov 23 20:10:26 fhem-pi3 systemd[1]: Started LSB: Start daemon at boot time for homebridge.


pi@fhem-pi3:~ $ sudo service homebridge stop
pi@fhem-pi3:~ $ 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-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
[11/23/2016, 8:53:13 PM] Loaded plugin: homebridge-fhem
homebridge API version: 2.1
[11/23/2016, 8:53:13 PM] Registering platform 'homebridge-fhem.FHEM'
[11/23/2016, 8:53:13 PM] ---
[11/23/2016, 8:53:13 PM] Loaded config.json with 0 accessories and 1 platforms.
[11/23/2016, 8:53:13 PM] ---
[11/23/2016, 8:53:14 PM] Loading 1 platforms...
[11/23/2016, 8:53:14 PM] [FHEM] Initializing FHEM platform...
starting longpoll: http://127.0.0.1:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1479930794677
[11/23/2016, 8:53:14 PM] [FHEM] Checking genericDeviceType...
[11/23/2016, 8:53:14 PM] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[11/23/2016, 8:53:14 PM] [FHEM] Fetching FHEM devices...
[11/23/2016, 8:53:14 PM] [FHEM] fetching: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20room=Homekit&XHR=1
[11/23/2016, 8:53:14 PM] Loading 0 accessories...
Server listening on: http://<ip>:8282
[11/23/2016, 8:53:14 PM] [FHEM] got: 6 results
[11/23/2016, 8:53:14 PM] [FHEM] Mango is thermometer
[11/23/2016, 8:53:14 PM] [FHEM] Mango has
[11/23/2016, 8:53:14 PM] [FHEM]   BatteryLevel [battery]
[11/23/2016, 8:53:14 PM] [FHEM]   StatusLowBattery [battery]
... und so weiter

Ich breche die manuelle Ausführung dann ab und starte die homebridge innerhalb von fhem, dann kommt:

pi@fhem-pi3:~ $ ps aux | grep homebridge
pi        2992 17.7  4.7 141768 45000 ?        Sl   21:04   0:02 homebridge                   

und in fhem bei status dummy dann korrespondierend:

Readings
info
Homebridge running as PID 2992
2016-11-23 21:04:52
state
on
2016-11-23 21:04:52

Ich komm' einfach nicht drauf, warum der Service nach dem boot nicht richtig läuft...

Viele Grüße vom gent
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

justme1968

kann es sein das der service zu schnell startet und fhem einfach noch nicht so weit ist? bau doch zum testen einfach mal ein sleep an den anfang.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

gent

Hi Andre,

hier der Ausschnitt aus der
/etc/init.d/homebridge


if ps -p $PID > /dev/null 2>&1; then
        echo "Homebridge is already running"
        perl /opt/fhem/fhem.pl 7072 $pw "setreading FHEM.Homebridge.Status info Homebridge is allready running"
        perl /opt/fhem/fhem.pl 7072 $pw "set FHEM.Homebridge.Status on"
        perl /opt/fhem/fhem.pl 7072 $pw "set FHEM.Homebridge off"
else
# hier also z.B. sleep 10 einfügen?
        su - pi -c "homebridge > /dev/null 2>&1 &"
        echo "Homebridge starting"
        sleep 2
        $0 status
fi


Viele Grüße vom gent
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

apple_christ

Zitat von: justme1968 am 23 November 2016, 16:55:52
das sollte automatisch einfach gehen.

ist dein fhem aktuell?

zeig bitte ein jsonlist2 von Deckenlampe und die ausgabe vom homebridge beim starten mit --debug.

gruss
  andre

ps: ich vermute es liegt daran das du kein saturation reading und eventuell kein saturation kommando im device hast.


Hi Andre,

danke für die schnelle Nachricht! Ich hoffe die Ausgabe hilft.

[11/24/2016, 11:44:39 AM] [FHEM] Initializing platform accessory 'Deckenlampe'...
[11/24/2016, 11:44:39 AM] [FHEM] creating services for Deckenlampe
[11/24/2016, 11:44:39 AM] [FHEM]   information service for Deckenlampe
[11/24/2016, 11:44:39 AM] [FHEM]     manufacturer, model and serial number characteristics for Deckenlampe
[11/24/2016, 11:44:39 AM] [FHEM]   Lightbulb service for Deckenlampe
[11/24/2016, 11:44:39 AM] [FHEM]     On characteristic for Deckenlampe:state
[11/24/2016, 11:44:39 AM] [FHEM]       initial value is: true (boolean)
[11/24/2016, 11:44:39 AM] [FHEM]       props: { format: 'bool',
  unit: null,
  minValue: null,
  maxValue: null,
  minStep: null,
  perms: [ 'pr', 'pw', 'ev' ] }



{
  "Arg":"Deckenlampe",
  "Results": [
  {
    "Name":"Deckenlampe",
    "PossibleSets":"on off toggle dimup dimdown hsv ct:colorpicker,CT,3000,350,6500 night:noArg pair unpair restorePreviousState:noArg saveState:noArg restoreState:noArg dim:slider,0,9,100 brightness:slider,0,9,100 off-till-overnight off-till intervals on-till on-for-timer blink off-for-timer on-till-overnight",
    "PossibleAttrs":"alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 IODev dimStep defaultBrightness defaultRampOn defaultRampOff presets dimOffWhite:1,0 updateGroupDevices:1,0 restoreAtStart:1,0 colorCast gamma lightSceneParamsToSave event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading cmdIcon devStateIcon devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock homebridgeMapping:textField-long icon sortby webCmd widgetOverride userattr",
    "Internals": {
      "CHANGED": "null",
      "DEF": "White MiLightBridge 1",
      "INIT": "1",
      "LEDTYPE": "White",
      "NAME": "Deckenlampe",
      "NR": "52",
      "NTFY_ORDER": "50-Deckenlampe",
      "SLOT": "1",
      "SLOTID": "1",
      "STATE": "on 99",
      "TYPE": "MilightDevice"
    },
    "Readings": {
      "brightness": { "Value":"99", "Time":"2016-11-24 11:43:57" },
      "brightness_on": { "Value":"99", "Time":"2016-11-24 01:50:42" },
      "ct": { "Value":"3000", "Time":"2016-11-24 11:43:57" },
      "hsv": { "Value":"3000,0,99", "Time":"2016-11-24 11:43:57" },
      "state": { "Value":"on 99", "Time":"2016-11-24 11:43:57" },
      "transitionInProgress": { "Value":"0", "Time":"2016-11-24 11:43:57" }
    },
    "Attributes": {
      "IODev": "MiLightBridge",
      "devStateIcon": "{(MilightDevice_devStateIcon($name),\u0022toggle\u0022)}",
      "event-on-change-reading": "state,transitionInProgress",
      "genericDeviceType": "light",
      "lightSceneParamsToSave": "brightness",
      "restoreAtStart": "1",
      "room": "HomeKit,Küche",
      "webCmd": "on:off:dim:ct"
    }
  }  ],
  "totalResultsReturned":1
}

justme1968

#1664
wie vermutet liegt es daran das es kein saturation reading und kommando gibt.

ist das keine farbige sondern eine weisse birne? dann sollte es hsv aber auch nicht geben.

weisse bringen sind noch nicht eingebaut. die hatte noch keiner. ich baue es fürs nächste update ein. du kannst dir aber auch einfach selber ein passendes hombridgeMapping für Brightness konfigurieren: attr Deckenlampe homebridgeMapping Brightness=brightness,cmd=dim,delay=true

gruss
  andre

ps: hab das homebridge update eben eingecheckt.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968