Modul LIRC hat genau 1x funktioniert

Begonnen von Muschelpuster, 21 Juli 2015, 20:45:14

Vorheriges Thema - Nächstes Thema

Muschelpuster

Hallo zusammen,

Ich habe mir aus diversen Anleitungen LIRC auf meinem Raspberry zusammengebaut. Nach der Definition hatte ich sofort die definierten Meldungen:2015.07.21 19:51:57 3: LIRC opened IR_WZ device /etc/lirc/lircrc
2015.07.21 19:52:32 3: LIRC IR_WZ KEY_PROG2
2015.07.21 19:52:46 3: LIRC IR_WZ KEY_PROG1
2015.07.21 19:52:50 3: LIRC IR_WZ KEY_PROG2
2015.07.21 19:52:55 3: LIRC IR_WZ KEY_PROG1


Dann habe ich vor lauter Übermut ein Komanndo zur Definition eines Notify derart verkackt, dass mir FHEM abgeschmiert ist. Und seit dem läuft nix mehr. Reboot des Systems und alle weiteren Maßnahmen brachte nichts.
LIRCD läuft und der Status des Moduls steht auf opened.
Beende ich LIRCD und prüfe mit dem LIRC-Test die Hardware, dann sieht alles gut aus. Nun bin ich etwas ratlos, wo ich den Fehlersuchhebel ansetzen kann...

verunglückte Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Muschelpuster

#1
Bei der Fehlersuche habe ich die Datei lircrc nach lirc2fhem kopiert und auf diese zugegriffen. Das war wohl definitiv ein Fehler. Nachdem ich das Modul wieder auf die Datei lircrc verwiesen habe, funktionierte es wieder. Bis zum Reboot. Nun hilft auch eine Rückänderung auf lirc2fhem nicht - erst wenn ich danach wieder auf lircrc ändere funktioniert es wieder. Aber nicht lange - nach Sichern der Konfig geht es wieder nicht, wobei ich nict weiß, ob das jetzt am Sichern liegt, oder einfach ein Problem ist, was nach kurzer Laufzeit auftritt.
Gut zur Diagnose ist der Befehl irw:Update: Beende ich FHEM und starte irw, dann sehe ich die empfangenen Befehle und kann sehen, dass sie korrekt decodiert werden:[code]pi@fhem /etc/lirc $ sudo irw
000000000000177c 00 KEY_F3 Harmony_WZ
000000000000177c 01 KEY_F3 Harmony_WZ
000000000000177c 02 KEY_F3 Harmony_WZ
000000000000177e 00 KEY_F2 Harmony_WZ
000000000000177e 01 KEY_F2 Harmony_WZ
000000000000177e 02 KEY_F2 Harmony_WZ
000000000000177a 00 KEY_F1 Harmony_WZ
000000000000177a 01 KEY_F1 Harmony_WZ
000000000000177a 02 KEY_F1 Harmony_WZ
Tritt der Fehler auf, dann tauchen auch im irw keine Meldungen mehr auf.

sporadische Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Wernieman

Das hört sich an, als ob der Prozess für lirc in FHEM hängt .... ind lirc hat (meines Wissens, Erfahrung) Probleme, wenn der letzte "Befehl" noch nicht abgearbeitet wurde.

Da ich das lircd-Modul in Fhem auch nur unter großen Schwierigkeiten zum laufen gebracht hatte (allerdings "normaler" Linux-x86-Server) und mich dann wegen der Schaltverzögerung geärgert habe, würde ich Dir empfehlen, über irexec auszuweichen.

Hintergrund:
Das lircd-FHEM-Modul pollt, lirc dagegen ist eigentlich event-basiert-aufgebaut. Hatte schon versucht es in einem Modul zu gießen, aber mein fehlendes perl/fhem-KnowHow hat mich zum scheitern gebracht ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

franky08

