dummy wird nicht aktualisiert

Begonnen von Eckat, 18 April 2017, 21:05:10

Vorheriges Thema - Nächstes Thema

Eckat

Hallo zusammen,

irgendwie kann ich nichts dazu finden. Weder das es Probleme macht, noch das man etwas beachten sollte.

Hintergrund:
Ich habe eine Photovoltaikanlage mit SmartMeter und Wechselrichter. Beide Geräte sind in fhem eingebunden und funktionieren einwandfrei.
Nun ist es ungünstigerweise so, dass der SmartMeter nur die Differenz (erzeugter Strom - Eigenverbrauch) anzeigt und der Wechselrichter nur den erzeugten Strom.

Da ich aber auch den Verbrauch sehen und protokollieren möchte, habe ich einen dummy "verbrauch.dummy" erstellt.
Dieser wird bei Änderungen an dem Wert des Wechselrichters oder SmartMeters berechnet und gesetzt.

Soweit funktioniert das auch.

Nun habe ich die drei Werte (Produktion, Verbrauch, Summe) in TabletUI als reine labels eingetragen.
<tr>
<td class="pvwerte-td-label">Produktion:</td>
<td class="pvwerte-td-wert">
<div data-type="label"
data-device="Wechselrichter"
data-unit=" W"></div>
</td>
</tr>
<tr>
<td class="pvwerte-td-label">Verbrauch:</td>
<td class="pvwerte-td-wert">
<div data-type="label"
data-device="verbrauch.dummy"
data-unit=" W"></div>
</td>
</tr>
<tr>
<td class="pvwerte-td-label">Summe:</td>
<td class="pvwerte-td-wert">
<div data-type="label"
data-device="SmartMeter"
data-unit=" W"
data-limits=[-99999,0,9999]'
data-colors='["#FF6666","#66FF66","#00FF00"]'>
</div>
</td>
</tr>


Nun ist mir aufgefallen, dass der Wert des Verbrauchs nur nach dem Neuladen der Seite oder wenn ein neuer Long-Poll startet aktualisiert wird.

Heute habe ich dann etwas gesucht ... nichts dazu gefunden.
Daher habe ich folgendes (ohne Erfolg) ausprobiert.


  • In der fhem-Oberfläche die Aktualisierungen kontrolliert. => wird bei einer Änderung der Ausgangswerte sofort aktualisiert.
[li]Auf Verdacht ob evtl. STATE/state nicht bei TabletUI von einem Event versorgt wird, ein UserReading zusätzlich am Dummy aus den Notifys erzeugt: [/li][/list]fhem "setreading verbrauch.dummy verbrauch ".$verbrauch; und das Reading in TabletUI mit data-get="verbrauch"
    genutzt => keine Aktualisierung[/li]
  • Versuche mit timestamp-on-change-reading, event-on-change-reading und event-on-update-reading für state und/oder verbrauch => keine Aktualisierung

Könnte mir jemand helfen, was ich falsch mache?

Haecksler

Wahrscheinlich ist der Dummynamen "verbrauch.dummy" mit Punkt in der Mitte etwas unglücklich.

CoolTux

Gib mal ein list vom Dummydevice bitte
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Eckat

Zitat von: Haecksler am 19 April 2017, 15:23:16
Wahrscheinlich ist der Dummynamen "verbrauch.dummy" mit Punkt in der Mitte etwas unglücklich.
Warum sollte ein Punkt ein Problem sein?  ???
Wenn dem so ist, ändere ich das bzw. teste das gleich mal.
Komme von python, da habe ich nicht groß darüber nachgedacht.

Zitat von: CoolTux am 19 April 2017, 15:26:52
Gib mal ein list vom Dummydevice bitte
Na klar:  :D
Internals:
   NAME       verbrauch.dummy
   NR         337
   STATE      -1604.5
   TYPE       dummy
   Helper:
     Dblog:
       State:
         Logdb:
           TIME       1492618689.87781
           VALUE      -1604.5
       Verbrauch:
         Logdb:
           TIME       1492618689.88333
           VALUE      -1604.5
   Readings:
     2017-04-19 18:18:09   state           -1604.5
     2017-04-19 18:18:09   verbrauch       -1604.5
Attributes:
   readingList state verbrauch
   room       UG.Vorrat
   timestamp-on-change-reading verbrauch

Nicht wundern, es läuft gerade der Trockner  ;)

CoolTux

#4
OK sehe gerade das Problem. Setreading löst kein Event aus. Schaue dir bitte readingList und readingSet für Dummy an
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Gabel88

Hallo alle zusammen.
Ich habe das gleiche Problem wie hier oben beschrieben.
Aber habe jetzt lange gesucht rum probiert....
Allerdings alles ohne Erfolg.

Kann mir irgendwer erklären was ich mit meinem dummy machen muss, damit er sofort im TabletUI aktualisiert wird.

Leider findet man zu dem Bereich irgendwie nichts.

Danke für die Hilfe,
Gabel
Pi3  FHEM
Pi3  KODI
Pi1  OpenWrt (im test)

CoolTux

Was genau machst Du denn mit Deinem Dummy

set dummy 12

sollte den state von deinem dummy auf 12 stellen und es sollte ein Event ausgelöst werden. Schau doch mal was genau im Eventmonitor zu sehen ist und gib mal ein list vom dummy
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Eckat

Also bei mir funktioniert das mit keiner Version, wenn ich einen dummy nutze.
z. B.fhem "set verbrauch_dummy verbrauch ".$verbrauch;

Das mit dem Eventmonitor werde ich noch testen.

Oder war mit readingSet etwas anderes gemeint? Den Befehl als solchen scheint es nicht zu geben.

Aber das ein setreading kein Event auslöst, scheint nicht zu stimmen.
Habe jetzt testweise einfach mal ein "UserReading" bei dem SmartMeter mit
fhem "setreading SmartMeter verbrauch ".$verbrauch;
getestet.
Das funktioniert und der Wert im TabletUI aktualisiert sich zeitnah.

Da scheint noch was anderes dahinter zu stecken.

CoolTux

Wenn Dein Dummy nur einen einzigen Wert darstellen soll, dann reich es einfach ein Dummy an zulegen ohne weitere Attribute zum setzen von Werten.
Wenn du das hast machst du einfach in der FHEMWEB Konsole ein
set dummyVerbrauch 12

Damit wird der state vom Dummy auf 12 gesetzt und ein Event sollte ausgelöst werden.
Das testest du jetzt erstmal
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Eckat

Bei mir war das die erste Lösung.
Aber TabletUI aktualisiert die Werte nicht bzw. nur bei einem neuen LongPoll.

Habe gerade mal das im Eventmonitor beobachtet.
Wenn ich per Hand "set verbrauch_dummy 12" ausführe, taucht genau eine Zeile im Eventmonitor auf, aber TabletUI aktualisiert den Wert nicht.

Dann habe ich aber auch gesehen, dass bei einer Änderung per Notify immer 76 Events eingetragen werden???
Was kann das sein?

CoolTux

Gib mal ein list vom aktuellen dummy
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net