Broadlink als IR + HF gateway

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

Vorheriges Thema - Nächstes Thema

fred85

Zitat von: bmilos am 06 April 2017, 00:04:11
Hi,

ich habe es mit Dummy's und Notify zusammengebastelt:

define Samsung_Fernbedienung dummy
attr Samsung_Fernbedienung room Wohnzimmer
attr Samsung_Fernbedienung setList state:tvOnOff,tvSource,tvVolUp,tvVolDown,tvMute,tvMenu,tvExit,tvChaUp,tvChaDown,tvUp,tvDown,tvLeft,tvRight,tv0,tv1,tv2,tv3,tv4,tv5,tv6,tv7,tv8,tv9
attr Samsung_Fernbedienung webCmd state

#Fernbedienung TV Befehle
define Samsung_Fernbedienung_tvOnOff notify Samsung_Fernbedienung:tvOnOff {system('/opt/BroadLink/send-bl.sh /opt/BroadLink/tvOnOff.txt&');;}
usw.....


Ich benötige es nur ab und zu für 1-2 Befehle aus der FHEM APP (für iOS) und die unschöne Lösung erfüllt derzeit ihren Zweck  :-\

LG


Danke für die Anleitung  es funktioniert.
Ich würde gerne die Funktion über HomeKit benutzen. Ist es möglich über einen Dummy, einen Schalter anzulegen z.B. Schalter Stereo on, der nur ein Signal sendet oder on und off also zwei signale?

fred85

Habe es geschaft ein Schalter zu erstelen und über Homebridge zu steuern.
define TV_Wohnzimmer dummy

attr genericDeviceType switch
attr room Homebridge
attr setList tvOnOff tvOnOff
attr webCmd tvOnOff:tvOnOff

define TV_Wohnzimmer_tvOnOff notify TV_Wohnzimmer:tvOnOff {system('/opt/BroadLink/send-bl.sh /opt/BroadLink/tvoff.txt&');;}

Nur leider ist das aus und eingangs Signal ja das selbe, wenn ich den Schalter ein schlate kann es sein das der TV ausgeht. Gibt es die Möglichkeit statt eines Schalter einen Taster (Button) einzurichten ?

daniel2311

Bin mir nicht sicher, was du genau meinst.
Aber du kannst nicht über Infrarot abfragen, wie der Status des Fernsehers ist. Der dummy ist entweder aus oder an. Wenn du den TV mit der Fernbedienung schaltest, ist dein Dummy Status falsch.

fred85

statt eines Schalters benötige ich einen Taster. Die Fernbedienung hat ja auch nur ein Taster und benutzt zum an und ausschalten das gleiche Signal.

justme1968

homekit kennt keine taster.

entweder im homebridgeMapping default und timeout verwenden oder statt on und off auf beiden tasten toggle. wenn sei device meint toggle kann: mit cmdalias nachrüsten.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

fred85

#185
Okay, schade.

Wie stelle ich denn ein Timeout ein?

fred85

#186
Zitat von: justme1968 am 16 Oktober 2015, 13:13:39
so.... hat leider etwas gedauert aber zumindest under iOS geht es jetzt auch mit den touch events.

das angehängte fhemweb_taster.js file muss nach .../www/pgm2. am besten danach fhem neu starten.

die folgende neue routine nach 99_myUtils.pm:sub                         
myPushbuttonIcon($$;$$$)   
{                           
  my ($name, $pressedState, $pressCmd, $releaseCmd, $interval) = @_;
  $releaseCmd = "" if( !$releaseCmd );
                           
  my $repeat = '';         
  if( $interval ) {         
    $repeat = " interval='$interval'";
  }                         
                           
                           
  my $state = Value($name);
  my $icon = 'taster';     
                           
  if( $state eq $pressedState ) {
    $icon .= '@red';       
  }                         
                           
  my $txt = FW_makeImage( $icon );
                           
  $txt = "<div class= 'fhemTaster' press='set $name $pressCmd' release='set $name $releaseCmd'$repeat>$txt</div>";
                           
  return $txt;             
}                           


devStateIcon wird wie gehabt verwendet:define taster dummy
attr taster devStateIcon {myPushbuttonIcon($name,'pressed', 'pressed', 'released')}
attr taster room taster
attr taster setList pressed released
attr taster webCmd pressed:released
der 4. parameter (released) ist optional und als 5. parameter kann man wie bisher ebenfalls optional einen autorepeat intervall in millisekunden angegeben werden.

gruss
  andre



heißt das es geht doch?
Auch wenn mir die Anleitung echt zu hoch ist

LachaDieEnte

