Apple HomeKit über Websockets

{
„platform“ : „websocket“,
„name“ : „websocket“,
„port“: 4050
}

Hallo,

sonst nichts?
Das ist nur die Config, die du für das Plugin benötigst.
Die Homebridge braucht selbst auch noch eine Config.

Die gesamte Config.json:

{
    "bridge": {
        "name": "Homebridge",
        "username": "DD:22:3D:E3:CE:31",
        "port": 51826,
        "pin": "031-45-154"
    },

    "description": "",
"platforms": [

  	  {
  "platform" : "websocket",
  "name" : "websocket",
  "port": 4050
}
    
   ]
}

Grüße,
Kai

Hallo,
beim Start von Homebridge bekomme ich die Meldung:
[websocket] A new version 0.1.12 is avaiable

Wie kann ich diese installieren?
Mit npm update kommt immer wieder die Version 0.1.11mit…

Viele Grüße
Thifi

Vorneweg: Bisher läuft das ganze weiter stabil bei mir! :slight_smile:

Ich wollte mich nun gerade noch mal an die Dimmer begeben, aber ich bekomme die leider nicht zum Laufen. Kann es sein, dass die bisher nur für einen bestimmten Gerätetyp funktionieren?
Ich habe mir testweise einfach mal eine Bool-Variable für den Status und eine Integer-Variable mit Profil Intensity angelegt. Leider wird keine der beiden Variablen geschaltet.
Meinen Homematic Dimmer kann ich zwar ein-/ausschalten, aber nicht dimmen.

Ich habe verschiedene Dimmer, die alle nur einen Wert für die Intensity erwarten. Im Zweifel wäre es sicher cool auch hier einfach eine eigene Variable schalten zu können. Dann könnte man ausgehend von der alles schalten was man will unabhängig auch von der Range, die die jeweiligen Dimmer als Min und Max erwarten.

Hallo,

@Thifi, das einfach ignorieren und bei meinem Plugin bleiben, welches über Git installiert wurde, ich werde den Hinweis noch ausbauen!

@Sketch, warte mal auf das nächste Update, hier mal ein Screenshot, denke das sollte dir helfen.

Da könntest du bei Status und Brightness nun jeweils die selbe Variable angeben und bei Max. Value kannst du dann wenn 1 der höchste Wert ist eine 1 eintragen, dann wird das für den Dimmer im Modul umgerechnet.

Beispiel:

Du gibst in der App 60% an und deine Variable wird auf 0,6 gesetzt.

(60/100)*1 = 0,6 für deine Variable.

Grüße,
Kai

Hey Kai,

cool, das klingt schon mal sehr vielversprechend! :slight_smile:

Wird dies dann auch Geräteunabhängig mit eigenen Variablen funktionieren, sodass man die Funktion quasi missbrauchen kann für alles, was sich irgendwie in Prozent angeben lässt? :smiley:
Derzeit habe ich kein Gerät angegeben. Ist das der Grund, warum meine Dummy-Variablen gar nicht geschaltet werden?

Viele Grüße,
Claus

Hallo,

nein, das liegt nicht daran, das Gerät wird eigentlich gar nicht mehr benutzt. :smiley:
Ich nutze es eig. nur noch als Übersicht, damit ich direkt sehe was ich schalte. :smiley:

Ich muss für den Lightbulb noch die Funktion (Soll eine eigene Variable geschaltet werden?) wie beim Switch einbauen, dann sollte das auch gehen.

Grüße,
Kai

Ah, verstehe. :smiley:

Perfekt, dann freue ich mich mal auf die nächste Version! Vielen Dank für deine ganze Arbeit! :slight_smile:

Ah, jetzt erkannt…:smiley:

Hallo zusammen,

ich wollte die aktuelle Version noch nicht in den master branch mergen, wer gerne testen möchte kann dies mit dem testing branch tun: GitHub - Schnittcher/IPS-Homebridge at testing

Neuerung im testing:

[ul]
[li]Thermostat
[/li][li]Lightbulb etwas angepasst, es kann das Value für on und off mitgegeben werden, genauso wie der maximale Dimmerwert, somit rechnet das Modul im Hintergrund um.
[/li][li]Löschen von Geräten
[/li][li]
[/li][/ul]

Versucht es einfach mal, bei Fragen fragt einfach.

Grüße,
Kai

So nun glaube ich das die Homebridge läuft.
Auf meinem IPad wird jedoch in der Home App kein Gerät angezeigt obwohl ich eines in IPS angelegt habe. Was muss ich hier machen?
…oder fehlt noch was.

