Hauptmenü

FTUI 2.6

Begonnen von setstate, 11 Februar 2017, 14:59:21

Vorheriges Thema - Nächstes Thema

setstate

Und  KS300 ist der Devicename und nicht nur der Type?

michaelfhem

ja:

define KS300 KS300 1234

Grüße Michi

Leider muss ich jetzt für 2h weg vom Rechner grrr....
raspberry Pi 3 + jessie + fhem
Devices: Fritz Dect 200, Homematic (HMLan-Gateway), FS20 (CUL-Stick), Hue-Gateay, Sonos

setstate

Ich würde es testweise mal umbenennen.

Nobby1805

in #441 schreibst du
Zitatdata-get="temperature" data-part="2"
das ist aber falsch , bei temperature darfst du data-part nicht angeben
      "state": { "Value":"T: 11.7  H: 74  W: 4.1  R: 772.6  IR: no  Wi: 1", "Time":"2017-03-19 11:36:42" },
      "temperature": { "Value":"11.7", "Time":"2017-03-19 11:36:42" },

bei state ist 11.7 der 2. "Wert" aber bei temperature ist es der 1. "Wert" im Value
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

roman1528

Ähnliche Probleme mit den Readings habe ich bei meinem GDS-Widget.

Ich hole mir erst ein Attribut, dann ein Reading (hier wird auch "update-gelauscht"), davon abhängig die anderen Readings.

Attribut (gdsUseAlerts) und erstes Reading (a_count) klappen (mittlerweile wieder)... der Rest wird nicht geholt, geschweigedenn überhaupt von FTUI angefordert (Request-URL).

Ich hatte dir dazu 'ne PN geschickt.

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

setstate

Wenn es nicht angefordert wird, ist es nicht ordentlich als Reading zum Holen angemeldet.
Ansonsten den ShortPollFilter auf .* (alles Setzen), dann dauert es aber länger.

roman1528

Zitat von: setstate am 19 März 2017, 13:01:17
Wenn es nicht angefordert wird, ist es nicht ordentlich als Reading zum Holen angemeldet.

Und das mache ich wie?
me.addReading();???
in der init function? wo ist der unterschied zwischen init und init_attr?

So langsam muss ne "API" Doku her ;D ;D :P

Sonst hab ich es immer mit

elem.data('name', 'reading');
elem.getReading('name').val;

gemacht. Geht plötzlich nicht mehr...

Dazu kommt, dass ich das ganz ein einer for-Schleife habe, weil die Readings sich an einer stelle ändern wenn mehrere Warnmeldungen vorhanden sind.

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

setstate

ja, me.addReading('ReadingName'); für alle Eventualitäten

init wird gerufen, wenn ein Widget initialisiert werden soll. init_attr ist was Individuelles, eine Unterfunktion, die manche Widgets benutzen, um nicht zu viel Spagetticode im Init zu haben. Ist auch so in der widget Base Class definiert. innerhalb von init wird init_attr und init_ui für jedes Element der Schleife gerufen. Wenn ein Widget also kein eigenes init mitbringt, kann es init_attr(elem) und init_ui(elem) implementieren.

roman1528

#458
Zitat von: setstate am 19 März 2017, 13:30:00
ja, me.addReading('ReadingName'); für alle Eventualitäten

na das wird ja ein spaß -.-

Danke

EDIT

Okay... cool... scheint zu laufen. Kann man prüfen ob ein Reading vorhanden oder/und gefüllt ist? Es kommt nämlich vor, dass Readings nicht vorhanden sind und dann das Reading aus dem Chache geladen wird... Das möchte ich vermeiden.

Grüße^^
i3-10305T 4x3GHz;8GB RAM;250GB & 1TB NVMe:
FHEM 6.2;FTUI;8" Tablet's+Fully;NsPanelPro;HUE;ESPRGBWW;HM(CCU3);Duofern; ASC;MQTT(Tasmota);netatmo;SONOS;eBus;DbLog;XiaomiDevice;NUT;ModbusAttr

RPi3+: FHEM 6.2;I²C;GPIO;RFID;G-Tag;XiaomiBTLESens
RPi3: FHEM 6.2;DIY Relais-Board;I²C;GPIO;RFID;Photovoltaik

setstate


elem.getReading('name').valid; ist dann auf false (wird bei jedem ShortPoll ermittelt)

