Apple Homekit: die Hoffnung stirbt zuletzt

Begonnen von eldrik, 23 Januar 2015, 13:57:07

Vorheriges Thema - Nächstes Thema

Odin

@WolfgangV

das sollte m.E. eigentlich nicht stören, solange die Installation so oder so ähnlich endet:

sudo npm install -g homebridge

  CC(target) Release/obj.target/ed25519/src/ed25519/fe_tobytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_isnegative.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_isnonzero.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_frombytes.o
  CC(target) Release/obj.target/ed25519/src/ed25519/fe_pow22523.o
  CC(target) Release/obj.target/ed25519/src/ed25519/sc_reduce.o
  CC(target) Release/obj.target/ed25519/src/ed25519/sc_muladd.o
  CXX(target) Release/obj.target/ed25519/src/ed25519.o
  SOLINK_MODULE(target) Release/obj.target/ed25519.node
  SOLINK_MODULE(target) Release/obj.target/ed25519.node: Finished
  COPY Release/ed25519.node
make: Leaving directory '/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/ed25519/build'
/usr/local/bin/homebridge -> /usr/local/lib/node_modules/homebridge/bin/homebridge
homebridge@0.2.13 /usr/local/lib/node_modules/homebridge
├── commander@2.8.1 (graceful-readlink@1.0.1)
├── semver@5.0.3
├── chalk@1.1.1 (escape-string-regexp@1.0.4, supports-color@2.0.0, ansi-styles@2.1.0, has-ansi@2.0.0, strip-ansi@3.0.0)
└── hap-nodejs@0.0.3 (debug@2.2.0, node-persist@0.0.3, curve25519@1.1.0, srp@0.2.0, mdns@2.2.11, ed25519@0.0.3)



So und nun guten Rutsch!  :)

budy

Moin,

Zitat von: andipilz am 31 Dezember 2015, 12:58:38
Aber wie komme ich an die Ausgabe von cached im debug browser??? :)

Gruß und guten Rutsch

Andi

Dazu musst du dich auf deinen Homebridge-Host auf Port 8082 mit einem Browser verbinden und dann kannst du dort auf den Link cached klicken.

Gruß,
Stephan
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

Odin

#1922
Hallo Leute,

erstmal ein gesundes neues euch allen!  :)

Ich dreh ich echt noch durch, meine Homebridge ist immer nach ein paar Minuten nicht erreichbar und ich finde den Fehler einfach nicht.

Was ist bisher getan habe:

- Homebridge und Fhem Plugin neuinstalliert
- NodeJS neuinstalliert, dann v5 installiert
- HAP-Nodejs in der package.json von v0.0.3 auf v0.0.7 geändert
- Eve App auf iPhone (iOS 9.2) neuinstalliert und komplett neu eingerichtet

Leider alles ohne Erfolg!

Wenn ich einen Discover im Netzwerk mache wird die Homebridge auch gefunden (stimmen auch alle Daten). Außerdem sehe ich im Log dass die Homebridge auf Veränderungen reagiert wenn ich in Fhem z.B. eine Lampe einschalte.
Nur die App scheint die Homebridge nicht mehr zu finden -> nicht erreichbar! Wenn ich in der App nach einem neuen Gerät suche wird auch keine Homebridge angezeigt.

Wie ich bereits geschrieben habe, wenn ich die MAC-Adresse (username) in der config ändere, den Dienst neustarte und auf dem iPhone im Homekit "mein Zuhause" lösche wird die Homebridge gefunden und funktioniert für ca. 15-30 min. top bis die dann wieder nicht erreichbar ist.

Habt ihr noch Ideen?  :-\

piet_pit

Hallo Zusammen,
erst einmal ein gesundes neues Jahr 2016. :)

Ich habe eine kleines Problem mit dem Startscript und komme mit meinen bescheidenen Linux-Kenntnissen nicht weiter...
Homebridge startet einwandfrei und ich kann den Service homebridge auch mit Start bzw. Stop steuern.
Es werden aber auf der console nicht die echo-Ausgaben wie...


if ps -p $PID > /dev/null 2>&1; then
        echo "Homebridge is already running"
else
        su - pi -c "homebridge > /dev/null 2>&1 &"
        echo "Homebridge starting"
        $0 status


ausgegeben. Ich weiss einfach nicht, woran das liegen kann?
Wer hat eine Idee?
Vielen Dank und viele Grüße
Pit
FHEM Latest Revision: 29615
Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7690
HM-Mod-RPI-PCB, JeeLink
CUNO 1.47

WolfgangV

@ Odin

Hallo,

leider endet die Homebridge-Installation so:

Zitatmake: *** [Release/obj.target/dns_sd_bindings/src/dns_sd.o] Error 1
make: Leaving directory '/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/mdns/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 4.1.13-v7+
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/mdns
gyp ERR! node -v v4.2.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
npm ERR! Linux 4.1.13-v7+
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "homebridge"
npm ERR! node v4.2.1
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE

npm ERR! curve25519@1.1.0 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the curve25519@1.1.0 install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the curve25519 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls curve25519
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/pi/npm-debug.log

...womit ich mit meinen höchstens rudimentären Linux-Kenntnissen wieder mal am Ende bin - obwohl das Jahr gerade erst angefangen hat.  ;)

Ich hoffe, alle hier sind gut reingekommen!

Gruß


Wolfgang
Raspi5  HmUART, Jeelink, VU+Duo2, Viera, Sonos, HM-CC-RT-DN,     
HM-WDS30-OT2-SM, HM-LC-Dim1TPBU-FM,    
Jeelink, TUL

budy

Moin,

Zitat von: Odin am 01 Januar 2016, 12:35:57
Hallo Leute,

erstmal ein gesundes neues euch allen!  :)

Ich dreh ich echt noch durch, meine Homebridge ist immer nach ein paar Minuten nicht erreichbar und ich finde den Fehler einfach nicht.

Was ist bisher getan habe:

- Homebridge und Fhem Plugin neuinstalliert
- NodeJS neuinstalliert, dann v5 installiert
- HAP-Nodejs in der package.json von v0.0.3 auf v0.0.7 geändert
- Eve App auf iPhone (iOS 9.2) neuinstalliert und komplett neu eingerichtet

Leider alles ohne Erfolg!

Wenn ich einen Discover im Netzwerk mache wird die Homebridge auch gefunden (stimmen auch alle Daten). Außerdem sehe ich im Log dass die Homebridge auf Veränderungen reagiert wenn ich in Fhem z.B. eine Lampe einschalte.
Nur die App scheint die Homebridge nicht mehr zu finden -> nicht erreichbar! Wenn ich in der App nach einem neuen Gerät suche wird auch keine Homebridge angezeigt.

Wie ich bereits geschrieben habe, wenn ich die MAC-Adresse (username) in der config ändere, den Dienst neustarte und auf dem iPhone im Homekit "mein Zuhause" lösche wird die Homebridge gefunden und funktioniert für ca. 15-30 min. top bis die dann wieder nicht erreichbar ist.

Habt ihr noch Ideen?  :-\

Dieses Verhalten hatte ich, als ich noch ein WifiLight-Device in der Homebridge mit drin hatte. In meinem Fall ein LD382A, welcher darüber angesprochen wurde. Der Effekt war, dass die Homebrige eine Zeit, so 30 bis max. 60 Min. funktionierte und danach nicht mehr von Homekit aus ansprechbar war. Seit dem ich das Device aus dem Raum Homekit, und somit aus der Homebridge entfernt hatte, läuft meine Homebridge ganz stabil.

Wenn also nur Homekit nicht auf die Homebridge zugreifen kann, ist es eher so etwas.

Gruß,
Stephan
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

Odin

