Hey Leute,
bisher läuft die Steuerung meiner 433 MHz Dosen über den Pi gut, HomeBridge funktioniert auch gut, ich kann vom iPhone, iPad und der AppleWatch aus alle Geräte auch per Stimme steuern.
Ich habe bisher aber zwei merkwürdige Dinge, von denen ich eins schon beheben konnte, wollte es aber trotzdem erzählen falls jemand das Problem auch hat:
Wenn ich Objekte mit GenShellSwitch send 11111 1 1 0
(oder natürlich beliebigem anderen System/Gerätecode) steuere wird der Status des Geräts nicht von FHEM an HomeKit übertragen, wenn ich zB im FHEM Webinterface schalte, andersrum aber schon.
Steuere ich das ganze über notify:
define RegalLampe dummy
attr RegalLampe alias Regal
attr RegalLampe group Licht
attr RegalLampe room Homekit,Wohnzimmer
attr RegalLampe setList on off
define RegalLampeAn notify RegalLampe {\
if ( Value ("RegalLampe") eq "on") {system("/usr/bin/send 11111 1 1")}\
else {system("/usr/bin/send 11111 1 0")}\
}
funktioniert es wunderbar! Sehr komisch, aber meine Vermutung ist, dass es daran liegt, dass man bei GenShellSwitch nicht "setList on off" definieren kann.
Vielleicht hilft diese Info ja jemandem.
Was ich bisher nicht lösen kann ist folgendes:
Wenn ich eine Szene erstelle wie zB "Fernsehen", die mir die Lampen im WZ einschaltet, funktioniert das wunderbar. Die Szene "Zocken", welche die Lampen im WZ ausschaltet funktioniert auch. Erstelle ich allerdings (manuell ODER aus dem Vorschlag) die Szene "Gute Nacht", schaltet er nicht alle Lampen zuverlässig aus, obwohl HomeKit selbst der Meinung ist das getan zu haben.
Wie könnte ich dem, was da schief läuft auf die Schliche kommen? Ich VERMUTE, dass es daran liegt, dass er wie wild viel zu viele Objekte auf einmal schalten will? Vielleicht würde ein "sleep 1" nach jedem Befehl helfen, aber das verlängert ja die Schaltzeiten unnötig. :/
Viele Grüße. :)
Zitat von: Pati_Alpha am 20 Oktober 2016, 11:28:45
Was ich bisher nicht lösen kann ist folgendes:
Wenn ich eine Szene erstelle wie zB "Fernsehen", die mir die Lampen im WZ einschaltet, funktioniert das wunderbar. Die Szene "Zocken", welche die Lampen im WZ ausschaltet funktioniert auch. Erstelle ich allerdings (manuell ODER aus dem Vorschlag) die Szene "Gute Nacht", schaltet er nicht alle Lampen zuverlässig aus, obwohl HomeKit selbst der Meinung ist das getan zu haben.
Wie könnte ich dem, was da schief läuft auf die Schliche kommen? Ich VERMUTE, dass es daran liegt, dass er wie wild viel zu viele Objekte auf einmal schalten will? Vielleicht würde ein "sleep 1" nach jedem Befehl helfen, aber das verlängert ja die Schaltzeiten unnötig. :/
Schalte doch eine LightScene oder ein structure damit.
Gruß
Dan
Das ist eine gute Idee! Die behalte ich für die zukünftigen Basteleien auf jeden Fall im Kopf, danke dir!! :)
Ich habe jetzt nochmal getestet und folgendes herausgefunden:
Schalte ich die anderen Schalter, die ich eig über "send" steuern könnte AUCH über pilight (sodass alles über pilight gesteuert wird) mit:
define KommodeLampe dummy
attr KommodeLampe alias Kommode
attr KommodeLampe group Licht
attr KommodeLampe room Homekit,Wohnzimmer
attr KommodeLampe setList on off
define KommodeLampeAn notify KommodeLampe {\
if ( Value ("KommodeLampe") eq "on") {system("pilight-send -p elro_800_switch -s 31 -u 1 -t")}\
else {system("pilight-send -p elro_800_switch -s 31 -u 1 -f")}\
}
wobei vorher unten im notify stand:
define KommodeLampeAn notify KommodeLampe {\
if ( Value ("KommodeLampe") eq "on") {system("/usr/bin/send 11111 1 1")}\
else {system("/usr/bin/send 11111 1 0")}\
}
DANN funktionieren die Szenen und es schaltet sogar schneller. Vermutlich sind sich vorher "send" (das bedeutet genauer per "rcswitch-pi" was mit "wiringpi" arbeitet) und pilight in die Quere gekommen. Und wie oben erklärt kommt GenShellSwitch aus anderen Gründen nicht in Frage.
Kann also für andere Nutzer nur empfehlen zB nur pilight zu nutzen, da es sowieso vierfältigere Möglichkeiten bietet als "rcswitch-pi". :)
Hoffe es hilft jemandem! :)
LightScene und Structure schaue ich mir aber auch noch an. ;)
Danke fürs Lesen und viele Grüße! :)
Ok, es geht natürlich auch alles wie immer viel einfacher als ICH mir das ausgedacht habe (typisch).
Bottom line:
1. benutzt nicht rcswitch-pi bzw. "send"! => Rückmeldung nach Homekit funktioniert nicht gut, es gibt chaos wenn man auch noch pilight nutzt
2. benutzt lieber nur pilight, es kann sowieso mehr, reagiert schneller etc...!
3. bindet pilight wie folgt ein:
3.1: pilight service stoppen damit man die config editieren kann
sudo service pilight stop
3.2: pilight config editieren:
sudo nano /etc/pilight/config.json
und folgendes unter settings hinzufügen:
"port": 5000,
damit pilight immer auf port 5000 läuft und nicht wie standardmäßig auf einem random-port!
3.3: Diese Dinge müsst ihr tun/installieren, damit pilight hinterher aus FHEM ansprechbar ist:
sudo apt-get update
sudo apt-get install libjson-perl -y
sudo apt-get install libswitch-perl
3.4: sudo reboot
3.5: in der FHEM config BEVOR (!!! WICHTIG !!!) ihr irgendwelche Schalter definiert:
define pilight pilight_ctrl localhost:5000 7.0
(Versionsnummer ggfs. anpassen, name "pilight" ist frei wählbar, port haben wir ja auf 5000 gesetzt)
3.6: Jetzt könnt ihr mit den Befehlen die hier beschrieben sind:
https://forum.fhem.de/index.php?topic=34632.0
arbeiten!
Zum Beispiel einen Elro-Schalter:
define KommodeLampe pilight_switch elro_800_switch 31 1
attr KommodeLampe alias Kommode
attr KommodeLampe group Licht
attr KommodeLampe room Homekit,Wohnzimmer
oder einen (bockigen) RAW-Schalter:
define BettLampe pilight_raw
attr BettLampe alias Bett
attr BettLampe group Licht
attr BettLampe room Homekit,Schlafzimmer
attr BettLampe onCode 123 123 123
attr BettLampe offCode 456 456 456
Hierbei sind "123 123 123" und "456 456 456" natürlich mit den Werten zu ersetzen, die ihr per pilight-receive vom Sender abgehört habt und per pilight-send auf Funktion getestet habt!
Dann sind die devices wunderbar in FHEM integriert!
Auch die Rückmeldung zu Homekit funktioniert! Ebenso die Szenen in Homekit (hatte da vorher Probleme mit als ich pilight mit rcswitch-pi vermischt habe, vermutlich war der sender dann vom einen für den jeweils anderen blockiert!)! Und es ist schnell! :)
Bei Bedarf gebt zB "help pilight_raw" oder "help pilight_switch" im Commando-Fenster im FHEM-Webinterface ein, dort steht auch noch etwas zu den Modulen.
Vielen Dank nochmal an Forenmitglied Risiko für das wunderbare pilight-plugin! :)
Ende und aus!! "Hey Siri, Gute Nacht!" :D