Einbindung eines SolarLog in FTUI

Begonnen von roadghost, 06 März 2016, 14:39:04

Vorheriges Thema - Nächstes Thema

roadghost

Hallo zusammen,

ich bastel nun schon seit 3 Wochen an meinem Raspberry mit FHEM und TabletUI.

Nachdem ich zuerst smartVisu für mich entdeckt hatte bin ich, aufgrund des besseren Support im WIKI als auch aufgrund der höhrenen Useranzahl des FTUI gewechselt.

Einiges läuft bereits, ich habe aber probleme damit die Ertragsdaten meines SolarLog (ein Solarlog ist ein Datenlogger zur Analyse der Verbrauchs und Erzeugungswerte einer Photovoltaikanlage) in FTUI einzubinden bzw. darzustellen.

In FHEM habe ich den SolarLog bereits eingebunden und kann auch die Daten sehen, das ganze läuft über einen ModbusTCPServer, jeder Wert der Anlage hat ein eigenes ModbusRegister mit jeweils einem Reading.



ModbusRegister
solarlog_dailyyield
   
9.56
solarlog_dailyyield_cons
   
15.14
solarlog_monthlyyield
   
72.50
solarlog_monthlyyield_cons
   
138.38
solarlog_totalpac
   
1194
solarlog_totalpac_cons
   
2478
solarlog_yearlyyield
   
696.39
solarlog_yearlyyield_cons
   
1509.75
solarlog_yesterdayyield
   
17.46
ModbusTCPServer
SolarLogServer
   
ok

Wenn ich nun in FTUI versuche diese Readings darzustellen (in Textform) bekomme ich keine Anzeige.

<li class="halbTransparent" data-row="2" data-col="2" data-sizex="2" data-sizey="1">
<header class="headerTransparent">Photovoltaik</header>
<div class="top-space">
<div class="inline">
<div data-type="label"
class="cell">1:
</div>
<div data-type="label"
data-device="solarlog_dailyyield"
data-get="solar"
data-colors='["green","firebrick"]'
class="cell big">
</div>
</div>
</div>
</div>
[/tr]
[/table]


Was mache ich falsch ??

Gruß
NUC/Ubuntu 22.04 m. FHEM, div. Tasmota-Steckdosen, HMCFGUSB-2 für 12x HM-CC-RT-DN + 8x HM-TC-IT-WW
Rademacher DuoFern für 12 Jalousien, JeeLink für LaCrosse Temp.Sensor, WLAN-smart-Plugs, 
NUKI smartlock, 2xIP-CAM, Pylontech Speicher + Sungrow WR, Unifi-AP´s + Controller auf weiterem NUC

roadghost

NUC/Ubuntu 22.04 m. FHEM, div. Tasmota-Steckdosen, HMCFGUSB-2 für 12x HM-CC-RT-DN + 8x HM-TC-IT-WW
Rademacher DuoFern für 12 Jalousien, JeeLink für LaCrosse Temp.Sensor, WLAN-smart-Plugs, 
NUKI smartlock, 2xIP-CAM, Pylontech Speicher + Sungrow WR, Unifi-AP´s + Controller auf weiterem NUC

roman1528

Ist der SolarLog ein Device? oder besteht der aus mehreren?

schick mal bitte ein list

Ich schau mir das mal an  ;)
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

roadghost

Hier mal meine cfg für den part des SolarLog:

# Solarlogeinbindung FHEM

define SolarLogServer ModbusTCPServer 192.168.178.25
attr SolarLogServer room 4.0_PV
attr SolarLogServer verbose 2

########################################################
##  Register aktuelle Leistung definieren
##  Erstellt........: 07.03.2015
##  Geändert........: 04.04.2015
########################################################
define solarlog_totalpac ModbusRegister 0 3502
attr solarlog_totalpac IODev SolarLogServer
attr solarlog_totalpac event-on-change-reading .*
attr solarlog_totalpac room 4.0_PV
attr solarlog_totalpac stateAlias solar

########################################################
##  Register Tagesertrag definieren
##  Erstellt........: 07.03.2015
##  Geändert........: 04.04.2015
########################################################
define solarlog_dailyyield ModbusRegister 0 3508
attr solarlog_dailyyield IODev SolarLogServer
attr solarlog_dailyyield conversion 0.001:0
attr solarlog_dailyyield event-on-change-reading .*
attr solarlog_dailyyield plcDataType DWORD
attr solarlog_dailyyield room 4.0_PV
attr solarlog_dailyyield stateAlias solar
attr solarlog_dailyyield stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))}
attr solarlog_dailyyield updateInterval 00:01:00

########################################################
##  Register Monatsertrag definieren
##  Erstellt........: 07.03.2015
##  Geändert........: 04.04.2015
########################################################
define solarlog_monthlyyield ModbusRegister 0 3512
attr solarlog_monthlyyield IODev SolarLogServer
attr solarlog_monthlyyield conversion 0.001:0
attr solarlog_monthlyyield event-on-change-reading .*
attr solarlog_monthlyyield plcDataType DWORD
attr solarlog_monthlyyield room 4.0_PV
attr solarlog_monthlyyield stateAlias solar
attr solarlog_monthlyyield stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))}
attr solarlog_monthlyyield updateInterval 01:00:00

########################################################
##  Register Jahresertrag definieren
##  Erstellt........: 07.03.2015
##  Geändert........: 04.04.2015
########################################################
define solarlog_yearlyyield ModbusRegister 0 3514
attr solarlog_yearlyyield IODev SolarLogServer
attr solarlog_yearlyyield alignUpdateInterval 01:00:00
attr solarlog_yearlyyield conversion 0.001:0
attr solarlog_yearlyyield event-on-change-reading .*
attr solarlog_yearlyyield plcDataType DWORD
attr solarlog_yearlyyield registerType Holding
attr solarlog_yearlyyield room 4.0_PV
attr solarlog_yearlyyield stateAlias solar
attr solarlog_yearlyyield stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))}
attr solarlog_yearlyyield updateInterval 01:00:00


########################################################
##  Register Ertrag Vortag definieren
##  Erstellt........: 07.03.2015
##  Geändert........: 04.04.2015
########################################################
define solarlog_yesterdayyield ModbusRegister 0 3510
attr solarlog_yesterdayyield IODev SolarLogServer
attr solarlog_yesterdayyield alignUpdateInterval 08:00:00
attr solarlog_yesterdayyield conversion 0.001:0
attr solarlog_yesterdayyield event-on-change-reading .*
attr solarlog_yesterdayyield plcDataType DWORD
attr solarlog_yesterdayyield registerType Holding
attr solarlog_yesterdayyield room 4.0_PV
attr solarlog_yesterdayyield stateAlias solar
attr solarlog_yesterdayyield stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))}
attr solarlog_yesterdayyield updateInterval 24:00:00

########################################################
##  Register aktueller Verbrauch definieren
##  Erstellt........: 07.03.2015
##  Geändert........: 04.04.2015
########################################################
define solarlog_totalpac_cons ModbusRegister 0 3518
attr solarlog_totalpac_cons IODev SolarLogServer
attr solarlog_totalpac_cons event-on-change-reading .*
attr solarlog_totalpac_cons room 4.0_PV
attr solarlog_totalpac_cons stateAlias solar

########################################################
##  Register Tagesverbrauch definieren
##  Erstellt........: 07.03.2015
##  Geändert........: 04.04.2015
########################################################
define solarlog_dailyyield_cons ModbusRegister 0 3520
attr solarlog_dailyyield_cons IODev SolarLogServer
attr solarlog_dailyyield_cons conversion 0.001:0
attr solarlog_dailyyield_cons event-on-change-reading .*
attr solarlog_dailyyield_cons plcDataType DWORD
attr solarlog_dailyyield_cons room 4.0_PV
attr solarlog_dailyyield_cons stateAlias solar
attr solarlog_dailyyield_cons stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))}
attr solarlog_dailyyield_cons updateInterval 00:01:00

########################################################
##  Register Monatsverbrauch definieren
##  Erstellt........: 07.03.2015
##  Geändert........: 04.04.2015
########################################################
define solarlog_monthlyyield_cons ModbusRegister 0 3524
attr solarlog_monthlyyield_cons IODev SolarLogServer
attr solarlog_monthlyyield_cons alignUpdateInterval 01:00:00
attr solarlog_monthlyyield_cons conversion 0.001:0
attr solarlog_monthlyyield_cons event-on-change-reading .*
attr solarlog_monthlyyield_cons plcDataType DWORD
attr solarlog_monthlyyield_cons room 4.0_PV
attr solarlog_monthlyyield_cons stateAlias solar
attr solarlog_monthlyyield_cons stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))}
attr solarlog_monthlyyield_cons updateInterval 01:00:00

########################################################
##  Register Jahresverbrauch definieren
##  Erstellt........: 07.03.2015
##  Geändert........: 04.04.2015
########################################################
define solarlog_yearlyyield_cons ModbusRegister 0 3526
attr solarlog_yearlyyield_cons IODev SolarLogServer
attr solarlog_yearlyyield_cons alignUpdateInterval 01:00:00
attr solarlog_yearlyyield_cons conversion 0.001:0
attr solarlog_yearlyyield_cons event-on-change-reading .*
attr solarlog_yearlyyield_cons plcDataType DWORD
attr solarlog_yearlyyield_cons registerType Holding
attr solarlog_yearlyyield_cons room 4.0_PV
attr solarlog_yearlyyield_cons stateAlias solar
attr solarlog_yearlyyield_cons stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))}
attr solarlog_yearlyyield_cons updateInterval 01:00:00

########################################################
##  Tägliches LogFile definieren
##  Erstellt........: 07.03.2015
##  Geändert........: 04.04.2015
########################################################
#define filelog_solarlog_day FileLog ./log/filelog_solarlog_day-%d.log #solarlog_.*:solar.*

########################################################
##  ReadingsGroup definieren
##  Erstellt........: 04.04.2015
##  Geändert........: 10.11.2015
########################################################
define rg_SolarLog_state readingsGroup <Beschreibung>,<>solarlog_.*:statesolarlog_.*:energybalance
attr rg_SolarLog_state alias SolarLog
attr rg_SolarLog_state mapping {'solarlog_dailyyield' => 'Tagesertrag','solarlog_monthlyyield' => 'Monatsertrag','solarlog_totalpac' =>'Erzeugung','solarlog_yearlyyield' => 'Jahresertrag','solarlog_totalyield' => 'Gesamtertrag','solarlog_yesterdayyield' => 'Vortagesertrag'}
attr rg_SolarLog_state nostate 1
attr rg_SolarLog_state notime 1
attr rg_SolarLog_state room 4.0_PV
attr rg_SolarLog_state valueFormat {'state' => "%0.2f"}
attr rg_SolarLog_state valueStyle style="text-align:right"
NUC/Ubuntu 22.04 m. FHEM, div. Tasmota-Steckdosen, HMCFGUSB-2 für 12x HM-CC-RT-DN + 8x HM-TC-IT-WW
Rademacher DuoFern für 12 Jalousien, JeeLink für LaCrosse Temp.Sensor, WLAN-smart-Plugs, 
NUKI smartlock, 2xIP-CAM, Pylontech Speicher + Sungrow WR, Unifi-AP´s + Controller auf weiterem NUC

roman1528

Und schon ist es etwas klarer :)

mach mal bitte ein list vom solarlog_dailyyield

list solarlog_dailyyield

Dann schauen wir uns mal die Readings an und ich basel dir mal ein Demo label-Widget  ;)

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

roadghost

Guck mal.....

Internals:
   DEF        0 3508
   IODev      SolarLogServer
   LASTInputDev SolarLogServer
   MSGCNT     6
   ModbusRegister_lastRcv 2016-03-09 10:25:02
   NAME       solarlog_dailyyield
   NR         117
   NTFY_ORDER 50-solarlog_dailyyield
   STATE      5.65
   SolarLogServer_MSGCNT 6
   SolarLogServer_TIME 2016-03-09 10:25:02
   TYPE       ModbusRegister
   lastUpdate Wed Mar  9 10:25:02 2016
   nextUpdate Wed Mar  9 10:26:02 2016
   Readings:
     2016-03-09 10:25:02   RAW             160e0000
     2016-03-09 10:25:02   solar           5.646
     2016-03-09 10:25:02   state           5.646
   Helper:
     addr       3 0 3508
     address    3508
     disableRegisterMapping 0
     lastUpdate 0
     nextUpdate 1457515562.44851
     nread      2
     readCmd    
�
     register   3508
     registerType 3
     unitId     0
     updateIntervall 60
     Cnv:
       a          0.001
       b          0
       max        4294967.295
       min        0
       step       10000
Attributes:
   IODev      SolarLogServer
   conversion 0.001:0
   event-on-change-reading .*
   plcDataType DWORD
   room       4.0_PV
   stateAlias solar
   stateFormat {sprintf("%0.2f", ReadingsVal($name,"state",0))}
   updateInterval 00:01:00
NUC/Ubuntu 22.04 m. FHEM, div. Tasmota-Steckdosen, HMCFGUSB-2 für 12x HM-CC-RT-DN + 8x HM-TC-IT-WW
Rademacher DuoFern für 12 Jalousien, JeeLink für LaCrosse Temp.Sensor, WLAN-smart-Plugs, 
NUKI smartlock, 2xIP-CAM, Pylontech Speicher + Sungrow WR, Unifi-AP´s + Controller auf weiterem NUC

roman1528

Verflucht  ;D

Du hast ne Macke in deiner label-Widget-Definition...


<div data-type="label"
data-device="solarlog_dailyyield"
data-get="solar"
data-colors='["green","firebrick"]'
class="cell big">
</div>


VS


<div data-type="label"
data-device="solarlog_dailyyield"
data-get="solar"
data-color="green"
class="cell big">
</div>


data-colors='[arraypart,arraypart]' kannst du nur definieren wenn du data-limits nutzt.

https://github.com/knowthelist/fhem-tablet-ui#label-widgets <- Diese Seite wird gepflegt.

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

roadghost

<li class="halbTransparent" data-row="2" data-col="2" data-sizex="6" data-sizey="2">
<header class="headerTransparent">Photovoltaik</header>
<div class="top-space">
<div class="inline">
<div data-type="label"
class="cell">Tagesertrag:
</div>
<div data-type="label"
data-device="solarlog_dailyyield"
data-get="solar"
data-unit=" kWh"
data-color="green"
class="cell big">
</div>
</div>
<div class="inline">
<div data-type="label"
class="cell">Tagesverbrauch:
</div>
<div data-type="label"
data-device="solarlog_dailyyield_cons"
data-get="solar"
data-color="green"
class="cell big">
</div>
</div>
<div class="inline">
<div data-type="label"
class="cell">Momentanverbrauch:
</div>
<div data-type="label"
data-device="solarlog_totalpac_cons"
data-get="solar"
data-color="green"
class="cell big">
</div>
</div>
</div>
</li>


Ups, ja das mit der Farbe hatte ich zwischenzeitlich selbst festgestellt und abgestellt, funktioniert dennoch nicht. Ab und an sehe ich dort Zahlen, aber nach einem F5 oder einem Browserneustart sind die wieder weg.

Kann es mit dem lighttpd zusammenhängen ? Sollte ich vll. lieber einen Apache nutzen ??

Gruß
NUC/Ubuntu 22.04 m. FHEM, div. Tasmota-Steckdosen, HMCFGUSB-2 für 12x HM-CC-RT-DN + 8x HM-TC-IT-WW
Rademacher DuoFern für 12 Jalousien, JeeLink für LaCrosse Temp.Sensor, WLAN-smart-Plugs, 
NUKI smartlock, 2xIP-CAM, Pylontech Speicher + Sungrow WR, Unifi-AP´s + Controller auf weiterem NUC

roman1528

Zitat von: roadghost am 09 März 2016, 10:52:02
Kann es mit dem lighttpd zusammenhängen ? Sollte ich vll. lieber einen Apache nutzen ??

Ich denke nicht... Gerade nicht bei einem Label-Widget. Und es ist ja auch nicht 1000 Zeichen lang.
Er holt dieses Reading ja auch wie alle anderen Readings...

Ist das Reading dauerhaft vorhanden? aber ich denke schon.. Warum sollte es das nicht sien...

Ich habe keinerlei Probleme mit Label.

Wie aktuell ist denn deine FTUI?
update check https://raw.githubusercontent.com/knowthelist/fhem-tablet-ui/master/controls_fhemtabletui.txt

Eine andere Idee habe ich leider nicht  ???

Grüße^^

P.S.
Wenn du ein "label" hast ohne eine Reading zu holen:
<div data-type="label"
class="cell">Tagesverbrauch:
</div>

Dann lass ruhig data-type="label" weg. Das Ergebnis ist das gleiche und du kannst es per class="" formatieren wie alles andere:
<div class="cell">Tagesverbrauch:
</div>
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

roadghost

Hi,

mein FHEM, FTUI und auch der Raspi sind aktuell, immer Montags fahre ich dort die Updates.

Sonst niemand ne Idee ??

Gruß
NUC/Ubuntu 22.04 m. FHEM, div. Tasmota-Steckdosen, HMCFGUSB-2 für 12x HM-CC-RT-DN + 8x HM-TC-IT-WW
Rademacher DuoFern für 12 Jalousien, JeeLink für LaCrosse Temp.Sensor, WLAN-smart-Plugs, 
NUKI smartlock, 2xIP-CAM, Pylontech Speicher + Sungrow WR, Unifi-AP´s + Controller auf weiterem NUC