IR-MQTT-Gateway mit MQTT2?

Begonnen von maddinthebrain, 31 Oktober 2019, 14:26:21

Vorheriges Thema - Nächstes Thema

maddinthebrain

Hallo zusammen,

ich möchte gerne das IR-MQTT-Gateway nutzen. Da ich aus mehreren Gründen den MQTT2 Server von Fhem schon produktiv im Einsatz haben, möchte ich das IR Gateway auch mit MQTT2 nutzen. Die Vorgehensweise wie sie im Wiki unter https://wiki.fhem.de/wiki/IR-MQTT-Gateway beschrieben ist, geht dann ja so nicht. Ich habe das Device daher mit define IR_Blaster MQTT2_DEVICE angelegt. Nun würde ich gerne wie Wiki weiter beschrieben mit attr IR_Blaster autoSubscribeReading ir_blaster/receiver/+/+, den IR-Blaster erst mal Befehle von IR-Fernbedienungen aufnehmen und als Subscriptions anlegen lassen. bzw. ich würde gerne IR-Befehle aufnehmen und später wieder per Fhem über den IR-Blaser wieder senden.
Nur ist das nach den Attributen nicht möglich. Wie kann ich die Themen automatisch abonnieren?

Auch das Thema Firmware ist unklar. Ich hätte die https://github.com/JoergBo/IRBlaster360 genommen.

Vielen Dank!

Viele Grüße

Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

Beta-User

Oh je, eine meiner Wiki-"Altlasten"...  ;D

Also: Einfachster Weg ist, Tasmota in der aktuellen Fassung auf den ESP zu flashen, und dort die PINs entsprechend festzulegen. (Als Firmewarealternative geht u.A. auch OpenMQTTGateway).

Dann sollte bereits durch autocreate ein entsprechendes MQTT2_DEVICE angelegt werden, und auch ein oder mehrere Readings, wenn du Tasten drückst.

Es gibt für beide Varianten auch attrTemplate-templates. Allerdings mußt du erst etwas rumspielen, damit du weißt, was du da jeweils eintragen mußt, verwenden kannst usw....
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

maddinthebrain

Hallo beta-user,

ok das mit dem Tasmota werde ich so machen.

Nur das Thema, mit den IR-Protokollen die noch nicht bekannt sind bleibt offen. Gibt es eine Möglichkeit, wie bei einem MQTT-Device das mit einem autosubscribe auch bei einem MQTT2-Device zu machen? Hier fehlt ja das entsprechende attr autoSubscribeReadings...

Viele Grüße

Martin 
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

Beta-User

Jein...

Wenn du MQTT2_SERVER als IO verwendest, ist dort autocreate aktiv und wird alle Daten, die von einem bestimmten Client kommen auch einem eigenen Device zuordnen.

Auf dieses Device kannst du dann mal sehen, was "attrTemplate" bietet. Für den IR-Bereich gibt es zwar eines, aber das ist nur ein Beispiel, wie man das machen kann. Einige weiterführende Hinweise, wie das zu verwenden ist, sind über "set <mqtt2-device> attrTemplate ?" und den Link zu dem template hier im Forum zu erfahren. Falls du weitere Hilfe brauchst, bitte melden (ich selbst habe den IR-Teil zwischenzeitlich experimentell nach OpenMQTTGateway umgezogen, das zwar ähnlich, aber nicht gleich tickt; ich brauche das aber soweiso praktisch nicht mehr, nachdem mein alter Verstärker jüngst einem netzwerkfähigen Gerät weichen mußte...)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

maddinthebrain

okay, dann schau ich mal, meine Anwendung ist ja was ganz anderes: Es sind eine Reihe von RGB-LED-Spots für den Garten, die ich sehr günstig bei Conrad im Ausverkauf erstanden habe. Diese lassen sich per IR-Fernbedienung steuern. Also ne Fernbedienung existiert, so dass auch die Codes erkannt werden könnten und per autocreate dem Device zugeordnet werden könnten. Mal sehen, ob das klappt.

Viele Grüße

Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

TomLee

Also ne Fernbedienung existiert, so dass auch die Codes erkannt werden könnten und per autocreate dem Device zugeordnet werden könnten. Mal sehen, ob das klappt.

Das klappt zu 99.9 %  :)

autocreate ist da aber mMn. raus. Der empfangene Tasten-Code landet in einem Reading.
Angenommen du empfängst {"Time":"2020-01-29T16:22:34","IrReceived":{"Protocol":"NEC","Bits":32,"Data":"0x20DF40BF"}} in der Konsole, dann landet 0x20DF40BF in dem Reading NEC_32

Hab gerade gestern die Tasten einer IR-LED-Kerzen-Fernbedienung ausgelesen und meine setList einfach um die entsprechenden Befehle/Tasten erweitert, vielleicht hilft das auch schon etwas wie das aussehen kann/muss:

Zitatkerzeoff:noArg cmnd/tasmotairwz/IRSend {"protocol": "NEC","bits": 32, "data": 0x00FF40BF}
kerzeon:noArg cmnd/tasmotairwz/IRSend {"protocol": "NEC","bits": 32, "data": 0x00FF00FF}
kerze4h:noArg cmnd/tasmotairwz/IRSend {"protocol": "NEC","bits": 32, "data": 0x00FF10EF}
kerzeflic:noArg cmnd/tasmotairwz/IRSend {"protocol": "NEC","bits": 32, "data": 0x00FF08F7}
kerzesteady:noArg cmnd/tasmotairwz/IRSend {"protocol": "NEC","bits": 32, "data": 0x00FF48B7}
kerze8h:noArg cmnd/tasmotairwz/IRSend {"protocol": "NEC","bits": 32, "data": 0x00FF50AF}

Gruß

Thomas