Ich hab vor ca. einem Jahr lirc auf einem Raspi zum laufen gebracht, ganz ohne das Lirc Modul, dass gab es zu der Zeit noch gar nicht. Auf dem Raspi läuft lirc, nach der Anleitung hier im Forum:
http://forum.fhem.de/index.php/topic,23646.0.html

das funktioniert dann über system irsend <lirc Befehl>

Habe das zum schalten des TV (geht nur über IR auf on zu schalten) und für die Klimaanlage. Anbei mal der Ausschnitt aus der fhem.cfg. Das Ganze ist dann über F2F mit der fhem Hauptinstanz verbunden und kann von da gesteuert werden.

define TV_IR dummy
attr TV_IR devStateIcon POWER.*:rc_TV@red OK.*:general_ok@green
attr TV_IR room Infrarot
attr TV_IR webCmd POWER:OK
define n_infrarot notify TV_IR:POWER {\
system ("irsend SEND_START TV KEY_POWER");;\
fhem ("sleep 2");;\
system ("irsend SEND_STOP TV KEY_POWER");;\
}
define ok_infrarot notify TV_IR:OK {system("irsend SEND_ONCE TV KEY_OK")}
attr ok_infrarot room Infrarot
define TV_Start dummy
attr TV_Start devStateIcon Start.*:general_an@green Off.*:general_aus@red
attr TV_Start room Infrarot
attr TV_Start webCmd Start:Off
define TV_Start_ein notify TV_Start:Start {system("irsend SEND_ONCE TV KEY_4");; system("irsend SEND_ONCE TV KEY_4");; system("irsend SEND_ONCE TV KEY_5");; system("irsend SEND_ONCE TV KEY_2")}
attr TV_Start_ein room Infrarot
define TV_Start_aus notify TV_Start:Off {system("irsend SEND_ONCE TV KEY_POWER")}
attr TV_Start_aus room Infrarot
#
define Klima dummy
attr Klima devStateIcon Ein.*:general_an@green Aus.*:general_aus@red
attr Klima room Infrarot
attr Klima webCmd Ein:Aus
define Klima_ein notify Klima:Ein {system("irsend SEND_ONCE Klima KEY_POWER")}
attr Klima_ein room Infrarot
define Klima_aus notify Klima:Aus {system("irsend SEND_ONCE Klima KEY_POWER2")}
attr Klima_aus room Infrarot
#
define F2F FHEM2FHEM 192.168.2.66:7072 LOG:pifhem.*
attr F2F room System
define n_pifhem notify pifhem.* {Log 3, "$NAME: $EVENT";;fhem("$EVENT")}
attr n_pifhem disable 0
attr n_pifhem room Infrarot


VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Muschelpuster

Hallo und Danke für Eure Antworten.
Ja, ich musste auch erkennen, dass das LIRC-Modul nicht so toll ist. Wenn ich in der Definition auf eine nicht existente Datei verweise, dann fliegt mir FHEM komplett um die Ohren.
Zitat von: franky08 am 22 Juli 2015, 15:20:41das funktioniert dann über system irsend <lirc Befehl>
Allerdings möchte ich FHEM per IR steuern und nicht per FHEM Geräte steuern (vielleicht später).
Ich baue das heute Abend mal um. Die LIRCRC ist schon geändert und sieht jetzt so aus:begin
    prog = irexec
    button = KEY_F20
    config = echo "trigger du_IR_WZ KEY_F20" |socat - TCP:localhost:7072
end

Im FHEM wird der Dummy du_IR_WZ dadurch mit dem Wert der zuletzt gedrückten Taste gefüttert und ich kann das durch Notify's abgreifen. Läuft im Modelltest gut und schnell, der Abschlusstest fehlt, da ich aus der Ferne keine Knöpfe auf der FB drücken kann  ;)

alternative Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

Wernieman

also ... bei mir habe ich mir ein script geschrieben, was fhem aufruft. So steht in der irexec nur "script.sh taste". Hatt den Vorteil, wenn man den "Zugriff" auf fhem-Ändert, man es nur in einem script und nicht an vielen anderen stellen ändern muß

