Broadlink RM mini 3 WIFI Infrarot 10€ anbinden

Begonnen von ChrisW, 06 Juni 2016, 20:20:24

Vorheriges Thema - Nächstes Thema

jostereo

Ich würde auch noch eine Möglichkeit einwerfen, die ich in folgendem Link gefunden habe:

http://www.domoticz.com/forum/viewtopic.php?f=17&t=6929&hilit=broadlink&start=100

Dort gibt es 2 Python Scripts.

1. Zum Anlernen von neuen Befehlen (Befehlsfolge wird in txt Datei gespeichert)
2. Zum Ausführen der gelernten Befehle

Ein weiterer User hat einen Python Socket Server geschrieben inkl. Client Script.
So dass die Verbindung zum RM3 nicht für jeden Zugriff aufgebaut wird, sondern einmal und dann auf Befehle per Socket gewartet wird.

Meine Idee wäre genau diesen Python Socket Server zu nutzen (wird pro Gerät ein Port auf dem Hostsystem belegt).
Heißt man ruft per Perl den Python Socket auf und sendet nur noch "Befehle" (Oder die vorher gespeicherten HEX Werte)

westsidex

#16
Zitat von: EnderPhilipp am 04 Dezember 2016, 16:52:39
Das hört sich ja toll an  ;D, kann man aber nicht auch den python-Befehl mit FHEM ausführen, irgendwie so ? :o

define TV dummy
attr TV setList on off
define off_TV notify TV:off {system("/home/pi/python BlackBeanControl.py -c AUS [-d <Device name>] [-i <IP Address>] [-p <Port>] [-m <MAC Address>] [-t <Timeout>]")}
define on_TV notify TV:on {system("/home/pi/python BlackBeanControl.py -c AN [-d <Device name>] [-i <IP Address>] [-p <Port>] [-m <MAC Address>] [-t <Timeout>]")}

Spreche jetzt von diesem Projekt:
https://github.com/davorf/BlackBeanControl


Geht das, oder nicht?

Bitte nicht böse sein, wenn das totaler Mist ist; ANFÄNGERALARM ;D

Mfg
Philipp

Klingt gut, probiere ich mal aus sobald mein RM Mini da ist. Finde die Lösungen mit der Bridge, die irgendwo auf einem weiteren Gerät laufen muss, nicht so schön.
Da ist das verwenden des Python Scripts schon besser/sauberer.

Laut der ReadMe auf https://github.com/davorf/BlackBeanControl sehen die schritte so aus:

1. in BlackBeanControl.ini das Gerät anlegen:
[General]
IPAddress = 192.168.0.1
Port = 80
MACAddress = AA:BB:CC:DD:EE:FF
Timeout = 30

oder

[RM3LivingRoom]
IPAddress = 192.168.0.1
Port = 80
MACAddress = AA:BB:CC:DD:EE:FF
Timeout = 30


2. IR  Befehle anlernen durch einen Aufruf mit einem Command Name der nicht in der BlackBeanControl.ini enthalten ist:
BlackBeanControl.py -c MyCommand

3. IR Signal/Fernbedienung auf Blackbean richten

4.1 Kommando verwenden über General Device :
BlackBeanControl.py -c MyCommand

4.2 Kommando verwenden über RM3LivingRoom Device :
BlackBeanControl.py -c MyCommand -d RM3LivingRoom


Alles hier natürlich rein Theoretisch xD. Habe meine BlackBean noch nicht


*Edit*: Hab mir das Script mal angeschaut auf GitHub. Man muss beim anlernen direkt einen Namen mit angeben

jostereo

Hab in der Richtung schon ein bischen gebastelt.

Ich mach mal einen Querlink auf ein anderen Thread. In den stell ich eine Kurzanleitung, wie ich das aktuell gemacht habe.

Habe einen Webservice-Wrapper um das Steuerscript geschrieben, so dass der Broadlink per HTTPMod gesteuert werden kann.

Ich denke das ich dieses WE eine Anleitung fertig habe.

Vielleicht hilft dir das auch weiter -> https://forum.fhem.de/index.php/topic,38231.0.html

Radikant

Ich bekunde einfach mal mein Interesse  ;D

LG
Rudolf
Aller Anfang ist schwer...

schka17

Vielen Dank für das teilen dieser Infos, habe meine RM3 schon eine Zeit und bin noch nicht dazugekommen diese zu installieren. Das war jetzt ein Anlass, und was soll ich sagen, läuft perfekt.

Jetzt kann ich endlich meine Klimaanlagen steuern. Bei uns in Österreich frostets zwar noch, aber die nächste Hitzewelle kommt bestimmt.

Gruß

Karl
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

schka17

Ich habs mal Q&D mit FHEM Bordmitteln gemacht, hier als Beispiel für meinen Radio im Arbeitszimmer, ich verwende remotecontrol und über ein notify starte ich das python script:

Internals:
   CFGFN
   NAME       rc_radio_KZ
   NR         115273
   STATE      Radio_vol_down
   TYPE       remotecontrol
   Readings:
     2017-02-11 13:02:31   state           Radio_vol_down
Attributes:
   rc_iconprefix black_btn_
   row00      Radio_power_toggle:POWEROFF,Radio_mute:MUTE,Radio_tune_down:REWIND,Radio_tune_up:FF,Radio_vol_up:VOLUP,Radio_vol_down:VOLDOWN


notify

Internals:
   CFGFN
   DEF        rc_radio_KZ.* {
my $DEV="RM3_KZ";
my $CMD=$EVENT;
#{qx(echo -c "$CMD" -d "$DEV")}
{qx(sudo python /opt/BlackBeanControl/BlackBeanControl.py -c "$CMD" -d "$DEV")}
}
   NAME       n_rc_KZ
   NOTIFYDEV  rc_radio_KZ.*
   NR         116722
   NTFY_ORDER 50-n_rc_KZ
   REGEXP     rc_radio_KZ.*
   STATE      2017-02-11 13:09:34
   TYPE       notify
   Readings:
     2017-02-11 12:25:48   state           active
Attributes:
   verbose    3


weblink für die GUI's
Internals:
   CFGFN
   DEF        htmlCode {fhem("get rc_radio_KZ htmlcode", 1)}
   LINK       {fhem("get rc_radio_KZ htmlcode", 1)}
   NAME       w_FB_KZ
   NR         118552
   STATE      initialized
   TYPE       weblink
   WLTYPE     htmlCode
Attributes:
   group      Arbeitszimmer_Karli
   room       Dachgeschoss


Wenn das Kommando das in der remote konfiguiert wurde dann wird der RM3 in den Anlernmodus versetzt und das KOmmando angelernt.

ausführen von Kommandos aus anderen notifies oder automatisierungen einfach mit trigger rc_radio_KZ Radio_power_toggle

und so siehts im FHEMWEB aus:
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

jostereo

So muss leider nochmal ne Querverlinkung machen, da ich am Wochenende eine kleine Anleitung geschrieben habe, wie ich aktuell die Steuerung der Broadlinks mache.

Kurzfassung:
Ich habe einen Webservice Wrapper um die Steuerung der Broadlinks gebaut, welcher dann per HTTPMod aus FHEM angesprochen werden kann.
Vorteil des ganzen ist, das der Webservice die Verbindung zum Broadlink aufrecht erhält und die Übertragung der Befehle super schnell geht. Über mehrmaliges starten des Webservices können auch mehrere Broadlinks gesteuert werden.
Aber alles weitere im Thread unten:

Anleitung hier: https://forum.fhem.de/index.php/topic,38231.msg581909.html#msg581909