[gelöst]Smartvisu update V3.5

Begonnen von Funsailor, 29 Dezember 2024, 00:03:51

Vorheriges Thema - Nächstes Thema

Funsailor

Hallo Wolfram,
ich habe das update auf smartvisu 3.5 gemacht.
Einige alte "include" Sünden waren noch vorhanden, aber die habe ich ohne Problem lösen können.

Allerding geht die Heizungsanzeige der Homematic Module "HM-TC-IT-WM-W-EU" nicht mehr richtig.
Im Template Checker bekomme ich folgende Fehlermeldung:
    Line 38
    Widget: basic.symbol
    Parameters: id~'windowopen', gad_window, '', icon1~'fts_window_2w_open.svg','open'
    Parameter Index: 3
    Parameter Value: icon1~'fts_window_2w_open.svg
    Checked File: /var/www/html/smartVISU/icons/gn/fts_window_2w_open.svg

Es gab noch nie ein Verzeichnis /var/www/html/smartVISU/icons/gn/ bei mir und mit der 3.4 Version wird das Widget auch richtig angezeigt.

Ich habe das /ws/ Verzeichnis nach /gn/ kopiert, dann wird colorModeWechsel angemeckert... auch dazu finde ich keine Infos...

Hier das Widget:
/**
* Homematic HM-TC Wandthermostat
*
* @param unique id for this widget
* @param name of the rtr
* @param a gad/item for the actual temperature
* @param a gad/item for the set temperature
* @param a gad/item for auto / manual
* @param a gad/item for boost
* @param a gad/item for battery
* @param a gad/item for the current state of the actor
* @param a gad/item for a text (for boost-time), (optional)
* @param step for plus/minus buttons (optional, default 0.5)
* @param show_auto_man flag to show/hide control for auto / manual

{% 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,
*/

{% macro hmtc(id, txt, gad_actual, gad_set, gad_controlmode, gad_daytemp, gad_nighttemp, gad_window, gad_battery_therm,gad_state, gad_txt, step, gad_valve, gad_humidity, show_auto_man, min_temp, max_temp,gad_battery_vent,gad_ModeWechsel,colorModeWechsel) %}
    <div id="{{ uid(page, id) }}" data-widget="device.hmtc" data-step="{{ step|default(0.5) }}"
        class="rtr" min_temp="{{ min_temp | default(5.0) }}" max_temp="{{ max_temp | default(30.0) }}">
            <div style="font-size:1.1em">Isttemperatur:&nbsp;{{ basic.print(id~'actual', gad_actual, '°C' ) }}
            </div>
            <div class="actual">
            {% if gad_window %}
                {{ basic.symbol(id~'windowopen', gad_window, '', icon1~'fts_window_2w_open.svg','open') }}
                {{ basic.symbol(id~'windowclose', gad_window, '', icon0~'fts_window_2w.svg','closed') }}
            {% endif %}
            {% if gad_battery_therm %}<style="font-size:0.4em">Thermostat:{{ icon.battery(id~'battery_h', '', gad_battery_therm, '2.2', '3') }}{% endif %}
            {% if gad_battery_vent %}<style="font-size:0.4em">Ventil:{{icon.battery(id~'battery_v', '', gad_battery_vent, '2.2', '3') }}{% endif %}
            </div>
            {% if gad_humidity %}<div style="font-size:0.8em">Luftfeuchte:&nbsp;{{ basic.print(id~'humidity', gad_humidity) }}%</div>{% endif %}
            {% if gad_valve %}<div style="font-size:0.8em">Ventil:&nbsp;{{ basic.print(id~'valve', gad_valve) }}%</div>{% endif %}       
            {% if txt %}
            <div class="text">
              {{ txt }} {{ basic.print(id~'controlmode', gad_controlmode) }} {% if gad_txt %}{{ basic.print(id~'txt', gad_txt) }}{% endif %}
            </div>
            {% else %}
        {{ basic.symbol('',gad_controlmode,'', ['sani_heating_automatic.svg', 'sani_heating_manual.svg'],['auto', 'manual'],'',colorModeWechsel) }}                                                     
            {% endif %}
      <div class="DayNight">
            {% if gad_daytemp %} Tagestemperatur: {{ basic.print(id~'daytemp', gad_daytemp) }}  {% endif %}
            {% if gad_nighttemp %} &nbsp; Nachttemperatur:{{ basic.print(id~'nighttemp', gad_nighttemp) }} {% endif %}
            </div>
/**                        
      <div class="MinMaxTemp">
            {% if min_temp %} Untere Grenze: {{ basic.print('', min_temp) }}  {% endif %}
            {% if max_temp %} &nbsp; Obere Grenze:{{ basic.print('', max_temp) }} {% endif %}
            </div>            
*/            
              
      <br>           
         {% if gad_set %}
          <div class="set">       
            {{ basic.offset('', item_offset|default(gad_set), -(step|default(0.5)), 'minus', '', 'micro' ) }}           
              <div class="temp">{{ basic.print('', gad_set, '°C' ) }}</div>
             {{ basic.offset('', item_offset|default(gad_set), step|default(0.5), 'plus', '', 'micro' ) }}           
          </div>
         {% endif %}
        </br>
/**
      <br>
    {{ basic.select('', gad_controlmode, 'mini', ['auto', 'manual', 'day', 'night','boost'], ['sani_heating_automatic.svg', 'sani_heating_manual.svg','scene_day.svg','scene_night.svg','sani_heating_boost.svg']) }}
      </br>
*/
        <div class="control">
            <table align="center" cellpadding="0">
                <tr>
/**
                  {% if show_auto_man|default(true) %}                
                  {% if gad_ModeWechsel %}
*/                 
                  {% if show_auto_man %}
                  <td>
            {{ basic.symbol('',gad_ModeWechsel,'', ['sani_heating_automatic.svg', 'sani_heating_manual.svg','scene_day.svg','scene_night.svg','sani_heating_boost.svg'],['set_auto', 'set_manual','set_day', 'set_night', 'set_boost'],'','#F00') }}                                         
          </td>
                 {% endif %}  
                </tr>
       
<a href="#popup1" data-rel="popup">
 {{ basic.symbol('',gad_ModeWechsel,'', ['sani_heating_automatic.svg', 'sani_heating_manual.svg','scene_day.svg','scene_night.svg','sani_heating_boost.svg'],['set_auto', 'set_manual','set_day', 'set_night', 'set_boost'],'','#0F0')}}
</a>
<div id="popup1" data-role="popup">
<a href="#" data-rel="back" data-role="button" data-icon="delete" data-iconpos="notext" class="ui-btn-right">Close</a>
<div>
  {{ basic.select('', gad_controlmode, 'mini', ['auto', 'manual', 'day', 'night','boost'], ['sani_heating_automatic.svg', 'sani_heating_manual.svg','scene_day.svg','scene_night.svg','sani_heating_boost.svg']) }}
</div>
</div>
   
               

               
               
            </table>
        </div>       
    </div>
{% endmacro %}

Kann mir da jemand auf die Srünge helfen?
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -

wvhn

#1
Moin Funsailor,

,,icons/gn" als Pfadname ist ein Relikt aus alten Zeiten und wird in einzelnen Designs als Pfadvariable 'icon1' gesetzt. Es gibt aber kaum noch einen Grund, die Pfade icon0 und icon1 in den Widgets zu verwenden. Allerdings wird ,,icons/gn" in den Widgets aufgelöst und mir ist nicht bewusst, dass sich im Handling der icons zwischen v3.4 und v3.5 etwas geändert hätte.
Bist Du sicher, dass dies das Problem in dem Widget ist? Was genau funzt denn nicht richtig?

Die beiden basic.symbol für window open/close kannst Du zu einem zusammenfassen, die Pfadangaben vor dem icon weglassen und stattdessen den Parameter für die Farbe mit ['icon0', 'icon1'] belegen.

Gruß
Wolfram

EDIT: innerhalb von Widgets müssen die dort verwendeten Widgets (schon immer) neu importiert werden:
{% import "@widgets/basic.html" as basic %}
Ich denke, das ist hier die Ursache.


Funsailor

#2
Hallo Wolfram,
vielen Dank für deine schnelle Hilfe.
Der Fehler war, das die Symbole und die Werte nicht richtig angezeigt wurden, es war nur der Text zu sehen.
Du darfst diesen Dateianhang nicht ansehen.

Mit der Zeile:
{% import "@widgets/basic.html" as basic %}funktioniert das Widget nun wie früher.
Du darfst diesen Dateianhang nicht ansehen.
Ich habe das aber nochmals mit der 3.4er Version gecheckt, dort wird die Codezeile für den Import der "basic,html" nicht benötigt.
Das Verzeichnis "/icons/gn" habe ich auch wieder entfernt.
Ich wünsche allen einen guten Rutsch ins neue Jahr und viel Erfolg bei euren geplanten Projekten

Gruß
Michael
- Asus PN 41- mapleCul V1.24.01 - FHEMDuino - FHEM 6.2 - HUE Bridge - ESPEasy Bridge -  Milight HUB - smartVISU 3.40 -