Shelly 2.5 mit Tasmota über Icon schalten

Begonnen von HrzM, 28 November 2021, 00:11:27

Vorheriges Thema - Nächstes Thema

HrzM

Hallo,

ich hab mein Shelly 2.5 Tasmota umgeflasht und per MQTT2 mir FHEM verbunden.

Umgesflaht auf Tasmota hab ich mit https://github.com/yaourdt/mgos-to-tasmota, super easy ohne Löten.

Was ich leider nicht hinbekomme ist es über die Icons zu schalten, nur über Dropdowns, das gefällt mich aber nicht. Irgendwie ist mit nicht klar wir ich das stateFormat anpassen muss, vielleicht hat ja einen Tipp für mich.



defmod MQTT2_DVES_5FA0BA MQTT2_DEVICE DVES_5FA0BA
attr MQTT2_DVES_5FA0BA DbLogInclude ENERGY.*
attr MQTT2_DVES_5FA0BA IODev MQTT_INTERN
attr MQTT2_DVES_5FA0BA event-min-interval .*:1800
attr MQTT2_DVES_5FA0BA event-on-change-reading .*
attr MQTT2_DVES_5FA0BA readingList DVES_5FA0BA:tele/tasmota_5FA0BA/LWT:.* LWT\
DVES_5FA0BA:cmnd/tasmota_5FA0BA/POWER:.* POWER\
DVES_5FA0BA:tele/tasmota_5FA0BA/INFO1:.* { json2nameValue($EVENT) }\
DVES_5FA0BA:tele/tasmota_5FA0BA/INFO2:.* { json2nameValue($EVENT) }\
DVES_5FA0BA:tele/tasmota_5FA0BA/INFO3:.* { json2nameValue($EVENT) }\
DVES_5FA0BA:stat/tasmota_5FA0BA/RESULT:.* { json2nameValue($EVENT) }\
DVES_5FA0BA:stat/tasmota_5FA0BA/POWER1:.* POWER1\
DVES_5FA0BA:stat/tasmota_5FA0BA/POWER2:.* POWER2\
DVES_5FA0BA:tele/tasmota_5FA0BA/STATE:.* { json2nameValue($EVENT) }\
DVES_5FA0BA:tele/tasmota_5FA0BA/SENSOR:.* { json2nameValue($EVENT) }\
DVES_5FA0BA:tasmota/discovery/C45BBE5FA0BA/config:.* { json2nameValue($EVENT) }\
DVES_5FA0BA:tasmota/discovery/C45BBE5FA0BA/sensors:.* { json2nameValue($EVENT) }\
DVES_5FA0BA:stat/tasmota_5FA0BA/UPGRADE:.* { json2nameValue($EVENT) }
attr MQTT2_DVES_5FA0BA room z_MQTT
attr MQTT2_DVES_5FA0BA setList POWER1:on,off cmnd/tasmota_5FA0BA/POWER1\
POWER2:on,off cmnd/tasmota_5FA0BA/POWER2
attr MQTT2_DVES_5FA0BA stateFormat [$name:state1]\
Leistung: [$name:ENERGY_Power_1] W ([$name:ENERGY_Current_1:r3] A * [$name:ENERGY_Voltage] V) <br>\
Energie heute: [$name:ENERGY_Today_1:r1] kWh\
Energie total: [$name:ENERGY_Total_1:r1] kWh\
<br>\
[$name:state2]\
Leistung: [$name:ENERGY_Power_2] W ([$name:ENERGY_Current_2:r3] A * [$name:ENERGY_Voltage] V) <br>\
Energie heute: [$name:ENERGY_Today_2:r1] kWh\
Energie total: [$name:ENERGY_Total_2:r1] kWh
attr MQTT2_DVES_5FA0BA userReadings state1 {ReadingsVal($name,"POWER1","")},\
state2 {ReadingsVal($name,"POWER2","")}
attr MQTT2_DVES_5FA0BA webCmd POWER1:POWER2



rudolfkoenig

Die dropdowns haben wenig mit stateFormat zu tun, sondern mit webCmd. Da steht: bitte die POWER1 und POWER2 Befehle ermoeglichen. Und in der setList steht, dass POWER1 und POWER2 mit einem Dropdown bedient werden.

Eine Alternative waere:
attr MQTT2_DVES_5FA0BA webCmd POWER1 on:POWER1 off:POWER2 on:POWER2 off

TomLee

Es geht doch darum das es nicht möglich ist über das Icon zu schalten, zumindest verstehe ich es so, ich vermute das geht nicht weil das Reading mit der set magic-Schreibweise angegeben wurde.

Wenn man einfach nur den Readingnamen angibt, mein ich, sollte das schalten über das Icon möglich sein.