Aber interessant:
Du hast für die ganze Fernbedienung eine Dummy definiert? Ich hatte für jede Taste ....
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

franky08

So entstehen Missverständnisse  ;) wenn ich lirc lese, denke ich immer als erstes das fhem ein device über IR steuern soll.

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Muschelpuster

Jetz läuft alles prima - Danke für die Unterstützung!
Zitat von: Wernieman am 22 Juli 2015, 15:38:52Du hast für die ganze Fernbedienung eine Dummy definiert? Ich hatte für jede Taste ....
Ja, reicht doch! Zumindest wenn man davon ausgeht, dass nicht 2 Tasten zugleich vom LIRC kommen, bzw. FHEM das Event schneller verarbeitet, als die Events eintreffen. Aber selbst das ist ja irrelevant, wenn man den gesendeten Wert aus dem Event nimmt und nicht vom Dummy liest.
Ein Notify brauche ich eh für jede Aktion, bzw. zumindest ein DOIF für 2 Events (an/aus) bei cleverer Parameterübergabe...

ferngesteuerte Grüße
Niels

PS: Andre - das andere klingt interessant, aber der Harmony-Hub übersteigt das derzeit veranschlagte Budget, auch wenn ich immer wieder mit ihm liebäugle. Zumal unsere dusslige Kabel-D-Box blind wie Oma ist  >:(
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

justme1968

das hat nix mit dem harmony hub zu tun.

bei dem verlinkten modul geht es darum die tasten von ganz unterschiedlichen ir oder bluetooth fernbedienungen zu empfangen und in fhem auszuwerten. die einzige bedingung ist das der empfänger ein usb hid device sein muss. da geht schon mit 9 euro windows mce kompatiblen teilen.

gruss
  andre

ps: der hub sendet so stark und in unterschiedliche richtungen das er sehr flexibel ist in der aufstellung. und die fb die du in der hand hast muss nicht mehr auf das gerät zeigen das du steuern willst. das geht schon mit der kleinsten hub/smartcontroll version.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Wernieman

Allerdings geht dann praktisch nur "eine" Fernsteuerung, sonst hätte ich auch umgestellt. Da ich aber mehrere habe und dieses nur mit lirc direkt geht ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Muschelpuster

Zitat von: justme1968 am 22 Juli 2015, 18:47:16das hat nix mit dem harmony hub zu tun.
Jo, das habe ich gelesen, nur der Hub stach mir gleich in die Augen.
Mein Rechner hängt funktechnisch etwas ungünstig, da wird es mit Bluetooth evtl. eng. Und ich habe die Harmony und sie hat einen hohen WAF. Den IR-Empfänger schalte ich nun über die strukturierte Verkabelung. Damit ist die letzte Dose im Wohnzimmer belegt.
Alles über Tablet ist mir zu gefährlich, wenn das FHEM dann nicht läuft und meine Frau nicht fernsehen kann...

harmonische Grüße
Niels
fhem @ ZBOX mit 1,6MHz Celeron, 4GB RAM & 120GB SSD mit Debian Bullseye # MiLight # Homematic via CCU3 # W&T WebIO # Rademacher DuoFern # ESPeasy # logdb@mysql # configdb@mysql # Shelly @ MQTT2 # go-eCharger mit PV-Überschussladung via DOIF

justme1968

@Wernieman: was meinst du mit eine Fernsteuerung ?

@Muschelpuster: wie kommst du auf tablett ?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Wernieman

Ups .. hätte schreiben soll "IR-Fernbedienung" .... da der Input-Code beide Fernbedienungen mischt. Mann also nicht rausbekommt, von welcher ein Code (Zeichen) gesendet wurde.

Oder irre ich mich diesbezüglich?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

justme1968

das kommt auf die fernbedienungen an bzw die codes an. wenn sie identisch sind kann man sie nicht auseinander halten. das gilt aber auch für lirc.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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