@budy: Tatsache, danke! Hatte zwei Mi-Light Lampen mit drin. Die habe ich jetzt rausgenommen und nun läuft die Homebridge seit 3h.

So und wie bekomme ich meine Mi-Light Lampen mit eingebunden? So dass die mit Fhem synchron sind?
Genau darum war mit die alte Version lieber, da liefen alle Gerät ohne Probleme.  8)

budy

Hattes du evtl. vorher ein separates Modul für die Mi-Lights drin? Wenn ja, wäre es evtl. besser, die Mi-Lights derzeit darüber an die Homebridge anzubinden. Ich habe ja als Plugins nur Andrés homebridge-fhem drin, und das kann es derzeit offenbar nicht richtig. Wobei ich das Verhalten schon merkwürdig finde, denn es funktioniert ja immer eine gewisse Zeit, bevor dann wohl die Homekit-DB auf dem iOS Gerät zerbröselt.

Gruß,
Stephan
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

piet_pit

@Odin,
vielen Dank für deinen Tip..., da scheint das Startscript einen Fehler zu haben, habe ihn bei mir korrigiert, jetzt kommt nach


sudo /etc/init.d/homebridge start


folgendes:

Homebridge starting
Homebridge is not running


..somit scheint im Startscript aus dem Wiki immer noch ein Fehler zu sein...
ich finde ihn aber nicht...
Ist dieser Fehler nur bei mir :( :( :(

Viele Grüße
Pit


FHEM Latest Revision: 29615
Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7690
HM-Mod-RPI-PCB, JeeLink
CUNO 1.47

Odin

#1929
@piet-pit: nehm einfach meins, wenn du möchtest.

#! /bin/sh
### BEGIN INIT INFO
# Provides:          Homekit
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Homekit4FHEM / Hausautomatisierung für Siri
### END INIT INFO

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
# and status_of_proc is working.
. /lib/lsb/init-functions

# Settings
cmd="homebridge"
user="pi"

name=`basename $0`
pid_file="/var/run/$name.pid"
stdout_log="/var/log/$name.log"
stderr_log="/var/log/$name.err"

get_pid() {
    cat "$pid_file"
}

is_running() {
    [ -f "$pid_file" ] && ps `get_pid` > /dev/null 2>&1
}

case "$1" in
    start)
    if is_running; then
        echo "Already started"
    else
        echo "Starting $name..."
        if [ -z "$user" ]; then
            sudo $cmd >> "$stdout_log" 2>> "$stderr_log" &
        else
            sudo -u "$user" $cmd >> "$stdout_log" 2>> "$stderr_log" &
        fi
        echo $! > "$pid_file"
        if ! is_running; then
            echo "Unable to start, see $stdout_log and $stderr_log"
            exit 1
        fi
    fi
    ;;
    stop)
    if is_running; then
        echo -n "Stopping $name..."
        kill `get_pid`
        for i in {1..10}
        do
            if ! is_running; then
                break
            fi

            echo -n "."
            sleep 1
        done
        echo

        if is_running; then
            echo "Not stopped; may still be shutting down or shutdown may have failed"
            exit 1
        else
            echo "Stopped"
            if [ -f "$pid_file" ]; then
                rm "$pid_file"
            fi
        fi
    else
        echo "Not running"
    fi
    ;;
    restart)
    $0 stop
    if is_running; then
        echo "Unable to stop, will not attempt to start"
        exit 1
    fi
    $0 start
    ;;
status)
status_of_proc $0 && exit 0 || exit $?
;;
log)
tail -f $stdout_log
;;
err)
tail -f $stderr_log
;;
*)
echo "Usage: $0 {start|stop|restart|status|log|err}" >&2
exit 1
;;
esac

exit 0


Unter Settings ggf. den User anpassen!
Folgende Befehle können verwendet werden:

sudo service homebridge start
Dienst starten

sudo service homebridge stop
Dienst stoppen

sudo service homebridge restart
Dienst neustarten

