Broadlink Modul

Begonnen von daniel2311, 14 Mai 2017, 22:51:30

Vorheriges Thema - Nächstes Thema

Robi72

@connormcl: welche python Version nutzt Du? 2.x oder 3.x? Wenn ich nach dem wiki gehe und die Scriptversion versuche, scheitere ich bereits bei der Installation:
sudo apt-get install python git pip
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
E: Paket pip kann nicht gefunden werden.

Ich habe versucht einzeln zu installieren, pip geht nicht durch:
sudo apt-get install pip
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
E: Paket pip kann nicht gefunden werden.

Der nächste Schritt wird zwar durchgeführt, jedoch mit Synthaxfehlern (s. Dateianhang)
sudo python setup.py install
Ich nehme an, dass das alles mit der alten Python2 Version zu tun hat. Also habe ich in versucht das ganze auf Python3 umzustellen, da ja auf github auch auf pip3 verwiesen wird, die Skripte sind dort auch mit python3 ausgewiesen. Egal was ich mache, ich bekomme ständig Fehler. Ein update/upgrade meines systems führt dazu, dass mein 'buster' auf 'bullseye" upgegraded wird und anschließend gar nichts mehr geht - musste bereits einmal Image zurückspielen.

Das einzige Verfahren, wo ich halbwegs weiterkomme ist dieses: https://github.com/mjg59/python-broadlink. Ich kann den Broadlink zum Anlernen bringen, die Daten prüfen und auch wieder senden auf pyhton3 Konsole. Nur wie extrahiere ich den gelernten Befehl, um ihn entsprechend aus FHEM zu senden?

Robi72

So, es ist zumindest fast geschafft! :D ;D :D

Ich habe eine Kombination aus wiki https://wiki.fhem.de/wiki/Broadlink und github https://github.com/mjg59/python-broadlink hinbekommen. Für alle die, die das gleiche Problem/Phänomen unter Buster/PI3/Broadlink RM4Pro und den verschiedenen Python Versionen haben:
Mit dem Befehl print(packet) den ausgebebenen ir-hexcode in eine Datei packen und in Fhem weiterverarbeiten.

Das Anlernen:
python3
import broadlink
broadlink.setup('Eigene SSID eintragen', 'Eigenen WLAN CODE eintragen, 3)
device = broadlink.hello('IP des Broadlinks eintragen')
device.auth()
device.enter_learning()
packet = device.check_data()
device.send_data(packet)
print(packet)


Die Ausgabe des IR Hex-Codes mit dem folgenden Code in eine *.py Datei im Verzeichnis /opt/BroadLink anlegen:

#!/usr/bin/python3
import broadlink
broadlink.setup('Eigene SSID eintragen', 'Eigenen WLAN CODE eintragen, 3)
device = broadlink.hello('IP des Broadlinks')
device.auth()
device.send_data(b'&\x00f\x00\x90\x95\x136\x13\x12\x136\x136\x13\x12\x137\x12\x12\x13\x12\x136\x13\x12\x136\x137\x13\x11\x137\x13\x12\x12\x12\x13\x12\x136\x137\x13\x11\x137\x136\x13\x12\x13\x12\x127\x13\x12\x12\x12\x137\x12\x12\x13\x12\x100\x137\x13\x00\x05\xb4\x91\x95\x13\x12\x13\x00\x0cp\x91\x95\x13\x12\x13\x00\x0cp\x91\x95\x13\x12\x00\x00\x0cp\x91\x95\x13\x12\x12\x00\r\x00')


Der *.py Datei Rechte für fhem vergeben und in FHEM in der Komandozeile zwischen " " ausführen:

"/opt/BroadLink/Dateiname.py"

Vielleicht hilft es dem einen oder anderen weiter, der die gleiche Herausforderung hat!
Was ich noch nicht hinbekommen habe, ist wie man RF Codes lesen kann. Die Anweisung auf der github-Seite führt zum teils bekannten Fehler the dvice storage is full:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.7/dist-packages/broadlink/remote.py", line 37, in check_data
    return self._send(0x4)
  File "/usr/local/lib/python3.7/dist-packages/broadlink/remote.py", line 82, in _send
    e.check_error(resp[0x22:0x24])
  File "/usr/local/lib/python3.7/dist-packages/broadlink/exceptions.py", line 152, in check_error
    raise exception(error_code)
broadlink.exceptions.StorageError: [Errno -5] The device storage is full


Wäre euch dankbar, falls jemand eine Idee hat.

Taifun

Zitat von: MadMax-FHEM am 09 Januar 2022, 10:57:35
.......

Dort wird erwähnt, dass man für lokale Nutzung die Anmeldung an/per App NICHT abschließen soll/darf (klingt bei dir als wärst du schon "zu weit gegangen" ;)  )...
...und irgendwas mit lokaler Nutzung "freischalten" muss...
(bin nur drüber geflogen)

......
Gruß, Joachim

Hi, ich habe auch lange gekämpft, bis ich in der App die Einstellung "Sperrvorrichtung" gefunden habe. Nachdem ich die ausgeschaltet hatte redet es mit FHEM.
Vielleich hilft diese Information ja weiter ;-)

