Da mich seit einiger Zeit ein kleines orangefarbenes Dreieck auf ein Update von SmartVISU hingewiesen hat, habe ich das mal durchgezogen.
Den Master Branch von Martin https://github.com/Martin-Gleiss/smartvisu geholt, entpackt und "installiert" .
Danach meine Wohnung von der 2.92 er Version in das "pages-Verzeichnis kopiert, ebenso die Config.ini.
Den Kalender musste ich diesmal nicht anpassen (siehe https://forum.fhem.de/index.php/topic,112203.0.html), allerdings funktioniert die Telefonliste wieder nicht. Da habe ich dann wieder die "alte" fritz!box_TR-064.php Datei genommen,damit gibt es keine robleme.
Nach ein wenig Fleißarbeit (alle basic.switch in basic.stateswitch, alle basic.float und basic.value in basic.print geändert) lief dann fast alles wieder rund. Nur das Homematic hmtc widget bekomme ich nicht hin...
Ich habe die widget_homematic.html so angepasst, das der die Kiste beim "betreten" des Raumes mit einem hmtc nicht mehr abstürzt. Allerdings funktioniert das nicht wie gewünscht. Die basic.stateswitch schalten den Status nicht um, die Voreingestellten Temperaturen werden nicht übergeben sondern stehe als Text hinter den Symbolen. Mir ist das jetzt zu spät, meine bisherigen Ergebnisse könnt Ihr euch mal ansehen, vielleicht sieht einer von euch den Wurm bzw. die Würmer.
Die Übergabe der Parameter funktioniert so weit, ich kann die 3er Version von der 292er Seite steuern, aber nicht umgekehrt.
Meine ausführliche Antwort hierzu hat mir die Forensoftware gerade gelöscht, weil ich beim Zurückschalten aus der Vorschau wohl vergessen habe, die Hauptstadt von Frankreich zu benennen. Tolles Feature >:(
Deshalb nur kurz: Wahrscheinlich enthält das Widget noch Aufrufe von veralteten Widgets, die in v3.0 gelöscht wurden. Oder aber es nutzt das veraltete Handling von Widgets, das ebenfalls in v3.0 gelöscht wurde.
Letzteres ist definitiv der Fall, wenn Du beim Aufruf des Widgets in v2.9 schon die Meldung "Plain old smartVISU widgets are deprecated. Use a jQuery widget based on $.sv.widget instead" in der Entwicklerkonsole des Browsers bekommen hast.
In beiden Fällen muss das Widget auf den aktuellen, zu v3.0 kompatiblen Stand gebracht werden.
Gruß
Wolfram
Hallo Wolfram,
schön auch hier von dir zu hören ;) .
Ich bin gerade am htmc widget dran, habe es so weit schon am laufen. Allerdings funktioniert noch nicht alles wie ich es mir vorstelle.
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') }}
|
Ich übermittle zusätzlich die eingestellte Tag - und Nachttemperatur sowie den Zustand der Ventilbatterie.
Im Moment versuche ich den stateswitch zu überreden, die Tages/Nachttemperatur zu übertragen (Im altem Widget war da Fix 17 und 21 Grad vorgegeben)
Fix: {{ basic.stateswitch(id~'night', gad_set, 'icon', ['21',17'], icon0~'scene_night.svg') }} Versuch: {{ basic.stateswitch(id~'night', gad_set, 'icon', ['day','night'], icon0~'scene_night.svg') }}
|
Ist es hier:"..., 'icon', ['21',17'], " überhaupt möglich, eine Variable zu übergeben? Ich denke eher nicht.
Die Fixe Version funktioniert, das wird im FHEM.Monitor angezeigt:
Zitat2021-02-05 11:03:36.921 CUL_HM UG_FlurThermostat_Climate set_desired-temp 21
Ich habe auchschon mir den Variablen "[gad_daytemp, gad_nighttemp]" versucht (mit und ohne ' '), geht auch nicht.
Ist aber nicht so toll, ich habe im Kellervorraum ander Tag/Nachtwerte wie im OG.... :(
Im Anhang man ein Screenshot vom aktuellem Widget und die Widget Datei.
Grüße
Michael
Der stateswitch selbst kann nur mit festen Werten umgehen: [17,21]. Du kannst dem hmtc Widget aber die Temperaturen als zusätzliche Parameter mitgeben - in Deinem Fall 'day' und 'night'. Die hängst Du am besten hinten an die Parameterliste, denn dann laufen die bisherigen Seiten der Anwender ungestört weiter:
{% macro hmtc(id, txt, gad_actual, gad_set, gad_controlmode, gad_daytemp, gad_nighttemp, gad_window, gad_battery_therm,gad_battery_vent ,gad_state, gad_txt, step, gad_valve, gad_humidity, show_auto_man, min_temp, max_temp, day, night) %}
Du rufst das Widget dann auf mit
{{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', '21', '17') }}
Die twig Template Engine fügt die Parameter in den stateswitch ein, wenn dieser so aufgerufen wird
{{ basic.stateswitch(id~'night', gad_set, 'icon', [day, night], 'scene_night') }}
Besser ist es noch, dem Widget default-Werte mitzugeben:
{{ basic.stateswitch(id~'night', gad_set, 'icon', [day|default('21'), night|default('17')], 'scene_night') }}
Damit der Template Checker das Widget korrekt verarbeiten kann, solltest Du die "Docstrings" noch pflegen, also die Parameter vervollständigen und die item-Typen gleich mit angeben.
Gruß
Wolfram
ZitatMeine ausführliche Antwort hierzu hat mir die Forensoftware gerade gelöscht, weil ich beim Zurückschalten aus der Vorschau wohl vergessen habe, die Hauptstadt von Frankreich zu benennen. Tolles Feature >:(
Wird nur bei Newbies abgefragt :) Wird also mit steigender Beteiligung besser.
Herzlich Willkommen! und Danke für Deine Introduction (https://forum.fhem.de/index.php/topic,118508.0.html)
Hallo Wolfram,
das ist leider nur die halbe Miete, die Tag/Nachttemperaturen sind im Gerät abgelegt /einstellbar und die Werte möchte ich gerne nehmen. Ansonsten müsste ich dann bei Änderungen die Seite bearbeiten. Oder das Widget so änpassen, das diese Temperatur auch über SmartVisu geändert werden können.
Sinnvoller ist es wohl, hier eine Umschaltung des Modes Tag/Nacht auszulösen. Da bin ich jetzt am testen.
Gruß
Michael
Moin Michael,
Wenn die Sollwerte im Gerät gespeichert sind, reicht es ja sicherlich aus, im Gerät den Tag/Nachtmodus umzuschalten. Oder müssen zwingend Sollwerte übermittelt werden? Ging das in v2.9 schon mal?
Wenn Sollwerte verändert werden sollen, ist das neue Widget device.rtrslider geeignet.
Gruß
Wolfram
Hallo Wolfgang,
in der 2.9er Version wurden die Temperaturen, die im Widdget vorgegeben wurde, umgestellt (17/21). Davon will ich weg.
Ich habe das jetzte mit der Modumschaltung gemacht, für das Anzeigen der Symbole ist aber das Verhalten der HM-TC-IT-WM-W-EU Thermostate wenig dienlich.
Mit "set_night" wird das Symbol (kann ich im Moment nicht genau sagen, mach das via VPN) umgeschaltet und die Temperatur gesetzt (bei mir18°). Dann springt das Thermostat wieder in den vorherigen Mode.
Starte mit Manuellem Mode:
2021-02-06 12:51:22.207 CUL_HM UG_FlurThermostat_Climate controlMode: set_night
2021-02-06 12:51:23.481 CUL_HM UG_FlurThermostat_Climate boostTime: -
2021-02-06 12:51:23.481 CUL_HM UG_FlurThermostat_Climate commReporting: off
2021-02-06 12:51:23.481 CUL_HM UG_FlurThermostat_Climate controlMode: manual
2021-02-06 12:51:23.481 CUL_HM UG_FlurThermostat_Climate desired-temp: 18.0
2021-02-06 12:51:23.481 CUL_HM UG_FlurThermostat_Climate T: 17.0 desired: 18.0
2021-02-06 12:51:23.481 CUL_HM UG_FlurThermostat_Climate winOpenReporting: off
Ich wollte eigentlich das weiße Symbol (Inaktiv) haben und wenn Night/Day eingestellt ist, das entsprechende Symbol in grün (Aktiv) darstellen.
Da bin ich jetzt am suchen, habe aber noch keinen richtigen Plan.....
Wenn der Mode Night eingestellt wurde, soll das Symbol aktiv werden und bei set_day, set_manual, set_auto wieder inaktiv
Beim Boost funktioniert der Thermostat wie gewünscht.
set_boost, boost, ..... nach der Boosttime ... auto/manuell
Grüße
Michael
Hallo
da ich nun auch den Sprung auf smartVISU 3.01 gemacht habe, passe ich den Titel an. Ich hoffe das ist nicht gegen alle Geflogenheiten, wenn doch bitte Bescheid sagen
Gruß
Michael
Hallo,
ich komme hier nicht weiter und hoffe auf Eure Hilfe.
Ich bekomme den basic.flip nicht zum Laufen, >:(
wohingegen der basic.stateswitch mit demgleichen Schalter und dengleichen Frinthem-Einstellungen funktioniert: :)
funktioniert nicht vollständig:
{{ basic.flip('', 'FlurLicht.unten', 'an', 'aus', 'on', 'off') }}
funktioniert:
{{ basic.stateswitch('', 'FlurLicht.unten', 'midi', '', '', ['aus','an']) }}
Der basic.flip schaltet zwar die Lampe, die Darstellung bleibt aber auf aus und dunkel.
Woran liegt das ?
Mein System:
smartVisu, Version 3.01
Treiber Datenquelle: FHEM
Fronthem GAD: item, reading=state, converter=OnOff, cmd set=toggle, permissions read/write
Tausend Dank für jeden zielführenden Hinweis !
Viele Grüße
Tom
Grüße,
Du hast da einen Denkfehler. Der Converter "OnOff" von fronthem übersetzt das "on"/"off" von FHEM in "1"/"0" für die smartVISU, und umgekehrt. In der smartVISU kommen also die Zustände "on"/"off" nicht vor.
Daher so:
{{ basic.flip('', 'FlurLicht.unten', 'an', 'aus', '1', '0') }}
Moin zusammen
Verstaendnisfrage: Ich bin gerade dabei SmartVISU erstmals aufzusetzen.
Dabei dachte ich: Verwende man nicht die "cleaninstall" der Version 2.7 sondern clone dir gleich die 3.01.
Scheinbar gibt es dort einige Dateien nicht wie die "config.ini"
Habe ich da etwas falsch gedacht oder muss ich erst die Installation mit
git clone https://github.com/herrmannj/smartvisu-cleaninstall.git
machen und dann erst
git clone https://github.com/Martin-Gleiss/smartvisu
drüber installieren.
Danke für Eure Hilfe!
Gruß
Sailor
Hallo Sailor,
wenn du das erste mal smartVISU aufrufst, wird eine Seite mit der Configauswahl angezeigt. Dort "Config" auswählen und dort deine Einstellungen vornehmen. Mit "Save settings" wird die Config.ini erzeugt.
Bei Fragen zu SmartVISU ohne FHEM Problemstellungen ist das KNX Forum sehr hilfreich, z.B.:
https://knx-user-forum.de/forum/supportforen/smartvisu/1506222-smartvisu-config-ini-kann-nicht-erstellt-werden
Gruß
Der "lustige Segler"
Michael
Hi Michael
Zitat von: Funsailor am 11 März 2021, 23:22:15
wenn du das erste mal smartVISU aufrufst, wird eine Seite mit der Configauswahl angezeigt. Dort "Config" auswählen und dort deine Einstellungen vornehmen. Mit "Save settings" wird die Config.ini erzeugt.
Bei Fragen zu SmartVISU ohne FHEM Problemstellungen ist das KNX Forum sehr hilfreich, z.B.:
https://knx-user-forum.de/forum/supportforen/smartvisu/1506222-smartvisu-config-ini-kann-nicht-erstellt-werden
Danke für den Hinweis.
Man sollte evtl. irgendwo hinzufügen, dass das Verzeichnis /var/www/smartvisu unter Apache je nach Konfiguration auch /var/www/html/smatrvisu sein kann.
Das hat mich 2 Stunden gekostet herauszufinden...
Und weiter gehts!
Gruß
Sailor
Moin,
das steht zum Beispiel hier: https://knx-user-forum.de/forum/supportforen/smartvisu/1612701-release-smartvisu-v3-0-1
Gruß
Wolfram
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
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