[ControlMiniDash]Fhemweb Widget für Thermostat,KlimaControl,....,

Begonnen von schwatter, 25 Oktober 2025, 12:09:21

Vorheriges Thema - Nächstes Thema

erwin

Hi,
danke für die Weiterentwicklung, funktioniert, auch "compact" - Aufgefallen ist, das bei meine style nicht viel Unterschied in der Höhe ist, die "buttons" links/rechts aber nicht vorhanden sind.
Ich hab jetzt mein KNX-Beispiel aufgebohrt, dass mit plus/minus buttons die Soll-Temp um einen fixen Wert erhöht/reduziert wird.
Bei Bedarf stelle ich das gern zur Verfügung, entweder hier oder im Wiki, würde jedoch warten bis dein code im "offiziellen" SVN ist.
l.g.erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

schwatter

Nabend,

das ist so beabsichtigt. Es geht darum nur den Slider und Infos in einem UiTable
im DOIF zu haben. Keine Buttons. Siehe Post #50.

Gruß schwatter

schwatter

Moin

@erwin

Ich habe gesehen, du hast eine Beispielseite für KNX

https://wiki.fhem.de/wiki/KNX_Device_Definition_-_Beispiele

Da passt es super hin und ich kann ein Querverweis dahin machen.
Ich denke, wenn sich in 7 Tagen keiner meldet, dann checke ich das Update ein.


Gruß schwatter

Reinhart

Danke für das tolle Widget!
funktioniert soweit mit im Kreis mit der Maus, aber wie kann ich die 6 Buttons aktivieren? Laut Wiki nennen sich die btnXCmd.

btn2Cmd { fhem("set _OG_Wohnz_Kamin desired-temp ".(ReadingsVal("_OG_Wohnz_Kamin","desired-temp",0)-0.5)) }ich habe die Minus Taste jetzt so als userattr definiert, klappt aber nicht.

Unknown argument temp-5 choose one of clear defaults:reset,update,old,forceReset readingFilter:multiple-strict,VALVE_ADAPTION,BOOST_TIME,VALVE_STATE_ADJUSTMENT_TOO_SMALL,QUICK_VETO_TIME,PARTY_SET_POINT_TEMPERATURE,WINDOW_STATE,VALVE_STATE,VALVE_STATE_ERROR_POSITION,PARTY_MODE,VALVE_STATE_TOO_TIGHT,SWITCH_POINT_OCCURED,FROST_PROTECTION,ACTUAL_TEMPERATURE,SET_POINT_TEMPERATURE,VALVE_STATE_ADJUSTMENT_TOO_BIG,BOOST_MODE,ACTIVE_PROFILE,LEVEL,SET_POINT_MODE,PARTY_TIME_END,LEVEL_STATUS,ACTUAL_TEMPERATURE_STATUS,PARTY_TIME_START config datapoint boost:off,on off:noArg manu on:noArg desired-temp holiday week-program:1,2,3 party auto:noArgbekomme dann diese Fehlermeldung. Habe ich da was falsch verstanden oder ist die Bezeichnung der Taste "temp-5" und nicht  btn2Cmd?

FHEM auf Raspy5 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

erwin

Hi Reinhart!
ich habe gestern begonnen ein Beispiel für KNX ins wiki zu stellen, siehe link in #62, das basiert allerdings auf der version im contrib!
Sollte eigentlich auch für andere DeviceTypen funktionieren, es geht ja "nur" um die entsprechenden readings....
Die in diesem Beispiel gezeigte eventmap behandelt die beiden buttons - und löst das richtige set-cmd aus.
die buttons werden so definert, im widget: <iconname>@<cmd> . .. und das wird mittels eventmap weiterverarbeitet.
l.g. erin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

schwatter

Hallo zusammen,

in dem Zusammenhang habe ich wahrscheinlich einen Bug in der aktuellen contrib-Version gefunden.

Individuell funktioniert nicht richtig mit Fhemsvg, nach dem großen Umbau. Bzw wenn widgetOverride so angelegt ist:
climacontrol:controlminidash,measured-temp,desired-temp,measured-temp@°C,humidity@%,desired-temp@°C,state,#,#,#,#,#,#
@Reinhart

Nutz du die aktuelle contrib-Version? Wenn ja, dann funktionieren Fhemperl-Cmd's gerade nur in Verbindung mit externen SVG's. Hier ein einfaches Beispiel:

defmod tcmdWidget dummy
attr tcmdWidget userattr btn2Cmd btn2Color btn2Icon btn5Cmd btn5Color btn5Icon
attr tcmdWidget btn2Cmd { fhem("set tcmdWidget desired-temp ".(ReadingsVal("tcmdWidget","desired-temp",0)-0.5)) }
attr tcmdWidget btn2Color blue
attr tcmdWidget btn2Icon data:image/svg+xml;;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M19%2C19V5H5V19H19M19%2C3A2%2C2%200%200%2C1%2021%2C5V19A2%2C2%200%200%2C1%2019%2C21H5A2%2C2%200%200%2C1%203%2C19V5C3%2C3.89%203.9%2C3%205%2C3H19M17%2C11V13H7V11H17Z%22%20%2F%3E%3C%2Fsvg%3E
attr tcmdWidget btn5Cmd { fhem("set tcmdWidget desired-temp ".(ReadingsVal("tcmdWidget","desired-temp",0) + 0.5)) }
attr tcmdWidget btn5Color red
attr tcmdWidget btn5Icon data:image/svg+xml;;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M19%2C19V5H5V19H19M19%2C3A2%2C2%200%200%2C1%2021%2C5V19A2%2C2%200%200%2C1%2019%2C21H5A2%2C2%200%200%2C1%203%2C19V5C3%2C3.89%203.9%2C3%205%2C3H19M11%2C7H13V11H17V13H13V17H11V13H7V11H11V7Z%22%20%2F%3E%3C%2Fsvg%3E
attr tcmdWidget readingList measured-temp desired-temp humidity state
attr tcmdWidget room Test
attr tcmdWidget setList measured-temp desired-temp humidity state
attr tcmdWidget webCmd climacontrol
attr tcmdWidget widgetOverride climacontrol:controlminidash,measured-temp,desired-temp,measured-temp@°C,humidity@%,desired-temp@°C,state,#,#,#,#,#,#

