Hallo
Ich bin Neueinsteiger und habe als solcher keinen Plan von dem ganzen Zeug 8).
Mein Aufbau sieht so aus:
Raspberry3 mit Raspbian und FHEM und Ha-Bridge
Als "Funker" ist ein NanoCUL angeschlossen.
Derzeit habe ich 3 FS20 DI-3 Schaltsteckdosen mit Dimmfunktion.
Das alles kann ich per ALEXA an und ausschalten. Nun habe ich in der HA-Bridge ja die URLS für an und ausschalten so wie für das Dimmen eingestellt und es läuft alles soweit.
Problem ist, dass die FS20 DI Steckdosen nur bestimmte Dimmwerte akzeptieren und auch nur dann reagieren, wenn ein passender Dimmwert genannt wird.
Diese sind:
set <name> <value> [<time>]
where value is one of:
dim06% dim12% dim18% dim25% dim31% dim37% dim43% dim50%
dim56% dim62% dim68% dim75% dim81% dim87% dim93% dim100%
Nun hat es schon mal jemand geschafft, irgendwie ein Script dazwischen zu schalten, dass je nachdem, welchen Wert man sagt, die nächst passende Stufe ermittelt und diese an die URL übergibt, die dann FHEM dazu veranlasst, die Lampe zu dimmen.
Wo speichert man so ein script und wie wird es in diese URL eingebaut, damit ich z.B. sagen kann: "Alexa, schalte Lampe1 auf 30%" und es wird an FHEM dim 31% übergeben?
Danke. Ich hoffe es war einigermaßen verständlich :)
Hat schon jemand was gebastelt?
Ich würde jetzt spontan mit Alxa ein Bash-Script aufrufen, das dann umrechnet und an FHEM übergibt, aber vielleicht muss ich ja das Rad nicht neu erfinden?
Die Frage war wohl zu einfach. Sorry.
Mittlerweile habe ich selbst eine Lösung gebastelt. In der HA-Bridge ruft man ein Bash-Script auf und übergibt diesem den Wert.
also steht dann etwa sowas in dem Feld :
/home/pi/lampe.sh ${intensity.percent}
Dieses Script muss ausführbar und vom User der HA-Bridge aufrufbar sein.
Darin steht dann:
#!/bin/sh
for i in 6 12 18 25 31 37 43 50 56 62 68 75 81 87 93 100 110
do
if [ $1 -eq $i ] || [ $1 -lt $i ]
then
wget "http://192.168.178.102:8083/fhem?cmd=set%20Schlafzimmer%20dim%20$i"
exit 0
fi
done
Hoffe es nützt jemandem
Danke, so elegant hätte ich es nicht hinbekommen :-)
Ich schaffe es jetzt, das Script direkt am Server aufzurufen und werte zu übergeben, nur,
wie sieht der Aufruf in HA Bridge aus?
Bei "Type" nehme ich "execute command / script / program"?
Habe dann bei "Target" "bash /var/alexa/sofalicht $intensity" "
aber das funktioniert leider nicht?
Edit: Sorry, hab das in Deiner Nachricht übersehen - es geht jetzt mit:
/var/alexa/sofalicht ${intensity.percent}
Auch wenn das Thema schon älter ist ich habe versucht die Schritte um das Skript zu nutzen umzusetzen bekomme aber die Fehlermeldung
Dim Request failed with: [{"error":{"type": 6, "address": "/lights/100","description": "Error on calling out to device", "parameter": "/lights/100/state"}}]