Gruß Christoph 
IntelNUC -> FHEM, MySQL, IOBroker und VIS
BananaPiPro, 2xRaspberryPi 3 -> FHEM, presenced, 

HM & HMIP, HUE, Bluetooth, WiFi, FS20, LaCrosse, WH1080, BME280, DHT22

benedikt-wue

#183
Hallo,
ich habe ein kleines Problem.
Ich habe meine FHEM - Installation auf ein neues System migriert, was auch irgendwann funktioniert hat.
Mit Hilfe des Broadlink - Moduls hatte ich mir eine grafische Oberfläche in TabletUI zusammengebastelt zur Steuerung meines TV´s.
Leider funktioniert das auf dem neuen System nicht, da ich das Broadlink - Modul nicht einbinden kann, da er immer möchte, dass ich OpenSSL/AES installiere. Wäre ja auch in Ordnung, allerdings schaffe ich genau das nicht :-)
Wenn ich sudo cpan Crypt/OpenSSL/AES.pm in der Shell eingebe, kommt nach etwa 30 Sekunden die Fehlermeldung "Getötet" und es geht nicht weiter... habe ich irgendwelche Grundvoraussetzungen für die Installation vergessen? Würde mich über Hilfe freuen!

Edith:habe es hinbekommen... Nun noch eine weitere Frage: wenn ich die broadlink - Datei aus dem alten System aus dem Ordner /opt/fhem/Log auf das neue System kopiere, kennt FHEM dann die Befehle wieder?

kamp

#184
Ich habe meinen alten RM mini 3 ausgegraben, da ich meine Klimaanlage damit per FHEM steuern möchte. Ich scheitere auch daran, dass ich ihn nicht authentifizieren lassen kann. In der App habe ich "Sperrvorrichtung" ausgeschalten. Aber was ist damit gemeint, dass man die Einrichtung nicht zu Ende machen darf? Ab welchem Punkt konkret muss man die Einrichtung abbrechen (und wie? App schließen, Gerät vom Strom nehmen...?)

EDIT: So wie das auf der zuvor verlinkten Seite zu HA klappt es jedenfalls nicht. Ich habe das Gerät neu verbunden und bevor ich es einem Raum hinzugefügt hatte, die Installation per App abgebrochen. Jedenfalls ist das Gerät im WLAN verbunden und ich kann auch einen Ping ausführen. Im FHEM jedoch immer noch: authentication failed - device not connected? - response length: 56

EDIT2: Sollte man Module die keinen Maintainer mehr haben und offenbar bei niemandem mehr funktionieren nicht löschen? Der Ersteller war seit 2021 nicht mehr aktiv.