Hallo,

hast das iPad mit der Homebridge gekoppelt?

Verwendung der Home-App auf Ihrem iPhone, iPad und iPod touch - Apple Support

Grüße,
Kai

Ich finde keine Geräte. …Und über das koppeln finde ich auch nichts.

Hallo,

wie per PN geschildert, schau mal ins Homebridge Log, ob dort Geräte beim übernehmen der IPS Konfiguration angelegt werden.
Sonst schick mir mal Screenshots der IPS Konfiguration.

Grüße,
Kai

Hi,

läuft bei mir jetzt auch rund mit der Home App.

Gibts eigentlich einen einfachen Weg die Homebridge auf dem Pi3 mit einem Autostart zu versehen?

viele Grüße
Stephan

Hallo,

ja gibt es:

#!/bin/sh
### BEGIN INIT INFO
# Provides: homebridge
# Required-Start:    $network $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO
dir="/home/pi"
cmd="DEBUG=* homebridge -U -D"
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"
        cd "$dir"
        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)
    if is_running; then
        echo "Running"
    else
        echo "Stopped"
        exit 1
    fi
    ;;
    *)
    echo "Usage: $0 {start|stop|restart|status}"
    exit 1
    ;;
esac
exit 0

Du müsstest evtl. den User anpassen und das Verzeichnis anpassen.

Grüße,
Kai

wow, linux ist sowas von intuitiv bedienbar :rolleyes:

danke für das script :slight_smile:

Viele Grüße
Stephan

Hallo Kai,

bei mir werden offensichtlich keine Geräte gefunden:

                       
[2017-02-14 20:00:07] [websocket] Plugin - DidFinishLaunching
[2017-02-14 20:00:07] [websocket] Number of Accessories: 0
[2017-02-14 20:00:07] Homebridge is running on port 51826.
[2017-02-14 20:00:07] [websocket] url {"address":"::","family":"IPv6","port":4050}
[2017-02-14 20:00:09] [websocket] A new version 0.1.12 is avaiable
[2017-02-14 20:00:56] [websocket] client ip ::ffff:192.168.178.50 connected
[2017-02-14 21:00:00] Got SIGTERM, shutting down Homebridge...
[2017-02-14 21:00:07] Loaded plugin: homebridge-websocket
homebridge API version: 2.1
[2017-02-14 21:00:07] Registering platform 'homebridge-websocket.websocket'
[2017-02-14 21:00:07] ---
[2017-02-14 21:00:07] Loaded config.json with 0 accessories and 1 platforms.
[2017-02-14 21:00:07] ---
[2017-02-14 21:00:07] Loading 1 platforms...
[2017-02-14 21:00:07] [websocket] Initializing websocket platform...
[2017-02-14 21:00:07] [websocket] homebridge-websocket v0.1.11
[2017-02-14 21:00:07] Loading 0 accessories...
Scan this code with your HomeKit App on your iOS device to pair with Homebridge:
                       
    +------------+     
    ¦ 031-45-154 ¦     
    +------------+     
                       
[2017-02-14 21:00:07] [websocket] Plugin - DidFinishLaunching
[2017-02-14 21:00:07] [websocket] Number of Accessories: 0
[2017-02-14 21:00:07] Homebridge is running on port 51826.
[2017-02-14 21:00:07] [websocket] url {"address":"::","family":"IPv6","port":4050}
[2017-02-14 21:00:09] [websocket] A new version 0.1.12 is avaiable
[2017-02-14 21:00:57] [websocket] client ip ::ffff:192.168.178.50 connected

Eingerichtet habe ich zum Test mal drei Lightbulb. Im IPS ist alles „grün“, die Homebridge läuft auch. In der Home-App sehe ich de Homebridge, es werden aber keine Geräte gefunden.

Error-Log der Homebridge.

