[84_IrBlaster] - Modul zur Ansteuerung des (360 Grad) IR WLAN Gateways

Begonnen von viegener, 05 Dezember 2017, 00:06:48

Vorheriges Thema - Nächstes Thema

viegener

@eldrik: Du hast völlig recht, ich habe einen Fix ins github gestellt
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

viegener

Zitat von: Pfriemler am 06 Februar 2018, 11:01:04
Den Hinweis aufs Wiki haste vielleicht auch schon gelesen im anderen Thread. Kommt (noch) ein bisschen kurz dort...

Danke für den Hinweis (und vor allem das Erstellen) des wiki-Eintrags. Ich hatte den noch nicht gesehen.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Manylion

Moin!

Zitat von: Pfriemler am 01 Februar 2018, 08:50:56
Gibt es eigentlich noch jemanden außer mir und viegener, der das Modul nutzt?

Ich probier auch mit dem Modul rum. Scheint bisher ganz gut zu klappen.
Habs so definiert
define IR IrBlaster 192.168.1.5 IR_
attr IR userattr IR_.* IR_CD_Pause IR_CD_Play
attr IR IR_CD_Pause [{'data':'45BAE817', 'type':'NEC', 'length':32}]
attr IR IR_CD_Play [{'data':'45BA18E7', 'type':'NEC', 'length':32}]


und noch ein bisschen aufgehübscht mit
attr IR widgetOverride _send:uzsuSelectRadio,CD_Pause,CD_Play
attr IR webCmd _send


Danke an Euch!
RasPi, CUL868, HM Rolläden und Lichtschalter, Z-Wave, FB7490, FRITZ!DECT Steckdosen und Heizung, AVR Pioneer1183 mit Onkyo-Modul, Tradfri, Sonoff, 360°IR WLAN GW, HM-WLAN-GW

giovanne

Hi, ich bin noch fhem Anfänger, habe aber das IrBlaster Modul bereits ans Laufen bekommen  :)
Funktioniert super.

Ich habe ein, zwei Fragen bzgl. der Realisierbarkeit meines Vorhabens.

Ich habe einen per IR Fernbedienung steuerbaren Staubsaugerroboter, die Umsetzung/Ansteuerung per IRBlaster funktioniert (alles Codes liegen vor). Evtl. soll der NodeMCU später in den Sauger wandern. Derzeit hockt er für das PoC noch auf dem 'Dach'  ;)

Der IR Saugroboter soll per IRBlaster etwas 'smarter' werden  ;D

In Fhem/IRBlaster ist alles soweit eingerichtet, jedoch würde ich gerne:
- (config) wissen, wenn ich in einem Commando mehrere Signale 'data' definiere, wie schnell hintereinander werden die abgefeuert? (kann ich dazu das 'pdelay' nutzen, wenn ich z.B. mal eine Pause von 1 oder 5 sec. haben möchte?)
- (execute) wissen, ob ich  eine Timer starten kann, der wenn ich ein Commando losgefeuert habe startet und nach z.B. 10 min. einen weiteres Commando startet?
Wozu soll das sein: der Roboter soll per IR Befehle in die Küche fahren, saugen und nach 10 min. zurück in die Station/Home fahren.
Etwas Erklärung dazu auch unten, bzw. die entscheidenden Stellen.

Verzeihung, wenn dies allg. fhem Fragen/Themen sind und nicht das Modul spezifisch betreffen  ;)


Definition:
define RoboIR IrBlaster 192.168.0.29 IR_
attr RoboIR userattr IR_.* IR_HOME IR_PLAY_PAUSE IR_KITCHEN...
...
attr RoboIR IR_HOME [{'data':'AAAA8877', 'type':'NEC', 'length':32}]
...
[color=red]#Sequence Kitchen: PLAY-PAUSE,(1sec),PLAY-PAUSE,(1sec),RIGHT,(1sec),RIGHT,(1sec),UP,(5 sec),UP,(1sec), ...
attr RoboIR IR_KITCHEN [{'data':'AAAA2DD', 'type':'NEC', 'length':32}, {'data':'AAAA2DD', 'type':'NEC', 'length':32}, {'data':'AAAA4BB', 'type':'NEC', 'length':32}, {'data':'AAAA4BB', 'type':'NEC', 'length':32}, {"data":"AAAA5AA", "type":"NEC", "length":32}, {"data":"AAAA5AA", "type":"NEC", "length":32}][/color]

[color=red]Execution:
set RoboIR _send IR_KITCHEN #drive to kitchen
??? wait/timer 10 minutes
set RoboIR _send IR_HOME #drive back home
[/color]


eine weitere Frage noch, kann ich den 'set RoboIR _send IR_KITCHEN' command auch direkt per URL aufrufen (inkl. dann wird der Timer... gestartet)), also
"http://fhem-server/fhem/??????set RoboIR _send IR_KITCHEN???" , damit ich mich nicht durcvh fhem durchklicken muss, sondern nur einen Aufruf habe?

Pfriemler

Deutschland, dein mobiles Internet ... normalerweise kopiere ich meinen frisch geschriebenen Beitrag immer in die Zwischenablage bevor ich ihn abschicke ...

Also nochmal:
Das Modul IrBlaster kümmert sich vorzugsweise um die Kommunikation zwischen dem ESP8266 und FHEM, inkl. Zwischenpufferung und Fehlermeldungen bei Problemen. pdelay dient eigentlich eher der Verzögerung im Millisekundenbereich. Selbst wenn man das hinreichend groß bemisst, bleibt das Modul für diese Zeit blockiert und kann keine anderen Codes senden.
Ich würde die Zeitsteuerung komplett in eine andere Programmroutine verlegen, inklusive Auslöse- und Cancelbedingung. Ich verwende für sowas DOIF. Das kann auf eine Zeitsteuerung, eine Taste, ein anderes Ereignis reagieren und mehrere Befehle zeitversetzt (über wait-Attribut: 600s = 10min) ausführen. Dazu eine Cancelbedingung, um das Saugen vorzeitig abzubrechen und den Sauger zurückzurufen.

defmod di_Command2BotKitchen DOIF (<Auslösebedingung>)
   (set RoboIR _send IR_KITCHEN)
   (set RoboIR _send IR_HOME)
DOELSEIF (<Cancelbedingung>)
   (set RoboIR _send IR_HOME)

attr di_Command2BotKitchen do always
attr di_Command2BotKitchen wait 0,600:0


Jm2c.

Nachtrag: Befehlsaufrufe an FHEM über eine URL sind natürlich möglich. Würde ich in diesem Fall aber auf das DOIF lenken. Aber warum überhaupt? Eine Reaktion von FHEM auf ein Ereignis von außen ist doch meist sinnvoller.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

giovanne

Zitat von: Pfriemler am 23 März 2018, 18:32:43
...
pdelay dient eigentlich eher der Verzögerung im Millisekundenbereich. Selbst wenn man das hinreichend groß bemisst, bleibt das Modul für diese Zeit blockiert und kann keine anderen Codes senden.

   ...

Nachtrag: Befehlsaufrufe an FHEM über eine URL sind natürlich möglich. Würde ich in diesem Fall aber auf das DOIF lenken. Aber warum überhaupt? Eine Reaktion von FHEM auf ein Ereignis von außen ist doch meist sinnvoller.