Ich hatte mich so gefreut das Modul am laufen zu haben. Dann musste ich aber dank einem kleinen Problem mit der Speicherkarte meinen Fhem-Pi neu aufsetzen und wollte eben alles neu installieren. Bin laut Anleitung im wiki (https://wiki.fhem.de/wiki/Broadlink) vorgegangen (wie letztes Mal auch). Die Scripte und Programmierten TXT-Dateien hab ich auch alle noch, also alles ganz gemütlich...
Dacht ich.

Sobald ich /opt/BroadLink/send-bl.sh /opt/BroadLink/sw_1_off.txt ansteuere kommt eine Fehlermeldung:
Traceback (most recent call last):
  File "./send-bl.sh", line 17, in <module>
    device = broadlink.rm(host=("IPVOMBROADLINK",80), mac=bytearray.fromhex("MACVOMBROADLINK"))
TypeError: __init__() takes exactly 4 arguments (3 given)


(IPVOMBROADLINK und MACVOMBROADLINK sind natürlich Platzhalter)

Also hab ich mir gedacht: Lernste eben alles neu an.
learn-bl.sh spuckt den selben Fehler aus.

Scripte nochmal überprüft. Alles wie im Wiki Beitrag.

Google spuckt mir nix aus. In python bin ich jetzt nicht sooooo firm, dass ich das ganze script umbauen würde, könnte aber ein paar Sachen umbauen, wenn ich wüsste was.

Kann mir da evtl jemand helfen?

Der Raspi hat ne frische Fhem Installation drauf und BroadLink frisch drauf gepackt.

flange60

Ich habe das selbe Problem , wie LachadieEnte .

gibt es da eine Lösung ??

RaspiLED

Hi,
Zitat aus Wiki unter Konfiguration:
,,Nun gilt es, die IP und MAC-Adresse des Broadlink herauszufinden. Entweder man schaut im Router nach, benutzt die Android-App FING oder das Script "search-bl.sh". Dazu

sudo ./search-bl.sh
Beispielhaft kommt dann:



************************************************
Using python library created by Matthew Garrett
https://github.com/mjg59/python-broadlink
************************************************
Scanning network for Broadlink devices....
Found 1 broadlink devices
...............
Device 1 Host address = '192.168.1.16', 8
Device 1 MAC address = b4 43 0d aa b3 54
...............
Für später sind die IP Adresse und die MAC Adresse wichtig. Diese müssen im zweiten bis vierten Script eingetragen werden!! Ich benutze da den Editor nano.

sudo nano ./learn-bl.sh
sudo nano ./send-bl.sh
sudo nano ./sendmore-bl.sh
Dabei die doppelten Anführungszeichen stehen lassen und an der passenden Stelle jeweils die IP und an der anderen die MAC-Adresse (mit Leerzeichen anstelle der Doppelpunkte) eintragen. Das erste Script liefert die auch so formatiert. Wenn man sie aber aus dem Router hat oder so, dann eben beachten!,,

Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

flange60

danke für die Antwort,

aber das habe ich eingetragen, an den entsprechenden Stellen.
Was ist denn das 4 Argument welches fehlt ?

Danke für die Geduld

Gruß fred

Detlef

Hallo
Würde auch gerne Broadlink mit Telldus Live zusammen bringen. Wie ist das den möglich.?
Bin allerdings Anfänger bei Fhem . Habe bis jetzt IFTTT und Telldus Live zusammen. Soll aber besser alles über Fhem laufen. Ich bastel mir gerade eine einfache Heizungssteuerung ,,Junker ZWR mit TW2 Fernbedienung. Meine analoge alte Alarmanlage ist unbebaut auf Telldus Live und/oder Broadlink.
Jetzt geht es um eine gute einheitlich Steuerung über Fhem.
Habe 14 Rollos, Lichtschalter, TV Radio, Alarmanlage, Temperatur Sensoren. Nur über Beodlink Luft Ton HELLIGKEIT Luftfeuchtigkeit. Eine einfache Heizungsansteuerung folgt noch. Also erst einmal Telldus und Broadlink zusammen bringen. Und dann Feuer frei.
Mit freundlichen Grüßen

cocomoe

Zitat von: flange60 am 03 Mai 2018, 09:39:53
danke für die Antwort,

aber das habe ich eingetragen, an den entsprechenden Stellen.
Was ist denn das 4 Argument welches fehlt ?

Danke für die Geduld

Gruß fred

devtype fehlt, warum weiß ich auch nicht..

entsprechend:
device = broadlink.rm(host=("<your RM3 IP address>",80), mac=bytearray.fromhex("<your RM3 mac>"), devtype="devtype")

Gruß