michaelfhem

@nobby:

Danke da hast Du Recht, das war nicht korrekt. Fakt ist:

Anzeigewert ok (aktueller Wert 14.3):
<div data-type="label" data-device="KS300" data-part="2" class="grande"></div>
Anzeigewert nicht ok (alter Wert 13.2):
<div data-type="label" data-device="KS300" data-get="temperature" class="grande"></div>
Anzeigewert nicht ok (alter Wert 13.2):
<div data-type="label" data-device="KS300" data-get="temperature" data-part="1" class="grande"></div>

Ähnliches Verhalten habe ich auch bei anderen Readings mit dem Label widget seit dem Update auf 2.6 vor ca. 2 Wochen. Davor haben alle diesen Readings funktioniert. Seitdem geht nur mehr wenig auf meiner Anzeige.

Grüße
raspberry Pi 3 + jessie + fhem
Devices: Fritz Dect 200, Homematic (HMLan-Gateway), FS20 (CUL-Stick), Hue-Gateay, Sonos

michaelfhem

#461
weiteres Beispiel:

FHEM:
HMS_Keller
State T: 19.9 H: 64.8 Bat: ok D: 13.1
Reading temperature 19.9 2017-03-19 15:42:04

OK (aktueller Wert 19.9)
<div data-type="label" data-device="HMS_Keller" data-part="2" class="grande"></div>
Nicht OK (alter Wert 18.9)
<div data-type="label" data-device="HMS_Keller" data-get="temperature" class="grande"></div>

Anmerkung: jsonlist wurde kurz zuvor gezogen, deshalb ist hier die Temperatur 20 statt 19.9!

jsonlist2:

{
    "Name":"HMS_Keller",
    "PossibleSets":"",
    "PossibleAttrs":"alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 IODev do_not_notify:0,1 showtime:0,1 model:hms100-t,hms100-tf,hms100-wd,hms100-mg,hms100-tfk,rm100-2,hms100-co,hms100-fit ignore:0,1 event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading cmdIcon devStateIcon devStateStyle fhem_widget_command fp_Energiefloor fp_Groundfloor fp_Groundfloor.image fp_Handyfloor fp_Mobilityfloor icon lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0 sortby webCmd widgetOverride userattr",
    "Internals": {
      "CODE": "72b2",
      "CUL_MSGCNT": "165",
      "CUL_RAWMSG": "810e04xx0510a00172b2000000002265",
      "CUL_RSSI": "-76.5",
      "CUL_TIME": "2017-03-19 15:36:51",
      "DEF": "72b2",
      "LASTInputDev": "CUL",
      "MSGCNT": "165",
      "NAME": "HMS_Keller",
      "NR": "702",
      "STATE": "T: 20  H: 65.2  Bat: ok D: 13.3",
      "TYPE": "HMS"
    },
    "Readings": {
      "battery": { "Value":"ok", "Time":"2017-03-19 15:36:51" },
      "fan": { "Value":"off", "Time":"2017-03-19 11:26:27" },
      "humidity": { "Value":"65.2", "Time":"2017-03-19 15:36:51" },
      "state": { "Value":"T: 20  H: 65.2  Bat: ok", "Time":"2017-03-19 15:36:51" },
      "temperature": { "Value":"20", "Time":"2017-03-19 15:36:51" },
      "type": { "Value":"HMS100TF", "Time":"2017-03-19 15:36:51" }
    },
    "Attributes": {
      "IODev": "CUL",
      "room": "KLIMA"
    }
  },
raspberry Pi 3 + jessie + fhem
Devices: Fritz Dect 200, Homematic (HMLan-Gateway), FS20 (CUL-Stick), Hue-Gateay, Sonos

setstate

wenn du folgendes in den HTML Header setzt, hast du wieder das alte Verhalten

<meta name="shortpoll_filter" content=".*">

michaelfhem

Perfekt. Danke.

Das war die Lösung. Alle Werte sind wieder da und korrekt.

Grüße Michi
raspberry Pi 3 + jessie + fhem
Devices: Fritz Dect 200, Homematic (HMLan-Gateway), FS20 (CUL-Stick), Hue-Gateay, Sonos

Nobby1805

Jetzt im Nachgang ist mir aufgefallen, dass ich das Problem bei den Humidity-Werten auch hatte ... der meta-Name hat auch bei mir geholfen
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)