Tue, 14 Feb 2017 20:00:08 GMT EventedHTTPServer [::ffff:192.168.178.66] HTTP request: /pair-verify
Tue, 14 Feb 2017 20:00:08 GMT HAPServer [CC:22:3D:E3:CE:30] HAP Request: POST /pair-verify
Tue, 14 Feb 2017 20:00:08 GMT HAPServer [CC:22:3D:E3:CE:30] Pair verify step 1/2
Tue, 14 Feb 2017 20:00:08 GMT EventedHTTPServer [::ffff:192.168.178.66] HTTP Response is finished
Tue, 14 Feb 2017 20:00:08 GMT EventedHTTPServer [::ffff:192.168.178.66] HTTP request: /pair-verify
Tue, 14 Feb 2017 20:00:08 GMT HAPServer [CC:22:3D:E3:CE:30] HAP Request: POST /pair-verify
Tue, 14 Feb 2017 20:00:08 GMT HAPServer [CC:22:3D:E3:CE:30] Pair verify step 2/2
Tue, 14 Feb 2017 20:00:08 GMT HAPServer [CC:22:3D:E3:CE:30] Client 87F2618F-CCAB-41A2-B147-F3B8CDD4E9E2 verification complete
Tue, 14 Feb 2017 20:00:08 GMT EventedHTTPServer [::ffff:192.168.178.66] HTTP Response is finished
Tue, 14 Feb 2017 20:00:08 GMT EventedHTTPServer [::ffff:192.168.178.66] HTTP request: /accessories
Tue, 14 Feb 2017 20:00:08 GMT HAPServer [CC:22:3D:E3:CE:30] HAP Request: GET /accessories
Tue, 14 Feb 2017 20:00:08 GMT EventedHTTPServer [::ffff:192.168.178.66] HTTP Response is finished
Tue, 14 Feb 2017 20:00:11 GMT EventedHTTPServer [::ffff:192.168.178.62] New connection from client
Tue, 14 Feb 2017 20:00:11 GMT EventedHTTPServer [::ffff:192.168.178.62] HTTP server listening on port 41403
Tue, 14 Feb 2017 20:00:11 GMT EventedHTTPServer [::ffff:192.168.178.62] HTTP request: /pair-verify
Tue, 14 Feb 2017 20:00:11 GMT HAPServer [CC:22:3D:E3:CE:30] HAP Request: POST /pair-verify
Tue, 14 Feb 2017 20:00:11 GMT HAPServer [CC:22:3D:E3:CE:30] Pair verify step 1/2
Tue, 14 Feb 2017 20:00:11 GMT EventedHTTPServer [::ffff:192.168.178.62] HTTP Response is finished
Tue, 14 Feb 2017 20:00:11 GMT EventedHTTPServer [::ffff:192.168.178.62] HTTP request: /pair-verify
Tue, 14 Feb 2017 20:00:11 GMT HAPServer [CC:22:3D:E3:CE:30] HAP Request: POST /pair-verify
Tue, 14 Feb 2017 20:00:11 GMT HAPServer [CC:22:3D:E3:CE:30] Pair verify step 2/2
Tue, 14 Feb 2017 20:00:11 GMT HAPServer [CC:22:3D:E3:CE:30] Client 7E9C2C3F-37C8-4AE4-9A76-EFA98716D628 verification complete
Tue, 14 Feb 2017 20:00:11 GMT EventedHTTPServer [::ffff:192.168.178.62] HTTP Response is finished
Tue, 14 Feb 2017 20:00:11 GMT EventedHTTPServer [::ffff:192.168.178.62] HTTP request: /accessories
Tue, 14 Feb 2017 20:00:11 GMT HAPServer [CC:22:3D:E3:CE:30] HAP Request: GET /accessories
Tue, 14 Feb 2017 20:00:11 GMT EventedHTTPServer [::ffff:192.168.178.62] HTTP Response is finished
Tue, 14 Feb 2017 20:10:07 GMT EventedHTTPServer [::ffff:192.168.178.66] Sending HTTP event 'keepalive' with data: {"characteristics":[]}
Tue, 14 Feb 2017 20:10:07 GMT EventedHTTPServer [::ffff:192.168.178.62] Sending HTTP event 'keepalive' with data: {"characteristics":[]}
Tue, 14 Feb 2017 20:20:07 GMT EventedHTTPServer [::ffff:192.168.178.66] Sending HTTP event 'keepalive' with data: {"characteristics":[]}
Tue, 14 Feb 2017 20:20:07 GMT EventedHTTPServer [::ffff:192.168.178.62] Sending HTTP event 'keepalive' with data: {"characteristics":[]}

Müssen die Geräte im IPS bestimmte Voraussetzungen erfüllen?

Joachim

Hallo Joachim,
die Bridge war gestartet, als du die Lightbulbs in IPS eingerichtet hast?

Grüße,
Kai

Gesendet von iPhone mit Tapatalk

…ja, mag sein.

Aus alter „Gewohnheit“ mache ich aber sowieso jede Stunde einmal ein „Restart“.

Alle 15 Sekunden werden Error-Log und Server Log mit den letzten x-Zeilen ins IPS kopiert…

Joachim