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...
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
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.
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
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?
Okay, gelöst. Full topic auf default (%prefix%/%topic%/) stehen lassen. Dann funktioniert es.
Danke nochmal.
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