Ankündigung

Einklappen
Keine Ankündigung bisher.

last_change eines Items in SmartVISU darstellen?

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

    last_change eines Items in SmartVISU darstellen?

    Hi,

    kann man von der VISU aus direkt auf last_change eines Items zugreifen, oder muss man da wieder ein Hilfsicon einbauen?

    Ich denke da an z.B. "In Betrieb"-Werte einiger Aktoren oder Temperatur Werte, an denen man erkennen soll, ob das Gerät noch lebt...

    Gruß,
    Thomas
    Zuletzt geändert von TCr82; 05.10.2019, 22:44.

    #2
    Aus der Readme in der Dokumentation:

    Code:
    Starting with SmartHomeNG 1.6 the way attributes can be accessed changed. Instead of using the attributes directly it was extended to accept attributes with .property.. Thus item attribute access changed e.g. from sh.second.sleeping.light.prev_value to sh.second.sleeping.light.property.prev_value(). The philosophy is now to have a getter and a setter if possible.
    
    For this plugin it means that SmartVISU now can access the attributes values, too as shown in the following example (valid for SmartVISU >= 2.9): 
     {{ basic.print( '', 'sh.second.sleeping.light.property.prev_value') }}  {{ basic.print( '', 'sh.second.sleeping.light.property.last_change') }}
    Beispiel:
    Code:
    Internet verbunden seit: {{ basic.print('', 'avm.fritzbox.wan.is_connected.property.last_change', 'short') }}
    ergibt auf der Webseite:
    HTML-Code:
    Internet verbunden seit: 06.10.19 03:19

    Kommentar


      #3
      Danke

      Kommentar


        #4
        Hi,

        Perfekt! Geht Super!
        Zuletzt geändert von kaiwerner; 17.10.2019, 21:59.

        Kommentar


          #5
          Hi Jungs,

          bekomme folgenden Fehler (ShNG 1.8.2/smartVISU 3.1) sobald ich auf ein Property zugreifen möchte:

          Code:
          2021-05-16  00:21:43 WARNING  modules.websocket   Property AttributeError: Client 192.168.178.95:51612 requested to monitor property last_change of item sh.zigbee.fenster_kueche.contact
          Der Rest (Fenster-Zustand, Temp, Aktualisierung via Zigbee,...) funktioniert problemlos.

          Hier der Item Code, in gelb die fragliche Stelle. Ich schaffe es nicht die Stelle in der CODE Umgebung zu kennzeichnen, daher hier einmal separat:

          Code:
          <td>Fenster zuletzt geöffnet/geschlossen {{ basic.print('', 'sh.zigbee.fenster_kueche.contact.property.last_change', 'short') }}</td>
          Und die zigbee.yaml:
          Code:
          zigbee:
              sv_page: room
              name: Küche
              visublock01:
                  name: Fenster
                  sv_blocksize: 3
                  sv_widget: "<table width=90%>
                      <tr>
                      <td>{{ basic.symbol('','zigbee.fenster_kueche.contact', 'Fenster geschlossen', 'fts_window_2w.svg', '', '', 'icon0') }}
                          {{ basic.symbol('','zigbee.fenster_kueche.contact', 'Fenster offen', 'fts_window_2w_open_lr.svg', 0, '', 'icon1') }}</td>
                      </tr>            
                      <tr>
                      <td>Temperatur Fensterbank: {{ basic.print('', 'zigbee.fenster_kueche.temperature') }}°C </td>
                      </tr>
                      <tr>
                      <td>Fenster zuletzt geöffnet/geschlossen {{ basic.print('', 'sh.zigbee.fenster_kueche.contact.property.last_change', 'short') }}</td>
                      </tr>                    
                  </table>"
              
            
              fenster_kueche:
                  hilfs_item:
                      type: dict
                      mqtt_topic_in: 'zigbee2mqtt/fenster_kueche'
                      on_update:
                      - ..contact = value['contact']
                      - ..linkquality = value['linkquality']
                      - ..battery = value['battery']
                      - ..temperature = value['temperature']
                  temperature:
                      type: num
                      visu_acl: ro
                      database: 'yes'
                      cache: 'yes'
                  battery:
                      type: num
                      visu_acl: ro
                  contact:
                      type: bool
                      visu_acl: ro
                      database: 'yes'
                      cache: 'yes'
                  linkquality:
                      type: num
                      visu_acl: ro
          Danke für eure Unterstützung.

          Viele Grüße
          Tommi
          Zuletzt geändert von beckerth; 15.05.2021, 23:36.

          Kommentar


            #6
            Das "sh." vor dem item-Namen ist das Problem. Wenn Du das weglässt, sollte es gehen.
            Der Templatechecker meckert zwar über die Konstrukte item.property.attribut, aber SV bekommt die Werte dennoch korrekt über den Websocket.

            Gruß
            Wolfram

            Kommentar


              #7
              Die Doku war an der Stelle falsch, weil sie die item-Namen im Widgetaufruf mit der internen Adressierung der items in snNG verwechselt hat. Habe einen PR gestellt.

              Gruß
              Wolfram

              Kommentar


                #8
                Funktioniert. Hätte schwören können das ich das mehrfach mit und ohne sh. versucht hatte aber nun klappt es.

                Danke!

                Grüße
                Tommi

                Kommentar

                Lädt...
                X