SmartVISU 3.0 -> 3.01

Begonnen von Funsailor, 04 Februar 2021, 01:16:07

Vorheriges Thema - Nächstes Thema

Sailor

Hallo Michael

Danke für deine Info!
Ich komme Schritt für Schritt weiter.

Zitat von: Funsailor am 05 Februar 2021, 11:07:48
Das Widget habe ich schon erweitert, hier der Aufruf:

{{homematic.hmtc('KelleFlur_Heizung','KellerFlur','KellerFlur_Heizung.Temp.sw','KellerFlur_Heizung.set','KellerFlur_Heizung.controlmode','KellerFlur_Heizung.daytemp' ,'KellerFlur_Heizung.nighttemp' ,'' ,'KellerFlur_Heizung._battery','KellerFlur_Ventil._battery','KellerFlur_Heizung.state' ,'',''   ,'KellerFlur_Heizung.valve','KellerFlur_Heizung.humidity') }}



Hierzu habe ich eine Frage

Womit verknüpfst du die Parameter? - Teilweise kann ich mir das vorstellen, aber im Detail bin ich noch verwirrt.

Ich habe folgende Topologie
Prefix "xx_" zeichnet den Raum aus z.B.: "GR_" zeichnet den GuestRoom aus

"GR_Thermostat" ist der Homematic Wand-Thermostat HM-TC-IT-WM-W-EU
"GR_Thermostat_Climate" ist der _Climate - Kanal des Homematic Wand-Thermostat
"GR_Radiator" ist das Homematic Heizkoerperventil HM-CC-RT-DN
"GR_Window" ist der Homematic Fenstersensor HM-SEC-SC-2

Demnach habe ich gedacht das


'KellerFlur_Heizung' - ???
'KellerFlur_Heizung.Temp.sw' - GR_Thermostat_Climate:desired-temp
'KellerFlur_Heizung.set' - ???
'KellerFlur_Heizung.controlmode' - GR_Thermostat_Climate:controlMode
'KellerFlur_Heizung.daytemp' - GR_Thermostat_Climate:R-dayTemp
'KellerFlur_Heizung.nighttemp' - GR_Thermostat_Climate:R-nightTemp
'KellerFlur_Heizung._battery' - GR_Thermostat:batteryLevel
'KellerFlur_Ventil._battery' - GR_Radiator:batteryLevel
'KellerFlur_Heizung.state' - ???
'KellerFlur_Heizung.valve' - GR_Radiator_Clima:ValvePosition
'KellerFlur_Heizung.humidity' - GR_Thermostat_Climate:humidity


Liege ich da richtig? Und wenn ja, was muss in die ??? - Felder?

Danke

Gruß
    Sailor
******************************
Man wird immer besser...

Funsailor

#16
Hallo Sailor,
sorry, habe deine Antwort erst eben gelesen. Bin im Moment beim Verlegen vom Netzwerkkabel im Haus. Bisher ging das über mehrere Switches. Und es ist gar nicht so einfach in einem 30 Jahre altem Haus die "Route" vom Hafen (Switch ) zur Bucht (Netzwerkdose)  ;) zu finden.
Dadurch blieb das Widget (und andere Projekte) liegen, es ist besser geworden, aber immer noch nicht so das es mir endgültig gefällt.

Aber zu deinen Fragen:

'KellerFlur_Heizung'        ist das "unique id for this widget" und optional ... kann auch leer bleiben
'KellerFlur_Heizung.set' device: GR_Thermostat_Climate
                                        reading: desired-temp
                                        converter: Direct
                                        set: desired-temp
'KellerFlur_Heizung.state'    device: GR_Thermostat
                                        reading:  Activity
                                        converter: Direct


Allerdings waren das nur die Parameter für den ersten Entwurf des Widgets.

Jetzt sieht das Widget so aus wie im Bild HMTC_SmartVISU_01.
Das neue Widget habe ich auch angehängt.

Der Aufruf ist ein wenig länger geworden:
Zitat{{homematic.hmtc('KelleFlur_Heizung','','KellerFlur_Heizung.Temp.sw','KellerFlur_Heizung.set','KellerFlur_Heizung.controlmode','KellerFlur_Heizung.daytemp','KellerFlur_Heizung.nighttemp','','KellerFlur_Heizung.battery','KellerFlur_Heizung.state','','','KellerFlur_Heizung.valve','KellerFlur_Heizung.humidity','','15','28','KellerFlur_Ventil.battery','KellerFlur_Heizung.ModeWechsel','#f00') }}

Das meiste ist selbserklärend und im Widget sind einige "if / else" drin. Auch die Farbe der Modeanzeige (Bei mir rot) kann im Aufruf angepasst werden (colorModeWechsel)

Der "gad_ModeWechsel" reagiert auf ein Notify:

define SendControlModeUG_Flur notify
UG_FlurThermostat_Climate.controlMode:.* {
   my $CtrlMode =  (ReadingsVal("UG_FlurThermostat_Climate","controlMode",""));;
   if (($CtrlMode eq ("set_day"))or($CtrlMode eq ("set_night")) or($CtrlMode eq ("set_auto"))or($CtrlMode eq ("set_manual"))or($CtrlMode eq ("set_boost")))
   {
     Log(0,"Log2UG_FlurThermostat wird umgestellt:".$CtrlMode."<--");;
     fhem("set DummyModeThermostatKellerFlur $EVTPART1");;
     }
    }

und ein dummy (hier der List)

Internals:
   FUUID      602aeca4-f33f-088a-8bb7-818fb53b6f7857f0
   NAME       DummyModeThermostatKellerFlur
   NR         663
   STATE      set_night
   TYPE       dummy
   READINGS:
     2021-02-16 23:43:26   set_auto       
     2021-02-16 23:43:21   set_boost       
     2021-02-16 23:43:34   set_day         
     2021-02-16 23:43:29   set_night       
     2021-03-24 22:18:23   state           set_night
Attributes:
   setList    set_night set_day set_auto set_boost set_manual
   userReadings set_night set_day set_auto set_boost,set_manual


Einstellen musst du
Zitat
KellerFlur_Heizung.ModeWechsel
                                device: DummyModeThermostatKellerFlur
                                reading: state
                                converter: direct

Was mir nicht gefällt:
1. Für jedes Thermostat muss ein dummy und ein notify erstellt werden, das will ich (wenn ich mal viel Zeit habe) in die 99_myUtils verlegen.
2. Mit dem Notify filtere ich die "set_" Änderungen heraus und zeige an, mit welchem Mode die Temperatur geändert wurde. Wenn irgendwann der Wochenplan zuschlägt, sehe man das nicht. Darüber muss ich mir auch nochmal Gedanken machen.
Und vieleicht noch ein Party Mode einbauen.

Außerdem benötigst du noch die Icons.  Die sani_heating_boost.svg_sw gehört in den Ordner /var/www/html/smartVISU/icons/sw und muss dann in Die sani_heating_boost.svg umbenannt werden.
Das gilt auch für die Die sani_heating_boost.svg_ws...

Die Modeanzeige kann man auch als Text darstellen, dann einfach den zweiten Parameter einfügen.
Mit Symbol:
homematic.hmtc('KelleFlur_Heizung','','KellerFlur_Heizung.Temp.sw','
Mit Text:
homematic.hmtc('KelleFlur_Heizung','KellerFlur','KellerFlur_Heizung.Temp.sw','

Ansonsten viel Spaß und wenn du Fragen hast, melde dich.
Gruß
Michael
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -