Ankündigung

Einklappen
Keine Ankündigung bisher.

Umstieg auf smartVISU2.9 basic.symbol Probleme

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Umstieg auf smartVISU2.9 basic.symbol Probleme

    Hallo liebe Community,

    langsam werde ich wahnsinnig Seit Tagen probiere ich immer wieder neue Konstellationen aus, um meine Werte für Präsensmelder, Reedkontakte und Heizungsstatus mit dem Widget basic.symbol korrekt anzuzeigen... Ich bekomme es einfach nicht gebacken und sehe den Fehler nicht.

    Ich bin von smartVISU 2.8 auf smartVISU 2.9 umgestiegen und bin nun dabei nach und nach alle obsoleten Widgets zu ersetzen.
    Bei den basic.symbol Versuche ich ein Widget zu verwenden welches den Status 1,0 automatisch anpasst.

    Bisher 2.8 hatte ich einfach zwei Widgets hintereinander:

    HTML-Code:
                <table align="right">
                    <tr>
                        <td>{{ basic.float('temp_bad', 'DG.temperatur.bad.ist', '°C') }}
                            {{ basic.symbol('s08', 'DG.temperatur.bad.status', '', 'sani_heating.svg', 1, '', 'icon1') }}
                            {{ basic.symbol('s09', 'DG.temperatur.bad.status', '', 'sani_heating.svg', 0) }}
                        </td>
                        <td>{{ basic.switch('DG.Bad.praesens', 'DG.sicherheit.bad.pm', 'message_presence_active.svg', 'message_presence_inactive.svg') }}</td>
                        <td>{{ basic.symbol('s10', 'DG.sicherheit.bad.fenster', '', 'fts_window_1w.svg', 1) }}
                            {{ basic.symbol('s11', 'DG.sicherheit.bad.fenster', '', 'fts_window_1w_open.svg', 0, '', 'icon1') }}</td>
                    </tr>
                </table>
    nun möchte ich meinen Quellcode optimieren. Ich hoffe mir kann jemand weiterhelfen was an der Syntax nicht passt.

    HTML-Code:
                <table>
                    <tr>
                        <td>
                            {{ basic.print('', 'DG.temperatur.bad.ist', '°C') }}
                            {{ basic.symbol('', DG.temperatur.bad.status, '', sani_heating.svg, [1,0], '', ['icon0','icon1']) }}
                        </td>
                        <td>
                            {{ basic.symbol('', DG.sicherheit.bad.pm, '', ['message_presence_active.svg','message_presence_inactive.svg'], [1,0], '', ['icon0','icon1']) }}
                        </td>
                        <td>
    {{ basic.symbol('', DG.sicherheit.bad.fenster, ['Fenster geschlossen', 'Fenster offen'], ['fts_window_1w.svg','fts_window_1w_open.svg'], [1,0], '', ['icon0','icon1']) }}
                        </td>
                    </tr>
                </table>
    Was ich mit Sicherheit sagen kann ist, dass die Objekte existieren und auch richtig verknüpft sind. In der SmartVISU2.8 Instanz funktioniert es.

    Ich bedanke mich schon vorab für eure Hilfe.

    Gruß



    update:
    Hab jetzt sicherheitshalber doch nochmal die Items von smarthome.py gecheckt und pyhsikalisch die Reedkontakte. Physikalisch passt alles. Aber anscheinend kommen die Wertänderungen auf dem Server nicht an .. Hier hab ich natürlich auch auf die aktuelle Version geupdatet. Liegt hier der Fehler? Der Status der Heizung funktioniert allerdings.

    Code:
    DG:
        sicherheit:
            bad:
                name: Reedkontakt Fenster Bad
                fenster:
                    knx_dpt: 1
                    type: bool
                    visu_acl: rw
                    enforce_updates: 'true'
                    knx_init: 25/1/30
                    knx_listen: 25/1/30
                pm:
                    name: Bad
                    knx_dpt: 1
                    type: bool
                    visu_acl: rw
                    enforce_updates: 'true'
                    knx_init: 25/1/0
                    knx_listen: 25/1/0
    funktioniert:
    Code:
    [...]
    DG.temperatur.bad.
    ....
                status:
                    name: Status Heizen
                    knx_dpt: 1
                    type: bool
                    visu_acl: rw
                    enforce_updates: 'true'
                    knx_init: 15/1/16
                    knx_listen: 15/1/16
    Zuletzt geändert von floho; 16.11.2019, 14:19.

    #2
    Ganz dumme Idee: Mach mal ein Leerzeichen vor und hinter das Komma:
    PHP-Code:
    [0
    Zuletzt geändert von Kunkrab; 16.11.2019, 15:08.

    Kommentar


      #3
      Zitat von Kunkrab Beitrag anzeigen
      Ganz dumme Idee: Mach mal ein Leerzeichen vor und hinter das Komma:
      PHP-Code:
      [0
      Und wozu?

      floho hast du mal den Template Checker laufen lassen (im Menü unter Konfiguration)?

      Kommentar


        #4
        Zitat von Kunkrab Beitrag anzeigen
        Ganz dumme Idee: Mach mal ein Leerzeichen vor und hinter das Komma:
        PHP-Code:
        [0
        Habe ich ausprobiert: funktioniert leider nicht.


        Zitat von smai Beitrag anzeigen
        hast du mal den Template Checker laufen lassen (im Menü unter Konfiguration)?
        Der TemplateChecker zeigt in keiner Datei Fehler an. Alles "grün" und "checked".
        Dieses Feature habe ich genutzt um zügig die obsoleten Widgets zu finden - an sich ein echt cooles Werkzeug! ;-)

        Kommentar


          #5
          probier mal:
          Code:
          {{ basic.symbol('', 'DG.sicherheit.bad.fenster', ['Fenster geschlossen', 'Fenster offen'], ['fts_window_1w.svg','fts_window_1w_open.svg'], [0, 1], '', ['icon0','icon1']) }}

          Kommentar


            #6
            Jetzt seh' ich es auch, KleskMS hat natürlich recht. Es fehlen die   '  beim Item.
            Dass der Template Checker dies nicht moniert ist eigentlich nicht so gut. Ich habe einen Issue 238 erfasst, damit das in Zukunft vielleicht einmal eingebaut wird.

            Die Werte 0,1 hingegen musst du nicht tauschen.

            Kommentar


              #7
              Okay! Das scheint ein Bug zu sein ;-)

              Wir belassen es nun erstmal beim Beispiel von Status Heizen im Bad:

              Code:
              {{ basic.symbol('', 'DG.temperatur.bad.status', '', 'sani_heating.svg', [0, 1], '', ['icon0','icon1']) }}
              Hiermit funktioniert es! Fantastisch.

              Reedkontakte und PMs werde ich in den folgenden Tagen ausprobieren.


              Kommentar


                #8
                Zitat von floho Beitrag anzeigen
                Das scheint ein Bug zu sein
                Als Bug würde ich das nicht bezeichnen, nur als wünschenswertes Feature.
                Es ist auch nicht ganz einfach zu implementieren, sonst hätte ich es gleich getan. Neben Strings sind ja durchaus auch Twig-Variablen und andere Expression als Parameter erlaubt.

                Kommentar


                  #9
                  Hallo smai ,
                  eine ähnliche Sache ist mir kürzlich im Template Checker aufgefallen. Das Verhalten betrifft mindestens das Widget basic.switch. Hier gibt es komfortabler Weise einen Hinweis auf das Replacement des deprecated widgets, bei dem auch die Hochkommata für das Item, die optionale id sowie die svgs fehlen.
                  Beispiel:
                  Code:
                  Deprecated widget: basic.switch('S2Act2', 'Enocean.actor1B.light', 'light_cabinet.svg', 'light_cabinet.svg')
                  
                  Replacement: {{ basic.stateswitch(S2Act2, Enocean.actor1B.light, 'icon', ['1', '0'], [light_cabinet.svg, light_cabinet.svg], '', ['icon1', 'icon0']) }}
                  VG Alex

                  Kommentar


                    #10
                    DAS hingegen ist natürlich schlecht bzw. ein Bug. Leider ist aber auch dies nicht ganz trivial zu beheben.

                    Kommentar


                      #11
                      Stimmt. Jetzt wo ich es sehe ist es mir auch aufgefallen. Daher hatte ich es wohl ohne ' bei basic.symbol versucht.

                      Nichtsdestrotz: Ich finde ihr macht eine klasse Arbeit - Vielen Danke & weiter so ;-)

                      Kommentar

                      Lädt...
                      X