Zitatattr MQTT2_DVES_5FA0BA stateFormat state1\
Leistung: [$name:ENERGY_Power_1] W ([$name:ENERGY_Current_1:r3] A * [$name:ENERGY_Voltage] V) <br>\
Energie heute: [$name:ENERGY_Today_1:r1] kWh\
Energie total: [$name:ENERGY_Total_1:r1] kWh\
<br>\
...

HrzM

Sorry das ich erst jetzt reagiere, aber es gab zu viele Dinge mehr Aufmerksamkeit erforderten.

Leider hab ich es immer noch nicht hinbekommen über die (Status-)Icon zu schalten. Schalten per Drowndown ist kein Problem.

Wenn ich wie vorgeschlagen "state1" im stateFormat hinzufüge dann steht in der Ansicht einfach nur "state1" gefolgt vom Status, aber nicht mehr als Icon sondern als Text.

taskkill

#4
Mach mal unter state im stateFormat ein<br>, hat bei mir geholfen.

state
<br>
<hr>
Momentan: ENERGY_Power W
Heute: ENERGY_Today kWh<br>
Gestern ENERGY_Yesterday kWh
Gesamt: ENERGY_Total kWh
RPI 3B+ mit Raspbian Bullseye auf SSD, aktiver USB-Hub, Fhem (is klar), TI CC2652P, nanoCUL 868 WMBUS, Echo Plus 2te Gen., ESPxxxx, usw.

HrzM

Danke für die den Input, aber leider funktioniert das auch nicht  :-\


state1
<br>
[$name:state1]
Leistung: [$name:ENERGY_Power_1] W ([$name:ENERGY_Current_1:r3] A * [$name:ENERGY_Voltage] V) <br>
Energie heute: [$name:ENERGY_Today_1:r1] kWh
Energie total: [$name:ENERGY_Total_1:r1] kWh
<br>
state2
<br>
[$name:state2]
Leistung: [$name:ENERGY_Power_2] W ([$name:ENERGY_Current_2:r3] A * [$name:ENERGY_Voltage] V) <br>
Energie heute: [$name:ENERGY_Today_2:r1] kWh
Energie total: [$name:ENERGY_Total_2:r1] kWh

taskkill

defmod Gosund MQTT2_DEVICE Gosund
attr Gosund alexaName Gosund
attr Gosund autocreate 0
attr Gosund devStateIcon .*on:remotecontrol/black_btn_GREEN:off .*off:remotecontrol/black_btn_RED:on
attr Gosund icon message_socket
attr Gosund 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
attr Gosund model tasmota_basic_state_power1
attr Gosund readingList Gosund:tele/Gosund/LWT:.* LWT\
Gosund:tele/Gosund/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }\
Gosund:tele/Gosund/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }\
Gosund:tele/Gosund/INFO.:.* { $EVENT =~ m,^..Info[1-3]..(.+).$, ?  json2nameValue($1,'',$JSONMAP) : json2nameValue($EVENT,'',$JSONMAP) }\
Gosund:stat/Gosund/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }\
Gosund:stat/Gosund/POWER1:.* state
attr Gosund room HOME,Zigbee
attr Gosund setList on:noArg cmnd/Gosund/POWER1 1\
off:noArg cmnd/Gosund/POWER1 0\
toggle:noArg cmnd/Gosund/POWER1 2
attr Gosund stateFormat state\
<br>\
<hr>\
Momentan: ENERGY_Power W\
Heute: ENERGY_Today kWh<br>\
Gestern ENERGY_Yesterday kWh\
Gesamt: ENERGY_Total kWh
attr Gosund verbose 2


ielleicht hilft davon irgendwas
RPI 3B+ mit Raspbian Bullseye auf SSD, aktiver USB-Hub, Fhem (is klar), TI CC2652P, nanoCUL 868 WMBUS, Echo Plus 2te Gen., ESPxxxx, usw.

Beta-User

attrTemplate tasmota_2channel_split_energy hilft nicht weiter?
(vermutlich ist da in einem der SENSOR-Kanäle ein kleiner Typo drin, einer der _$2 sollte _$1 sein, nehme ich an).

Die "discovery"-Zweige brauchen wir in FHEM übrigens m.E. nicht.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

OdfFhem

@HrzM

Um zu einer lauffähigen Version zu kommen, würde ich (ungetestet)

- im stateFormat die magic-Schreibweise eliminieren und nur die Readingnamen verwenden
- ein devStateIcon-Attribut verwenden - ähnlich zum Beispiel von @taskkill
- https://wiki.fhem.de/wiki/DeviceOverview_anpassen "studieren" - 1.Beispiel im Bereich Multi-Icon-Variante, da Du zwei wertgleiche Readings steuern willst

HrzM

Vielen Dank eure Unterstüzung!

Für die Varianten von OdFhem bin ich nicht tief genug drin und (momentan) zu ungeduldig.

Der Tip von Beta-User hat weitergeholfen, das Device zu splitten (wusste garnicht das das geht) vereinfacht das ganze sehr und so komme ich weiter.