Für den langen Zeitraum von z.B 10 Minuten würde ich es über deine vorgeschlagene DOIF Lösung versuchen.
Aber für eigentliche Fahrt in die Küche, wo zw. den Befehlen z.B jeweils eine Sekunde vergehen soll, wäre es über pdelay machbar? Das das Modul in den kurzen Zeiten blockiert ist, ist egal, da es nur für den Roboter zuständig ist.
Also in folgender Form:
attr RoboIR IR_KITCHEN [{'data':'AAAA2DD', 'type':'NEC', 'length':32, 'pdelay':1000}, {'data':'AAAA2DD', 'type':'NEC', 'length':32, 'pdelay':1000}, {'data':'AAAA4BB', 'type':'NEC', 'length':32, 'pdelay':1000}, {'data':'AAAA4BB', 'type':'NEC', 'length':32, 'pdelay':1000}, {"data":"AAAA5AA", "type":"NEC", "length":32, 'pdelay':1000....


Nachtrag: wenn ich z.B. die DOIF (bzw. Auslösebedingung) von aussen ansprechen möchte, wie erfolgt dies (per URL)? Ich möchte nicht jedem im Haus 'zumuten' sich durch FHEM durchzuhangeln und würde einen einfachen z.B. php/js Aufruf bereitstellen (oder abgespeckte FHEM Gui bereitstellen).




Pfriemler

Ja, wenn Du in IR_Kitchen mehrere Einzelcodes sendest, ist pdelay das Mittel der Wahl.
Beim DOIF kann man per set-Befehl (glaube set <doifnam> cmd_1|cmd_2|...) einen Zustandswechsel herbeiführen, ohne dass die Triggerbedingung vorliegen muss, d.h. man kann die jeweils vorgesehenen Befehle so auf Anforderung abarbeiten lassen. "set di_Command2BotKitchen cmd_1"
Ich glaube so:
http://<fhem>:8083/fhem?cmd.dummy=set%20%di_Command2BotKitchen20cmd_1&XHR=1
Ich persönlich fände eine abgespeckete GUI deutlich komfortabler.

Aber wir schweifen hier ab - eigentlich geht es um das 84_IrBlaster.pm-Modul.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

gloob

Gibt es eigentlich einen Plan das Modul per FHEM Update auszuliefern? Ich denke es macht es einfacher.
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

charlie0815

#23
Hallo Leute,
ich würde auch gern das Modul einsetzen, bekomme aber das Modul beim define nicht zum laden in fhem. Beim reload 84_IrBlaster.pm steht dann folgender Fehler:

Excessively long <>operator at ./FHEM/84_IrBlaster.pm line 21.

Kann jemand mit dieser Fehlermeldung was anfangen?? Muss ich vielleicht noch was updaten (ich hab fhem auf ner jessie installation)
Vielleicht noch was: ich hab das Modul per wget als pi-user direkt ins FHEM Verzeichnis geschoben. Ist das so richtig??
Grüße charlie

Pfriemler

#24
Sicher dass Du die richtige Datei dort hast?
/opt/fhem/FHEM/84_IrBlaster.pm [s]32.587[/s] 32.667 ...

edit: ist ja tatsächlich eine geringfügig andere als meine, funktioniert aber.
Hast Du den Code binär heruntergeladen oder als Website?  :o
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

charlie0815

Zitat von: Pfriemler am 27 November 2018, 16:17:45
Sicher dass Du die richtige Datei dort hast?
/opt/fhem/FHEM/84_IrBlaster.pm [s]32.587[/s] 32.667 ...

edit: ist ja tatsächlich eine geringfügig andere als meine, funktioniert aber.
Hast Du den Code binär heruntergeladen oder als Website?  :o

Hallo Pfriemler,
ich bin in den FHEM Ordner gewechselt und hab dort die Datei mit
wget https://github.com/viegener/Telegram-fhem/blob/master/IrBlaster/84_IrBlaster.pm
runtegezogen.
Das hatte auch geklappt und die Datei ist da zu finden. Gibts da einen anderen Weg??

Pfriemler

#26
Zitat von: charlie0815 am 27 November 2018, 17:08:07
... in den FHEM Ordner gewechselt und hab dort die Datei mit wget https://github.com/viegener/Telegram-fhem/blob/master/IrBlaster/84_IrBlaster.pm runtegezogen.
Das hatte auch geklappt und die Datei ist da zu finden.
Stimmt, aber das zieht - wie ich vermutete - seltsamerweise eine HTML-Datei mit 333k herunter, habe ich gerade probiert. Die funktioniert dann natürlich nicht.
Bisher löste ich das so (als Linux-Noob): Seite im Browser laden, auf "RAW" wechseln (kleiner Button oberhalb des Anzeigefensters) und dann die Datei mit Rechtsklick und "Speichern unter" am PC speichern und per FTP übertragen. Ohne "RAW" wird es die gleiche Datei, die Du per wget gezogen hast.

edit: (handvordenkopfschlagend) - RAW wechselt zu einem anderen Link, der dann mit wget direkt funktioniert (gerade zur Reparatur erfolgreich durchgeführt):
wget https://raw.githubusercontent.com/viegener/Telegram-fhem/master/IrBlaster/84_IrBlaster.pm
vorher aber die alte löschen, sonst wirds eine /84_IrBlaster.pm.1
Sonst Ausgabedatei einfach angeben, überschreibt dann direkt:
wget https://raw.githubusercontent.com/viegener/Telegram-fhem/master/IrBlaster/84_IrBlaster.pm -O ./84_IrBlaster.pm
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

rabehd

Ich habe mich heute mal hier eingelesen und das Modul installiert.
Jetzt ist der Schwibbogen ("alte" IR-Kerzen) in meinem Weihnachts-DOIF drin.

Danke allen die an der Entwicklung beteiligt waren, incl. der Hart- und Firmware.
Auch funktionierende Lösungen kann man hinterfragen.

charlie0815

Zitat von: Pfriemler am 27 November 2018, 18:38:27
Stimmt, aber das zieht - wie ich vermutete - seltsamerweise eine HTML-Datei mit 333k herunter, habe ich gerade probiert. Die funktioniert dann natürlich nicht.
Bisher löste ich das so (als Linux-Noob): Seite im Browser laden, auf "RAW" wechseln (kleiner Button oberhalb des Anzeigefensters) und dann die Datei mit Rechtsklick und "Speichern unter" am PC speichern und per FTP übertragen. Ohne "RAW" wird es die gleiche Datei, die Du per wget gezogen hast.

edit: (handvordenkopfschlagend) - RAW wechselt zu einem anderen Link, der dann mit wget direkt funktioniert (gerade zur Reparatur erfolgreich durchgeführt):
wget https://raw.githubusercontent.com/viegener/Telegram-fhem/master/IrBlaster/84_IrBlaster.pm
vorher aber die alte löschen, sonst wirds eine /84_IrBlaster.pm.1
Sonst Ausgabedatei einfach angeben, überschreibt dann direkt:
wget https://raw.githubusercontent.com/viegener/Telegram-fhem/master/IrBlaster/84_IrBlaster.pm -O ./84_IrBlaster.pm
...Tausend Dank Pfriemler, das wars auch, es ging jetzt ohne Probleme...jetzt kann ich mich auch der Weihnachtsbaumbeleuchtung widmen
Schönen Abend noch

RaspiLED

#29
Zitat von: charlie0815 am 27 November 2018, 20:56:38
...Tausend Dank Pfriemler, das wars auch, es ging jetzt ohne Probleme...jetzt kann ich mich auch der Weihnachtsbaumbeleuchtung widmen
Schönen Abend noch
Moin,
Aber denkt dran ein

sudo chown fhem:dialout 84_IrBlaster.pm

oder

sudo chown fhem:dialout *

auszuführen, damit die Datei auch FHEM gehört und evtl. Später durch ein fhem update verändert werden kann.
Gruß Arnd


Gesendet von iPhone mit Tapatalk
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...