Sonoff 4CH + Tasmota: MQTT Prefix?

Begonnen von tplus, 10 Juli 2021, 14:13:47

Vorheriges Thema - Nächstes Thema

tplus

Hallo,

ich steuere einige Shelly Aktoren über MQTT an und musste mir da noch nie Gedanken über irgendwelche Details machen. Template auswählen - läuft.

Wenn ich einen Sonoff 4CH Pro (Tasmota) anlegen will und das entsprechende Template auswähle fragt FHEM nach command, info und ack-topic prefix für jeden Schalter. Was muss man da eingeben?

Im Sonoff ist:

topic = tasmota_%06X
full topic = %4CHPRO%/%wasser%/


Kann ich die Tipptasten-Aktionen in FHEM separat auswerten oder sind die immer an einen GPIO gekoppelt?

Besten Dank für Tips...

Otto123

#1
Hi,

möglicherweise hast Du die Tasmotakonfiguration nicht verstanden:
tasmota_%06X bedeutet: füge die letzten 6 Stellen der MAC Adresse an.
%prefix%/%topic%/ bedeutet: setze den mqtt präfix ein (z.B. cmnd) und setze den topic (das resultat der Zeile drüber) ein.
Was Du jetzt da rein geschrieben hast dürfte nur Unfug ergeben :) Schau es Dir im Informationsfeld des Tasmota Menüs an ;)

Tipp: lass erstmal die Finger von Dingen die Du offenbar nicht besser weißt, also stell den full topic zurück auf %prefix%/%topic%/

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

tplus

Danke, und klar, ist ja eigentlich auch selbsterklärend  ;)

Gibt es irgendwo ein Tutorial dazu? Gefunden habe ich nur Anleitungen zum flashen der Hardware, was kein Problem war.

Vorher lief auf dem Sonoff ESP Easy bis es abgestürzt ist und nach einem OTA Update (Bewässerungssteuerung in Ferienimmobilie) alle Magnetventile geöffnet hat.


Otto123

Moin,

zu tasmota gibt es eine sehr umfangreiches Doku. Zugegeben werden die meisten Dokus mit steigendem Umfang nicht unbedingt übersichtlicher.
https://tasmota.github.io/docs
Hier steht was dazu https://tasmota.github.io/docs/MQTT/

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

tplus

Ich habe es jetzt geändert:

client = DVES_8079A6
topic = tasmota_8079A6
full topic = cmnd/tasmota_8079A6

FHEM stellt keine Fragen mehr zum Topic:

Internals:
   CFGFN     
   CID        DVES_8079A6
   DEF        DVES_8079A6
   DEVICETOPIC MQTT2_DVES_8079A6
   FUUID      60eabd60-f33f-a505-5a27-6f90cb4e03c4595c
   IODev      home_broker
   LASTInputDev home_broker
   MSGCNT     1
   NAME       MQTT2_DVES_8079A6
   NR         10432
   STATE      LWT
1:set off
2:set on
3:set on
4:set off
<br><a href="http://IPAddress" target="_blank">IPAddress</a>
   TYPE       MQTT2_DEVICE
   home_broker_MSGCNT 1
   home_broker_TIME 2021-07-11 11:44:04
   JSONMAP:
     Channel_0  0
     Channel_1  0
     Channel_2  0
     Channel_3  0
     Channel_4  0
     Color      0
     Dimmer     0
     HSBColor   0
     POWER1     0
     POWER2     0
     POWER3     0
     POWER4     0
   OLDREADINGS:
   READINGS:
     2021-07-11 11:58:27   POWER1          set off
     2021-07-11 11:58:21   POWER2          set on
     2021-07-11 11:58:37   POWER3          set on
     2021-07-11 11:47:32   POWER4          set off
     2021-07-11 11:44:44   attrTemplateVersion 20200522 or prior
Attributes:
   IODev      home_broker
   autocreate 0
   comment    NOTE: For on-for-timer SetExtensions are used. You may add on-for-timer option running on the device. The following is limited to 1h max duration, but will not affect future simple "on" commands:<br>on-for-timer {my $duration = $EVTPART1*10; 'cmnd/cmnd/tasmota_8079A6/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}<br>See the "Praxisbeispiele" in the wiki for "pulseTime1" alternative option and it's restrictions.
   devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot 1.on:on:POWER1+off 1.off:off:POWER1+on 2.on:on:POWER2+off 2.off:off:POWER2+on 3.on:on:POWER3+off 3.off:off:POWER3+on 4.on:on:POWER4+off 4.off:off:POWER4+on
   icon       hue_filled_outlet
   jsonMap    POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 HSBColor:0 Color:0
   model      tasmota_4ch_unified_icon
   readingList tele/tasmota_8079A6/LWT:.* LWT
  tele/tasmota_8079A6/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }
  tele/tasmota_8079A6/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }
  tele/tasmota_8079A6/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }
  stat/tasmota_8079A6/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
  tele/tasmota_8079A6/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }
  stat/tasmota_8079A6/POWER1:.* POWER1
  stat/tasmota_8079A6/POWER2:.* POWER2
  stat/tasmota_8079A6/POWER3:.* POWER3
  stat/tasmota_8079A6/POWER4:.* POWER4
   room       MQTT2_DEVICE
   setList    POWER1:on,off,toggle cmnd/tasmota_8079A6/POWER1 $EVTPART1
  POWER2:on,off,toggle cmnd/tasmota_8079A6/POWER2 $EVTPART1
  POWER3:on,off,toggle cmnd/tasmota_8079A6/POWER3 $EVTPART1
  POWER4:on,off,toggle cmnd/tasmota_8079A6/POWER4 $EVTPART1
   setStateList on off toggle
   stateFormat LWT
1:POWER1
2:POWER2
3:POWER3
4:POWER4
<br><a href="http://IPAddress" target="_blank">IPAddress</a>
   webCmd     POWER1:POWER2:POWER3:POWER4


Leider reagiert der Sonoff nicht auf die Befehle. Was ist immer noch falsch?

tplus

Okay, gelöst. Full topic auf default (%prefix%/%topic%/) stehen lassen. Dann funktioniert es.

Danke nochmal.

Otto123

sag ich doch :)
Es gab bei älteren tasmota Versionen die Notwenidgkeit den topic zu ändern. Der muss nämlich für das Gerät eindeutig sein und als default stand da nur tasmota drin, was dazu führte, dass alle Geräte synchron funktionierten :)
Den topic kann man individuell umbennen, das andere würde ich immer so lassen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz