HA Bridge - Webseite öffnen auf Raspberry

Antworten
Benutzeravatar

Themenstarter
Thorstensd
Beiträge: 6
Registriert: Mi 25. Jan 2017, 20:37

Sa 4. Feb 2017, 14:43

Hallo,

ich habe HABridge auf meinem PI installiert und Alexa hat auch mein erstes eingerichtetes Testgerät gefunden - soweit so gut.
Nun möchte ich gerne, dass Alexa auf meinem PI eine Webseite öffnet.

Hierzu eine kurze Erklärung.
Auf meinem PI läuft ein Apache2 und hierauf eine Webseite zur Anzeige meiner Kameras und anderen Elementen.

Alexa soll nun per "Alexa öffne (starte/schalte ein - oder wie auch immer) Kamera1, die Webseite Kamera1.html auf dem permanent geöffneten Browserfenster, idealerweise im bereits geöffneten Tab, anzeigen.

Ich habe leider keine Möglichkeit gefunden ein solches "Gerät" anzulegen - ist dies überhaupt möglich?

Nachtrag - ich weiss schon dass ich ein .sh skript anlegen muss und dieses auführbar sein sollte.
Aber wie kann ich dies in ha bridge einbinden? Das ist mir nicht ganz klar.

Für meine Test.sh einfach mal:
#!/bin/bash
firefox google.de

Ich nutze ha-bridge 4.1.0

Grüße Thorsten
0 x
Benutzeravatar

Matthias
Beiträge: 79
Registriert: Do 29. Dez 2016, 10:17
Kontaktdaten:

So 5. Feb 2017, 07:26

Hallo Thorsten,

dafür gibt es den Device Type "Execute Script/Programm". In das URL Feld schreibst du dann deinen Commandozeilenbefehl.
 ! Nachricht von: Matthias
Doppelpost zusammengeführt.
0 x
Benutzeravatar

Themenstarter
Thorstensd
Beiträge: 6
Registriert: Mi 25. Jan 2017, 20:37

So 5. Feb 2017, 11:48

Hallo,

soweit so gut - mein "Gerät" wird von Alexa gefunden, das Skript selbst läuft auch (zumindest per Putty). Wenn ich nun sage:

Alexa führe test1 aus - meinst sie, "der Hub mit dem das Gerät verbunden ist reagiert nicht, prüfe NW und Strom..."

ok, also HA Bridge stop - start, alles klar.
Alexa Geräte suchen - wunderbar, test1 gefunden
Alexa führe test1 aus - der Hub mit dem das Gerät verbunden ist reagiert nicht, prüfe NW und Strom

Also irgendwas passt da noch nicht - nutzt er zu ausführen einen anderen Port als für die suche oder woran könnte das liegen.

Habe HA Bridge auf :81 laufen (anbei mein startscript, welches üprigens warum auch immer nicht automatisch beim booten startet, sondern nur manuel per sudo /etc/init.d/habridge start - aber das wäre ja nochmal ein anderes Thema.

Code: Alles auswählen

#!/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/habridge"
cmd="DEBUG=* /usr/bin/java -jar -Dserver.port=81 -Dconfig.file=/home/pi/habridge/data/habridge.config /home/pi/habridge/ha-bridge-3.5.1.jar"
user="root"
name="habridge"
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
0 x
Benutzeravatar

holger.wolf
Beiträge: 75
Registriert: Do 8. Dez 2016, 13:36

So 5. Feb 2017, 12:31

Solange deine Script nicht über die ha-bridge Testfunktion ohne Fehler (grüne Meldung) läuft, bringt Alexa immer diese Meldung.
Also erstmal ohne Alexa testen. Wenn da ok, klappt es auch mit Alexa.

Gruß
Holger
0 x
Benutzeravatar

Themenstarter
Thorstensd
Beiträge: 6
Registriert: Mi 25. Jan 2017, 20:37

So 5. Feb 2017, 13:32

ich vermute mal, für skripte nutzt man ebenfalls den Button "Test on"?

Hier bekomme ich die Meldung: Request Exceuted: success {"/lights/4/state/on":true}

Alexa erzählt mir immernoch der Hub ist nicht erreichbar.

Dummerweise macht mein Skript dennoch nicht was es soll. Also 2 Baustellen.


Mein Test Skript soll eigentlich einfach nur folgendes machen:
#!/bin/bash
DISPLAY=:0 firefox google.de

Devicetype habe ich execute script
on url: /home/pi/ha_scripts/test1.sh
0 x
Benutzeravatar

holger.wolf
Beiträge: 75
Registriert: Do 8. Dez 2016, 13:36

So 5. Feb 2017, 13:42

Wenn du mit Englisch klar kommst, dann schau mal beim Entwickler:
https://github.com/bwssytems/ha-bridge/issues/373

Da gibt es auch einige closed issues bei Scripten. Irgendwie haben es alle hinbekommen.
Notfalls eigene Anfrage stellen.

Gruß
Holger
0 x
Benutzeravatar

Neuroplant
Beiträge: 67
Registriert: Fr 27. Jan 2017, 12:39
Wohnort: Dormagen
Vorhandene Echo Dots: 1

Do 16. Feb 2017, 11:32

Hallo
Du sagst doch "Alexa führe test1 aus",
Also must du das Script natürlich für Ausschalten hinterlegen.
(und mit dem "Test off" Button testen)
Gruß
Neuroplant
0 x
Antworten

Zurück zu „HA-Bridge“

  • Information