setstate tcmdWidget auto - V.45%
setstate tcmdWidget 2025-12-28 14:56:58 desired-temp 20
setstate tcmdWidget 2025-12-28 14:11:59 humidity 55
setstate tcmdWidget 2025-12-28 14:11:52 measured-temp 22
setstate tcmdWidget 2025-12-28 14:57:11 state auto - V.45%


Bzw. der erwin hat da einen Workaround:
https://wiki.fhem.de/wiki/KNX_Device_Definition_-_Beispiele#RaumThermostat_/_HeizungsAktor


Ich schaue es mir an.

Gruß schwatter

schwatter

Hallo zusammen,

im contrib ist ein weiteres Update:

  • Setbefehle mit mehr als einem String --> "set <devicename> boost on"
  • Mit widgetOverride funktionieren jetzt auch Perlbefehle in Verbindung mit userattr. --> fhemsvg@# <-- Hashtag ist dafür der Trigger

Ich hoffe jetzt ist alles abgedeckt.


Installieren mit:
{ Svn_GetFile('contrib/fhemweb_controlminidash.js', 'www/pgm2/fhemweb_controlminidash.js') }


Hier 3 widgetOverride-Beispiele

Fhemicon + Fhemcmd only:
attr tcmdWidget widgetOverride climacontrol:controlminidash,measured-temp,desired-temp,measured-temp@°C,humidity@%,desired-temp@°C,state,#,rc_MINUS@boost.off,#,#,rc_PLUS@boost.on,#
Fhemicon + Fhemcmd bzw. Perlcmd aus userattr
attr tcmdWidget widgetOverride climacontrol:controlminidash,measured-temp,desired-temp,measured-temp@°C,humidity@%,desired-temp@°C,state,#,rc_MINUS@#,#,#,rc_PLUS@#,#
SVG Data URL aus userattr + + Fhemcmd bzw. Perlcmd aus userattr
attr tcmdWidget widgetOverride climacontrol:controlminidash,measured-temp,desired-temp,measured-temp@°C,humidity@%,desired-temp@°C,state,#,#,#,#,#,#

Schmeißt die Beispiele hier in den dummy:
defmod tcmdWidget dummy
attr tcmdWidget userattr btn2Cmd btn2Color btn2Icon btn5Cmd btn5Color btn5Icon
attr tcmdWidget btn2Cmd { fhem("set tcmdWidget desired-temp ".(ReadingsVal("tcmdWidget","desired-temp",0) - 0.5)) }
attr tcmdWidget btn2Color blue
attr tcmdWidget btn2Icon data:image/svg+xml;;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%2C20C7.59%2C20%204%2C16.41%204%2C12C4%2C7.59%207.59%2C4%2012%2C4C16.41%2C4%2020%2C7.59%2020%2C12C20%2C16.41%2016.41%2C20%2012%2C20M12%2C2A10%2C10%200%200%2C0%202%2C12A10%2C10%200%200%2C0%2012%2C22A10%2C10%200%200%2C0%2022%2C12A10%2C10%200%200%2C0%2012%2C2M7%2C13H17V11H7%22%20%2F%3E%3C%2Fsvg%3E
attr tcmdWidget btn5Cmd { fhem("set tcmdWidget desired-temp ".(ReadingsVal("tcmdWidget","desired-temp",0) + 0.5)) }
attr tcmdWidget btn5Color red
attr tcmdWidget btn5Icon data:image/svg+xml;;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%2C20C7.59%2C20%204%2C16.41%204%2C12C4%2C7.59%207.59%2C4%2012%2C4C16.41%2C4%2020%2C7.59%2020%2C12C20%2C16.41%2016.41%2C20%2012%2C20M12%2C2A10%2C10%200%200%2C0%202%2C12A10%2C10%200%200%2C0%2012%2C22A10%2C10%200%200%2C0%2022%2C12A10%2C10%200%200%2C0%2012%2C2M13%2C7H11V11H7V13H11V17H13V13H17V11H13V7Z%22%20%2F%3E%3C%2Fsvg%3E
attr tcmdWidget readingList measured-temp desired-temp humidity state
attr tcmdWidget room Test
attr tcmdWidget setList measured-temp desired-temp humidity state
attr tcmdWidget webCmd climacontrol
attr tcmdWidget widgetOverride climacontrol:controlminidash,measured-temp,desired-temp,measured-temp@°C,humidity@%,desired-temp@°C,state,#,rc_MINUS@boost.off,#,#,rc_PLUS@boost.on,#

setstate tcmdWidget boost on
setstate tcmdWidget 2025-12-28 16:40:00 desired-temp 18.5
setstate tcmdWidget 2025-12-28 14:11:59 humidity 55
setstate tcmdWidget 2025-12-28 15:48:53 measured-temp 22
setstate tcmdWidget 2025-12-28 16:45:38 state boost on




Gruß schwatter