Hallo!
Ich habe nun eine ganze Weile mit Lesen verbraucht, jedoch scheitere ich nun bei einem wahrscheinlich ganz einfachen Thema.
Ich besitze mehrere sOnOff Module, die mit Tasmota Firmware geflashed sind und im MQTT Moduls laufen.
Über die "normale" Config Seite von FHEM habe ich Schalter angelegt:
define Drucker MQTT_DEVICE
attr Drucker IODev MyBroker
attr Drucker alias Drucker
attr Drucker devStateIcon ON:rc_GREEN:OFF OFF:rc_RED:ON
attr Drucker icon it_printer
attr Drucker publishSet on off cmnd/Drucker/power
attr Drucker room Wohnzimmer
attr Drucker stateFormat state
attr Drucker subscribeReading_Sensor tele/Drucker/SENSOR
attr Drucker subscribeReading_state stat/Drucker/POWER
attr Drucker webCmd ON:OFF
Hier wird der Status, ob der Drucker ein oder ausgeschaltet ist ausgelesen und auch angezeigt.
Aber
Wie geht das Ganze nun in der Tablet UI ?
Schalten tut das Ganze, jedoch wird der Status nicht abgefragt. Klicke ich das Icon, ändert es schon die Farbe, jedoch öffne ich die Seite erneut, ist der Zustand wieder auf off.....
Wie sieht die Abfrage eines Schalters in der Tablet UI für MQTT Devices aus?
Kann mir da bitte jemand helfen?
In der index.html sieht das bisher bei mir nur so aus:
<div data-type="switch" data-device="Drucker" data-icon="fa-square" class="cell green"></div>
<div data-type="label" class="">Drucker</div>
Du musst geht und set wahrscheinlich mit angeben. Also data-get data-set-on data-get-off
Aber am besten du gibst erstmal hier die Ausgabe von
list Drucker
Zitat von: CoolTux am 27 August 2017, 07:24:16
Du musst geht und set wahrscheinlich mit angeben. Also data-get data-set-on data-get-off
Aber am besten du gibst erstmal hier die Ausgabe von
list Drucker
Hier die Ausgabe von list Drucker:
Zitat
Internals:
IODev myBroker
IODevName MyBroker
NAME Drucker
NR 36
STATE OFF
TYPE MQTT_DEVICE
qos 0
retain 0
READINGS:
2017-08-27 06:18:12 state OFF
2017-08-27 06:18:12 transmission-state incoming publish received
message_ids:
publishSets:
:
topic cmnd/Drucker/power
values:
on
off
sets:
off
on
subscribe:
tele/Drucker/SENSOR
stat/Drucker/POWER
subscribeExpr:
^tele\/Drucker\/SENSOR$
^stat\/Drucker\/POWER$
subscribeReadings:
stat/Drucker/POWER state
tele/Drucker/SENSOR Sensor
Attributes:
IODev MyBroker
alias Drucker
devStateIcon ON:rc_GREEN:OFF OFF:rc_RED:ON
icon it_printer
publishSet on off cmnd/Drucker/power
room Wohnzimmer
stateFormat state
subscribeReading_Sensor tele/Drucker/SENSOR
subscribeReading_state stat/Drucker/POWER
webCmd ON:OFF
Du musst OFF und on senden. Dazu wie ich schrieb die passenden data Werte setzen. Lese dazu bitte die Referenz zum Switch.
Kannst du mir dabei ein wenig auf die Sprünge helfen?
Auf der Hauptseite von FHEM geht es ja, nur auf der Tablet UI nicht...
Welche Referenz vom Switch?
Stehe auf dem Schlauch...
https://wiki.fhem.de/wiki/FTUI_Widget_Switch
Default also ohne weitere Einstellungen sendet der Switch ein on und off. Du brauchst aber ON OFF das kann man mit data-set-on und data-set-off setzen
Hmmm Okay...
Habe nun folgendes in der Index.html
<div data-type="switch"
data-device="Drucker"
data-set-on="1"
data-set-off="0"
data-background-colors='["green", "red"]'
class="green small invert">
</div>
Ändert aber nichts daran, das Icon liest den gegenwärtigen Zustand des MQTT Devices nicht aus in Tab UI
Auch ein Ändern in:
<div data-type="switch"
data-device="Drucker"
data-set-on="ON"
data-set-off="OFF"
data-background-colors='["green", "red"]'
class="green small invert">
</div>
bringt nichts
Du kannst aber in FHEM mit set Drucker ON daß Teil anschalten?
Dein letztes Beispiel wäre eigentlich korrekt.
<div data-type="switch"
data-device="Drucker"
data-set-on="ON"
data-set-off="OFF"
data-background-colors='["green", "red"]'
class="green small invert">
</div>
Nun musst du natürlich noch das geht auch so machen.
Hast du den Link gelesen?
Ja, der Drucker schaltet sich ein mit "set Drucker ON" und auch aus mit "set Drucker OFF"
in dem FHEM Frontend ist es ja auch nicht das Problem, dort wird der Zustand korrekt angezeigt und ausgelesen.
Es geht um die Tablet UI...
Dort wird der Schaltzustand des switch eben nicht ausgelesen.
Ich dreh hier noch durch, dass kann doch nicht sooo kompliziert sein :(
<div data-type="switch"
data-device="Drucker"
data-set-on="ON"
data-set-off="OFF"
data-background-colors='["green", "red"]'
class="green small invert">
</div>
Also so sollte zumindest der Drucker sich schalten lassen. Passiert das? Schaltet er zu mindest?
Ja, geschaltet hat er in der Tablet UI auch schon vorher mit meinem im 1. Thread geposteten Code...
Geht mir darum, auch im Tablet zu sehen, ob der sOnOff bereits an oder aus ist........
Was ist mit data-get-on und data-get-off warum steht das nicht bei Dir?
Moin!
Alles eine ziemliche Puzzelei, für einen Neuling.
Und ehrlich gesagt habe ich im Wiki auch nicht wirklich einen Beitrag gefunden bezüglich der Kombi Tablet UI, MQTT und Abfrage der Zustände...
Dein Hinweis mit dem data-get-on und data-get-off bzw. data-set-on und data-set-off führte dann aber zum Ziel obwohl ich für diese Erkenntnis auch etwas brauchte ;)
Vielen Dank für die Hilfe!
Hallo , sorry wenn ich diesesn Uralt-Thread wieder ausgrabe, aber ich habe ein ähnliches Problem mit einer Tasmota-RGBW-Birne. Ich kann über Tabletui zwar aus und ein schalten, bekomme aber Statusänderungen nur angezeigt wenn ich direkt aus TabletUI schalte , sonst wird immer off angezeigt:
so sieht die Config in aus:
<div data-type="switch" data-icon="fa-rss" data-device="MQTT2_LED01" data-get-on="set-on" data-get-off="set-off" data-set-on="on" data-set-off="off" class="white"></div>
bei data-get-on bzw off hab ich auch schon verschiedene werte versucht.
hat hier jemand vielleicht einen kleinen Tipp?
und das ist das List:
Internals:
CID LED01
DEF LED01
DEVICETOPIC MQTT2_LED01
FUUID 5df28415-f33f-1a84-5eae-7171b8e6c68d5ec7
IODev myBroker
LASTInputDev myBroker
MSGCNT 21
NAME MQTT2_LED01
NR 243
STATE POWER1
TYPE MQTT2_DEVICE
myBroker_MSGCNT 21
myBroker_TIME 2020-01-14 08:15:58
JSONMAP:
Channel_1 0
Channel_2 0
Channel_3 0
Channel_4 white
Dimmer pct
HSBColor 0
POWER1 state
READINGS:
2020-01-03 21:49:21 BASE 18
2020-01-14 08:11:32 Color 00000059
2020-01-03 21:49:21 FLAG 0
2020-01-14 08:11:32 Fade on
2020-01-14 08:11:28 FallbackTopic cmnd/LED01_fb/
2020-01-03 21:49:21 GPIO_1 0
2020-01-03 21:49:21 GPIO_10 0
2020-01-03 21:49:21 GPIO_11 37
2020-01-03 21:49:21 GPIO_12 40
2020-01-03 21:49:21 GPIO_2 0
2020-01-03 21:49:21 GPIO_3 0
2020-01-03 21:49:21 GPIO_4 0
2020-01-03 21:49:21 GPIO_5 0
2020-01-03 21:49:21 GPIO_6 39
2020-01-03 21:49:21 GPIO_7 0
2020-01-03 21:49:21 GPIO_8 0
2020-01-03 21:49:21 GPIO_9 38
2020-01-14 08:11:28 GroupTopic cmnd/tasmotas/
2020-01-14 08:11:32 Heap 29
2020-01-14 08:11:28 Hostname tasmota-7751
2020-01-14 08:11:28 IPAddress 10.0.0.76
2020-01-14 08:11:28 LWT Online
2020-01-14 08:11:32 LedTable on
2020-01-14 08:11:32 LoadAvg 19
2020-01-14 08:11:28 Module AoycocrA19
2020-01-14 08:11:32 MqttCount 1
2020-01-03 21:49:21 NAME AoycocrA19
2020-01-14 08:11:28 RestartReason Software/System restart
2019-12-28 19:09:53 SaveData on
2020-01-14 08:11:32 Scheme 0
2019-12-28 19:09:53 SetOption26 on
2020-01-14 08:11:32 Sleep 50
2020-01-14 08:11:32 SleepMode Dynamic
2020-01-14 08:11:32 Speed 3
2019-12-28 19:09:52 StateText1 off
2019-12-28 19:09:52 StateText2 on
2019-12-28 19:09:52 StateText3 toggle
2019-12-28 19:09:52 StateText4 hold
2020-01-14 08:11:32 Time 2020-01-14T08:11:32
2020-01-14 08:11:32 Uptime 0T00:00:12
2020-01-14 08:11:32 UptimeSec 12
2020-01-14 08:11:28 Version 7.1.2.6(3d59de5-tasmota)
2020-01-14 08:11:28 WebServerMode Admin
2020-01-14 08:11:32 Wifi_AP 1
2020-01-14 08:11:32 Wifi_BSSId 38:10:D5:F5:12:1C
2020-01-14 08:11:32 Wifi_Channel 6
2020-01-14 08:11:32 Wifi_Downtime 0T00:00:06
2020-01-14 08:11:32 Wifi_LinkCount 1
2020-01-14 08:11:32 Wifi_RSSI 60
2020-01-14 08:11:32 Wifi_SSId zion
2020-01-14 08:11:32 Wifi_Signal -70
2020-01-14 08:11:32 pct 35
2020-01-14 08:15:58 state off
2020-01-13 14:45:13 subscriptions cmnd/LED01_fb/# cmnd/tasmota/# cmnd/tasmotas/#
2020-01-14 08:11:32 white 35
Attributes:
IODev myBroker
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 futu <div data-type="switch" data-icon="fa-rss" data-device="MQTT2_LED01" data-get-on="set-on" data-get-off="set-off" data-set-on="on" data-set-off="off" class="white"></div>re simple "on" commands:<br>on-for-timer {my $duration = $EVTPART1*10; 'cmnd/cmnd/tasmota/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}<br>See the "Praxisbeispiele" in the wiki for "pulseTime1" alternative option and it's restrictions.
devStateIcon {Color::devStateIcon($name,"rgb","Color","pct","state")}
icon light_control
jsonMap POWER1:state Dimmer:pct Channel_4:white Channel_1:0 Channel_2:0 Channel_3:0 HSBColor:0
model tasmota_rgbw_led
readingList tele/tasmota/LWT:.* LWT
tele/tasmota/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/tasmota/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/tasmota/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }
tele/tasmota/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }
stat/tasmota/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
stat/tasmota/POWER1:.* state
room Kinderzimmer,MQTT2_DEVICE
setList off:noArg cmnd/tasmota/POWER1 0
on:noArg cmnd/tasmota/POWER1 1
toggle:noArg cmnd/tasmota/POWER1 2
Color:colorpicker,RGB cmnd/tasmota/COLOR
pct:colorpicker,BRI,0,5,100 cmnd/tasmota/DIMMER
white:colorpicker,BRI,0,5,100 { "cmnd/tasmota/COLOR ". sprintf("000000%02X",$EVTPART1*2.55) }
setStateList on off toggle
stateFormat POWER1
webCmd pct:white:Color
webCmdLabel Helligkeit
:Weiss
:Farbe:
Thx!
da habe ich wohl zu kompliziert gedacht..
so einfach gehts:
<div data-type="switch" data-icon="fa-rss" data-device="MQTT2_LED01" data-get="state" class="white"></div>
habe oben das data-get vergessen..