Lirc Binding

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
mr_curiosity
Beiträge: 3
Registriert: 28. Jul 2018 12:08
Answers: 0

Lirc Binding

Beitrag von mr_curiosity »

Hey zusammen,

ich hab eine Anfängerfrage zum Lirc Binding. Ich bekomme es leider nicht hin, über einen einfach Switch einen Lirc Befehl zu senden. In der offiziellen Anleitung ist leider nur eine Rule drin. Da wird leider nicht erklärt, wie das mit einem einfach Switch funktioniert.

https://docs.openhab.org/addons/binding ... eadme.html

Lirc läuft, die Kommunikation zwischen Openhab und dem Lirc TCP Server läuft auch laut Logfile, nur wie baue ich mir jetzt einen Schalter?

Baue ich mir als Item nun einen Switch oder einen String und in der Sitemap ein Switch mit Mapping? Switch mit Mapping habe ich schon probiert, funktioniert aber leider nicht.

Gruß Flo

Benutzeravatar
udo1toni
Beiträge: 15243
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Lirc Binding

Beitrag von udo1toni »

Ich denke nicht, dass das vorgesehen ist. Ein Switch kann nur ON oder OFF senden. Das lirc Binding erwartet aber einen String. Was Du brauchst, ist also ein Switch Item, welches nicht an lirc gebunden ist. Weiterhin setzt Du eine Rule wie auf der lirc-Seite ein. Die Rule wird dann durch den Switch getriggert.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

mr_curiosity
Beiträge: 3
Registriert: 28. Jul 2018 12:08
Answers: 0

Re: Lirc Binding

Beitrag von mr_curiosity »

Darum dachte ich eine String Item und in der Sitemap einen Switch und übergebe dann über das Mapping den passenden String... also zum Beispiel KEY_0 wie in der lircd.conf definiert, funktioniert aber nicht.

Man könnte jetzt den Weg über ein Commando gehen, und einfach "irsend send_once westfan KEY_0" der Kommandozeile übergeben, aber dann macht das lirc Binding keinen Sinn :-)

Benutzeravatar
udo1toni
Beiträge: 15243
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Lirc Binding

Beitrag von udo1toni »

Ach so. Ja, mit einem String item und einem passenden Mapping in der Sitemap müsste das eigentlich funktionieren. Dein Link zeigt noch auf die alte Doku. Die aktuelle Doku für lirc findest Du hier: https://www.openhab.org/addons/bindings/lirc/
Nehmen wir an, Du hast dieses Item:

Code: Alles auswählen

String Remote_AVReceiver { channel="lirc:remote:local:Onkyo_RC_799M:transmit" }
dann sollte das Mapping in der Sitemap so aussehen:

Code: Alles auswählen

Switch item=Remote_AVReceiver label="AV" mappings=[V_UP="KEY_VOLUMEUP 5",V_DWN="KEY_VOLUMEDOWN 5",Power="KEY_POWER"]
Ergibt drei "Knöpfe", mit V_UP, V_DWN und Power beschriftet, die entsprechenden Befehle sollten dann jedesmal gesendet werden, wenn die Schaltfläche betätigt wird.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

mr_curiosity
Beiträge: 3
Registriert: 28. Jul 2018 12:08
Answers: 0

Re: Lirc Binding

Beitrag von mr_curiosity »

So, ganz schöner Kampf mit dem Raspberry, aber am Schluss klappt es doch. Ich versuch mich mal mit einer Schritt für Schritt Anleitung:

Lirc Installieren

Code: Alles auswählen

sudo apt-get install lirc -y
/etc/modules Datei bearbeiten

Code: Alles auswählen

lirc_dev
lirc_rpi gpio_out_pin=23 <-- BCM
/boot/config.txt bearbeiten

Code: Alles auswählen

dtoverlay=lirc-rpi,gpio_out_pin=23
Script ausführen

Code: Alles auswählen

sudo /usr/share/lirc/lirc-old2new
/etc/lirc/lirc_options.conf bearbeiten

Code: Alles auswählen

[lircd]
nodaemon = False
driver = default
device = /dev/lirc0
output = /var/run/lirc/lircd
pidfile = /var/run/lirc/lircd.pid
plugindir = /usr/lib/arm-linux-gnueabihf/lirc/plugins
permission = 666
allow-simulate = No
repeat-max = 600
uinput = True
listen          = 0.0.0.0:8765
#connect        = host[:port]
debug          = 10
#uinput         = ...
#release        = ...
logfile        = /home/lirc.log
Der Punkt "listen" ist wichtig für Openhab.

Lirc neustarten

Code: Alles auswählen

sudo /etc/init.d/lircd stop
sudo /etc/init.d/lircd start
In der Paper UI in Openhab das Lirc Binding Installieren. Nun geht es weiter in den Konfigurationen von Openhab:

Things

Code: Alles auswählen

Bridge lirc:bridge:local [ host="127.0.0.1", port="8765" ] {
    Thing remote Samsung [ remote="Samsung" ]
}
Items

Code: Alles auswählen

String Remote_TV { channel="lirc:remote:local:Samsung:transmit" }
Sitemaps

Code: Alles auswählen

sitemap default label="My first sitemap"
{
    Switch item=Remote_TV label="Test" mappings=[KEY_1=OFF,KEY_2=ON]
  }
Das wars schon!

Wer mal in das Logfile von Openhab schaut, der sieht
2018-07-31 13:24:41.197 [hingStatusInfoChangedEvent] - 'lirc:bridge:local' changed from UNINITIALIZED to INITIALIZING

2018-07-31 13:24:41.223 [hingStatusInfoChangedEvent] - 'lirc:remote:local:Samsung' changed from UNINITIALIZED to UNINITIALIZED (BRIDGE_UNINITIALIZED)

2018-07-31 13:24:41.231 [hingStatusInfoChangedEvent] - 'lirc:bridge:local' changed from INITIALIZING to ONLINE

2018-07-31 13:24:41.256 [hingStatusInfoChangedEvent] - 'lirc:remote:local:Samsung' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING

2018-07-31 13:24:41.263 [hingStatusInfoChangedEvent] - 'lirc:remote:local:Samsung' changed from INITIALIZING to ONLINE
Daran erkennt man, dass die Kommunikation zwischen Openhab und Lirc funktioniert. Sollte es trotzdem nicht funktionieren, kann mal im Logfile von Lirc schauen. In der lirc_options.conf habe ich den höchsten Loglevel angegeben mit Speicherort /home/lirc.log. Das kann natürlich später wieder entfernt werden.

Gruß Flo

Benutzeravatar
udo1toni
Beiträge: 15243
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Lirc Binding

Beitrag von udo1toni »

Sehr schön, danke dafür!
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten