sOnOff Basic mit MQTT via Tablet UI Status auslesen

Begonnen von B.Stromberg, 27 August 2017, 06:30:55

Vorheriges Thema - Nächstes Thema

B.Stromberg

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>




CoolTux

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
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

B.Stromberg

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

CoolTux

Du musst OFF und on senden. Dazu wie ich schrieb die passenden data Werte setzen. Lese dazu bitte die Referenz zum Switch.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

B.Stromberg

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...


CoolTux

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
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

B.Stromberg

#6
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

CoolTux

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?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

B.Stromberg

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 :(

CoolTux

<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?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

B.Stromberg

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........


CoolTux

#11
Was ist mit data-get-on und data-get-off warum steht das nicht bei Dir?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

B.Stromberg

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!

drcyber

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!
Raspberry Pi 3 mit 2x nanoCUL - Jeelink- LGW

drcyber

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..
Raspberry Pi 3 mit 2x nanoCUL - Jeelink- LGW