sudo service homebridge status
zeigt den Status an

sudo service homebridge log
Logdatei ansehen (mit Strg + c kommt man wieder raus)

sudo service homebridge err
Errordatei ansehen (mit Strg + c kommt man wieder raus) -> die ist aber nicht wirklich aussagekräftig  ;D

Odin

@budy: nein hatte auch nur das Fhem-Plugin drin. Ich werde mir jetzt erstmal einen Dummy bauen, damit ich die Lampen zumindest an- und ausschalten kann. Für die Helligkeit und die Farbe muss ich mir etwas einfallen lassen, außer jemand hat eine andere Lösung?! Das Mi-Light-Plugin werde ich mir auch noch ansehen, wobei ich dort ja nicht über Fhem gehe und ich dies vermeiden möchte.

Finde ich auch seltsam! Läuft eine Weile tadellos und dann zerraut es auf dem iPhone irgendwas...  :'(

andipilz

Hallo!

Zm Thema WifiLight habe ich eine interessante Beobachtung heute gemacht:

Ich hatte mein WifiLight wieder eingebunden, da ich ja eigentlich ja den Auszug aus dem CacheD Browser liefern sollte. Naja, es war nicht auffälliges drin - für mich.

jedoch bin ich nicht weitergekommen und hatte versucht, meine Frau via ihres iPad mit Eve "einzuladen", auch mal die Steuerung zu übernehmen. Siehe da, bis dato läuft das eingeladene Eve auf dem iPad problemlos. Jedoch auf meinem iPhone 5S ist wieder "nicht erreichbar" verzeichnet und nichts geht mehr.
Nun habe ich eben das Device wieder aus dem "Raum Homebridge" genommen, das iPad geht noch immer problemlos, nur die Räume waren weg. Am iPhone geschaut, stellte ich fest, dass ich nun alle Devices doppelt habe. Die einen, die nicht gehen, sich aber in den Räumen befinden und sich nicht mehr löschen lassen. Aber außerdem habe ich im "Zuhause (Standardraum)" nun alle Devices nochmal drin.

Sehr verwirrend. Kann es sein, dass dies an Eve liegt und gar nicht an Homebridge oder Homekit? Oder ist Homekit auf dem iPhone ein anderes wie auf dem iPad ... Apple?

Ich bin rat- und planlos!

Gruß Andi

piet_pit

@ Odin, vielen Dank für das Angebot, werde ich morgen versuchen.

@Andre, vielen Dank für diesen (erneuten) Tip :) :

"für alle die probleme mit der stabilität von homebridge haben: versucht mal das hier: https://github.com/nfarina/homebridge/issues/420#issuecomment-168158991."

Ich konnte aktuell seit einigen Tagen nicht mehr Eve und homebridge zusammenbringen. Dieser Tip hat mich daran erinnert, dass ich vor Wochen schon ein vergleichbares Thema hatte.
Nun habe ich festgestellt, dass mein Ipad ohne dass ich es bemerkt hatte, sich in mein WLAN (über einen Repeater von AVM) eingeloggt hatte. Durch den Tip von Andre habe ich das wieder umgestellt und gehe nun wieder über einen AP (Apple Express) via LAN zum Router,  und sofort konnte ich homebridge und Eve connecten.

Ich denke, um diese nicht ganz nachzuvollziehenden Probleme auszuschliessen, sollte man wenn möglich auch eine Verbindung ohne einen Repeater ausprobieren, bei mir jedenfalls ist es eindeutig das Problem gewesen!
Viele Grüße
Pit   
FHEM Latest Revision: 29615
Raspberry Pi 3, Rasbian-Stretch
FRITZ!Box 7690
HM-Mod-RPI-PCB, JeeLink
CUNO 1.47

budy

Zitat von: andipilz am 01 Januar 2016, 20:19:29
Hallo!

Zm Thema WifiLight habe ich eine interessante Beobachtung heute gemacht:

Ich hatte mein WifiLight wieder eingebunden, da ich ja eigentlich ja den Auszug aus dem CacheD Browser liefern sollte. Naja, es war nicht auffälliges drin - für mich.

jedoch bin ich nicht weitergekommen und hatte versucht, meine Frau via ihres iPad mit Eve "einzuladen", auch mal die Steuerung zu übernehmen. Siehe da, bis dato läuft das eingeladene Eve auf dem iPad problemlos. Jedoch auf meinem iPhone 5S ist wieder "nicht erreichbar" verzeichnet und nichts geht mehr.
Nun habe ich eben das Device wieder aus dem "Raum Homebridge" genommen, das iPad geht noch immer problemlos, nur die Räume waren weg. Am iPhone geschaut, stellte ich fest, dass ich nun alle Devices doppelt habe. Die einen, die nicht gehen, sich aber in den Räumen befinden und sich nicht mehr löschen lassen. Aber außerdem habe ich im "Zuhause (Standardraum)" nun alle Devices nochmal drin.

Sehr verwirrend. Kann es sein, dass dies an Eve liegt und gar nicht an Homebridge oder Homekit? Oder ist Homekit auf dem iPhone ein anderes wie auf dem iPad ... Apple?

Ich bin rat- und planlos!

Gruß Andi

Das ist exakt das Verhalten, welches ich auch hatte, sobald ich ein WifiLight Device mit drin hatte. Das kann nur an Homekit liegen, aber bei mir war es egal, welches iOS Device ich benutzt hatte und auch welche iOS Version. Da ich noch zwei weitere Homekit-Apps habe und alle dieselben Probleme hatten, kann es nicht an EVE selbst liegen.

Gruß,
Stephan
Debian stretch, FHEM 5.9.
HM-CC-RT-DN, HM-ES-PMSw1-Pl, HM-LC-Dim1TPBU-FM, HMUARTLGW, HMLAN, HM-SEC-KEY, HM-SEC-RHS, HM-SEC-SC-2, HM-SEC-SCo, HM-SEC-SD-2, HM-OU-CFM-TW, div. HUEs, Wifilight, Ring Video Pro

zauberfee

So, ich hätte mal wieder eine doofe Frage:
Aufgrund der milight-Probleme habe ich jetzt zum fhem-plugin das milight-plugin installiert.
Beide in die config.json eingetragen, gefunden wird aber nun nur noch alles milight-zugehörige. alle fhem-Geräte sind weg. warum?
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},

"platforms": [{
"platform": "FHEM",
"name": "FHEM",
"server": "127.0.0.1",
"port": "8083",
"filter": "room=Homekit",
"auth": {
"user": "foo",
"pass": "bar"
},

"platform": "MiLight",
"name": "MiLight",
"ip_address": "192.168.1.32",
"port": 8899,
"type": "rgbw",
"delay": 30,
"repeat": 3,
"zones": ["Stripe", "Schlaf", "Flur", null]
}],

"accessories": []
}


Ergebnis:
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-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
Loaded plugin: homebridge-fhem
Registering platform 'homebridge-fhem.FHEM'
---
Loaded plugin: homebridge-milight
Registering accessory 'homebridge-milight.MiLight'
Registering platform 'homebridge-milight.MiLight'
---
Loaded config.json with 0 accessories and 1 platforms.
---
Loading 1 platforms...
[MiLight] Initializing MiLight platform...
[MiLight] Initializing platform accessory 'Stripe'...
[MiLight] Initializing platform accessory 'Schlaf'...
[MiLight] Initializing platform accessory 'Flur'...
Loading 0 accessories...
Scan this code with your HomeKit App on your iOS device to pair with Homebridge:

    ┌────────────┐
    │ 031-45-154 │
    └────────────┘

Homebridge is running on port 51826.
Server listening on: http://<ip>:8082


Irgendjemand eine Erklärung? was machte ich falsch? mehrerer platformen müsste doch funktionieren, oder?