Broadlink als IR + HF gateway

Begonnen von palicaj, 17 Juni 2015, 15:42:39

Vorheriges Thema - Nächstes Thema

daniel2311

Nee, ich bin mittlerweile so weit, dass ich verstehe, warum das so ist, aber noch nichts dagegen tun kann.

Letztlich ist das hängen immer dann, wenn er sich nicht verbinden kann. Die Socket-Verbindung kann nicht gelesen werden. Das angeben eines Timeouts macht es übrigens schlimmer verrückterweise.

tklein

Das mit den Timeouts klingt wirklich komisch. Gib Info wenn ich/wir etwas testen können.

Grüße und Happy Coding. :-)
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Eschi

Ich stehe natürlich auch zum Testen bereit!
Kann es sein, dass der zeitliche Abstand zwischen den Kommandos eine Rolle spielt? Hab den Eindruck. Musste jetzt mein DOIF mit dem ich mehrere Geräte verknüpfe immer mal wieder modifizieren, was Zeit kostete. Die zwischenzeitlichen Tests führten dann nicht zu Hängern.
Raspi 4, Raspi 3, HMLAN, HmUART, HmUARTLGW, CUL, FS20, PCA301, JeeLink, LGW, MQTT, ESPEasy, SIGNALduino

daniel2311

#108
Also meines Erachtens sollte das kein Problem gewesen sein. Mehrere Befehle nacheinander machen nichts aus. Das sleep macht aber theoretisch Probleme, wenn du das wie in meinem Beispiel gemacht hast. Ich habe testweise zig Kommandos nacheinander abgefeuert und dabei keine Probleme gehabt. Aber vllt. sind das auch Verbindungsprobleme.
In der alten Version war es so, dass er sich auch bei jedem Aktualisieren der Website auch noch mal versucht hat zu authentifizieren, wenn das noch nicht stattgefunden hat. Das Ganze hat das Problem scheinbar noch verstärkt.

Ohne wirklich zu wissen, was ich tue, habe ich jetzt mal in diversen Foren und Seiten gesucht, was man machen kann und zwei Sachen Socket-seitig kombiniert. Bei mir geht es jetzt ganz gut, wobei ich zwischendurch nicht verstanden habe warum. An sich müsste ich an der ein oder anderen Stelle auch noch mehr Errorhandling machen, das werde ich auch noch zukünftig tun.

Ich habe ein Attribut hinzugefügt, namens socket_timeout, allerdings geht mal nicht davon aus, dass das zu 100% stimmig ist, was die Zeit angeht, aber ich denke, man kann eine Veränderung erkennen.

Probiert es mal, ob es besser klappt. Habe auch ein paar Log-Ausgaben, wenn man den Verbose Parameter ändert.

Das Problem für die Log-Ausgabe ohne Code habe ich noch nicht gelöst und je mehr ich darüber nachgedacht habe, weiß ich auch nicht, ob ich das so gute finde.

Happy Testing und schon mal vielen Dank für das Feedback.

edit: Modul im SVN

Eschi

Danke für deine Mühe! Hab jetzt mal eine Weile mit socket_timeout 0.5 getestet - keine Probleme bisher. Werde weiter beobachten.
Raspi 4, Raspi 3, HMLAN, HmUART, HmUARTLGW, CUL, FS20, PCA301, JeeLink, LGW, MQTT, ESPEasy, SIGNALduino

daniel2311

Also ich würde gerne was neues hinzubauen und würde gerne noch euer Feedback haben.

Also Features würde ich folgendes aufnehmen.
- Sequenzen von Befehlen mit Pausen dazwischen, die FHEM nicht blockieren.
- Möglichkeit Subdevices von einem Broadlink Device zu erzeugen. Beispielsweise das man sagen kann:
set Broadlink createNewDevice Leinwand
und in dem Device dann die Tasten aufnehmen kann Auf und Ab, das was man jetzt im Hauptdevice macht. Datenbank bleibt allerdings immer noch für alle offnen.
Zusätzlich könnte man dann noch ein Status-Tracking machen, denn beispielsweise mein Beamer und mein TV sollte man nicht ein Power-Signal schicken, wenn dieser schon an ist. Außerdem würde ich gerne eine Automatic einbauen, dass automatisch den Strom für den Beamer einschaltet, welcher an einer 433 MHZ Steckdose. Somit könnte man sein Subdevice auf bestimmte weise Konfigurieren und als IODev den eigentlich Broadlink nehmen. Da müsste man sich die ein oder andere Funktion für Ausdenken, was ganz sinnvoll ist.
- Besteht wirklich Interesse an der Temperatur? Wenn ja, kann ich das Implementieren, aber wahrscheinlich nur in dem Pro verfügbar und auch zur Genauigkeit kann ich aktuell nichts sagen.
- Errorhandlich muss ich auch noch ein wenig mehr durchführen ;)

Was meint ihr?

tklein

Hey das klingt nach richtig guten Features. Besonders das Status-Tracking :-)

Ich fände die Infos zum Protokoll/Code/IR oder RF wie bereits geschrieben auch noch sehr sinnvoll.
Das mit den vielen Befehlen senden/lernen teste ich am WE mal durch.

Viele Grüße
Thomas
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

Eschi

Toll, dass du weiterentwickeln willst! Die Features Sequenzen und Status-Tracking sind für mich besonders interessant.

Ich habe mittlerweile den Eindruck, dass die Stabilität des Moduls im "normalen" Gebrauch in Ordnung ist. Habe sowohl mit als auch ohne Timeout getestet ohne Hänger festzustellen. Welche Konstellation anfangs zu den Hängern geführt hat weiß ich nicht.

Viel Erfolg bei der Weiterentwicklung!
Raspi 4, Raspi 3, HMLAN, HmUART, HmUARTLGW, CUL, FS20, PCA301, JeeLink, LGW, MQTT, ESPEasy, SIGNALduino

daniel2311

Zitat von: tklein am 26 April 2017, 09:06:29
Ich fände die Infos zum Protokoll/Code/IR oder RF wie bereits geschrieben auch noch sehr sinnvoll.
Das mit den vielen Befehlen senden/lernen teste ich am WE mal durch.

Hi Thomas,
baue ich dir ein, wenn du mir sagst, wie das funktioniert ;) Ich weiß nicht, ob das wirklich lesebar in dem, was ich da von dem Gerät zurückbekomme steht oder ob das eher in einem eigenen für das Gerät lesbaren Format abgespeichert wird. Dann müsste man wissen, wie das Gerät das macht und da gibt es leider keine Dokumentationen - ohne das Python-Skript hätte ich es auch nicht anbinden können.

LG
Daniel

tklein

Hi Daniel,

ich schicke dir dazu eine PM.

Gruß
Thomas
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

YellowBall

Bekomme die Perl-Pakete cbc und rijndael nicht installiert:


pi@FHEM:~ $ sudo apt-get install libcrypt-cbc-perl
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
libcrypt-cbc-perl : Depends: libcrypt-rijndael-perl but it is not going to be installed or
                              libcrypt-blowfish-perl but it is not going to be installed or
                              libcrypt-des-perl but it is not going to be installed or
                              libcrypt-des-ede3-perl but it is not going to be installed or
                              libcrypt-cast5-perl but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

pi@FHEM:~ $ sudo apt-get install libcrypt-rijndael-perl

Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
libcrypt-rijndael-perl : Depends: perlapi-5.20.0
E: Unable to correct problems, you have held broken packages.


Any idea?
Raspi 0,1,2,3,4 | HMUART | Broadlink | Harmony | Xiaomi | Milight | Homematic | Somfy | Sonos | Meross  | Sonoff  | Shelly | Comet DECT  | ioBroker

daniel2311

Hast du mal vorher
sudo apt-get update
und
sudo apt-get upgrade
ausgeführt?

Danach mach mal:
sudo apt-get install libcrypt-cbc-perl
sudo apt-get install libcrypt-openssl-perl

ich glaube, das Rijndael brauchst du doch nicht. Aber falls es nicht geht, installiere es doch mal.
sudo apt-get install libcrypt-rijndael-perl

Im zweiten Modul müsste auch aes bei sein.
Wenn nicht probiere mal:



Stephan Labude

Hallo Daniel,

hab ein Problem beim einbinden mehrerer FB. Bis jetzt habe ich 4 Stück ohne Probleme angelernt, auch das Senden geht recht problemlos. Von der fünften FB konnte ich nur eine Taste anlernen, bei weiteren versuchen stürzt fhem ab. Gibt es ein Limit für die Anzahl der angelernten Befehle?

VG Stephan




Gesendet von iPad mit Tapatalk

daniel2311

Hi Stefan,

nicht das ich bisher wüsste. Kannst du mal einen Ausschnitt, aus dem FHEM.log vor dem Abstürzen schicken? Vllt. sieht man hier etwas.

Alternativ müsste man einmal schauen, ob sich die Fernbedienungen über die offizielle App einlesen kann. Möglicherweise spricht das Broadlink diese Protokolle nicht.

LG
Daniel

Stephan Labude

Hallo Daniel,

mach ich heute abend , ist eine Sony für den BD-Player. Die Sony für den TV konnte ich anlernen. Werde auch nochmal eine Pioneer probieren, wo ich auch schon eine andere komplett angelernt habe.

VG Stephan


Gesendet von iPad mit Tapatalk