Logic Machine Forum
Mosaic3 Trends Widget - Printable Version

+- Logic Machine Forum (https://forum.logicmachine.net)
+-- Forum: LogicMachine eco-system (https://forum.logicmachine.net/forumdisplay.php?fid=1)
+--- Forum: Visualization (https://forum.logicmachine.net/forumdisplay.php?fid=9)
+--- Thread: Mosaic3 Trends Widget (/showthread.php?tid=3790)



Mosaic3 Trends Widget - gtsamis - 05.01.2022

Happy new year!

On the trends widget, if i enable the time controls they apear outside of the widget. Is there any fix for it? I would also like to modifty the displayed decimals on value widget.
   
   


RE: Mosaic3 Trends Widget - admin - 05.01.2022

We will look into this. For now either disable zooming or set widget width to 3 or 5 units.


RE: Mosaic3 Trends Widget - gtsamis - 05.01.2022

I tried only the height... width worked. What about decimal places display?


RE: Mosaic3 Trends Widget - admin - 06.01.2022

New update has been published. See if it fixed the issue for you. Thousands separator (",") has been removed from the trends value display. Decimals cannot be configured at this moment.


RE: Mosaic3 Trends Widget - gtsamis - 07.01.2022

(05.01.2022, 09:35)admin Wrote: We will look into this. For now either disable zooming or set widget width to 3 or 5 units.

(06.01.2022, 13:12)admin Wrote: New update has been published. See if it fixed the issue for you. Thousands separator (",") has been removed from the trends value display. Decimals cannot be configured at this moment.

Works fine, thank you.


RE: Mosaic3 Trends Widget - GIA - 05.09.2022

WOW,
those energy dashbords looks nice!
How do you do this in Wiser?
I have powertags, but not any daily or weekly calculations shown.
To you use the Active Energy resettable kWh an d log this some how?

BR
GIA


RE: Mosaic3 Trends Widget - Erwin van der Zwart - 06.09.2022

Yes, create trends on the points you want to log and then create a visu in Touch Config, there you can add the live values and trends on a dashboard.


RE: Mosaic3 Trends Widget - GIA - 06.09.2022

Yeah, I`am using that function,
But how do you get the the daily summations or weekly? Are they custom widgets/tiles, with the summation done in scripting etc?

BR
GIA


RE: Mosaic3 Trends Widget - gtsamis - 06.09.2022

(06.09.2022, 11:51)GIA Wrote: Yeah, I`am using that function,
But how do you get the the daily summations or weekly? Are they custom widgets/tiles, with the summation done in scripting etc?

BR
GIA

Intermediate counters are calculated using virtual objects and scripting...

below is a raw event script that runs on the object when it changes at least 1kw... for sure it need tunning but could help as a starting point
Code:
myobjects = grp.tag('CalcTotalA')
totalA = 0
for _, object in ipairs(myobjects) do
  totalA = totalA + object.value
end
grp.update('Συνολική ένταση (A)',totalA)

-- Get date
now=os.date('*t')
-- system week day starts from sunday, convert it to knx format
now.wday = now.wday == 1 and 7 or now.wday - 1

-- Init counters
initTotalwh = 0
initT1wh = 0
initT2wh = 0
initT3wh = 0
initT4wh = 0

TotalkWh = math.floor(event.getvalue()/1000)
T1kWh = math.floor((grp.getvalue('Ενεργή ενέργεια Τ1 (Wh)') - initT1wh) /1000)
T2kWh = math.floor((grp.getvalue('Ενεργή ενέργεια Τ2 (Wh)') - initT2wh) /1000)
T3kWh = math.floor((grp.getvalue('Ενεργή ενέργεια Τ3 (Wh)') - initT3wh) /1000)
T4kWh = math.floor((grp.getvalue('Ενεργή ενέργεια Τ4 (Wh)') - initT4wh) /1000)

grp.update('Συνολική ενέργεια (kWh)', TotalkWh)
grp.update('Συνολική ενέργεια Τ1 (kWh)', T1kWh)
grp.update('Συνολική ενέργεια Τ2 (kWh)', T2kWh)
grp.update('Συνολική ενέργεια Τ3 (kWh)', T3kWh)
grp.update('Συνολική ενέργεια Τ4 (kWh)', T4kWh)


metinit=storage.get('met:init', 0)
metpt=storage.get('met:pt', 0)

ypt=storage.get('met:year-pt', 0)
ypt1=storage.get('met:year-pt1', 0)
ypt2=storage.get('met:year-pt2', 0)

yct=storage.get('met:year-ct', 0)
yct1=storage.get('met:year-ct1', 0)
yct2=storage.get('met:year-ct2', 0)

mpt=storage.get('met:month-pt', 0)
mpt1=storage.get('met:month-pt1', 0)
mpt2=storage.get('met:month-pt2', 0)

mct=storage.get('met:month-ct', 0)
mct1=storage.get('met:month-ct1', 0)
mct2=storage.get('met:month-ct2', 0)

daypt=storage.get('met:day-pt', 0)
daypt1=storage.get('met:day-pt1', 0)
daypt2=storage.get('met:day-pt2', 0)

dayct=storage.get('met:day-ct', 0)
dayct1=storage.get('met:day-ct1', 0)
dayct2=storage.get('met:day-ct2',0 )

wpt=storage.get('met:week-pt', 0)
wpt1=storage.get('met:week-pt1', 0)
wpt2=storage.get('met:week-pt2', 0)

wct=storage.get('met:week-ct', 0)
wct1=storage.get('met:week-ct1', 0)
wct2=storage.get('met:week-ct2', 0)

ppt=storage.get('met:period-pt', 0)
ppt1=storage.get('met:period-pt1', 0)
ppt2=storage.get('met:period-pt2', 0)

pct=storage.get('met:period-ct', 0)
pct1=storage.get('met:period-ct1', 0)
pct2=storage.get('met:period-ct2', 0)

delta=TotalkWh-metpt

if now.month==1 and now.day==1 and now.hour==0 and now.min<5 then -- Reseting Yearly, Monthly, Daily energy counters
  alert('Reseting Yearly, Monthly, Daily energy counters')
  grp.write('Επαναφορά μετρητή διακοπών ρεύματος',true)
 
  storage.set('met:year-pt', yct+delta)
  grp.write('Ενέργεια προηγούμενου έτους συνολικά (kWh)', yct+delta)
  storage.set('met:year-ct', 0)
  grp.write('Ενέργεια τρέχοντα έτους συνολικά (kWh)', 0)
 
  storage.set('met:year-pt1', yct1+delta)
  grp.write('Ενέργεια προηγούμενου έτους Τ1 (kWh)', yct1+delta)
  storage.set('met:year-ct1', 0)
  grp.write('Ενέργεια τρέχοντα έτους Τ1 (kWh)', 0)
 
  storage.set('met:year-pt2', yct2+delta)
  grp.write('Ενέργεια προηγούμενου έτους Τ2 (kWh)', yct2+delta)
  storage.set('met:year-ct2', 0)
  grp.write('Ενέργεια τρέχοντα έτους Τ2 (kWh)', 0) 

  storage.set('met:month-pt', mct+delta)
  grp.write('Ενέργεια προηγούμενου μήνα συνολικά (kWh)', mct+delta)
  storage.set('met:month-ct', 0)
  grp.write('Ενέργεια τρέχοντα μήνα συνολικά (kWh)', 0)
 
  storage.set('met:month-pt1', mct1+delta)
  grp.write('Ενέργεια προηγούμενου μήνα Τ1 (kWh)', mct1+delta)
  storage.set('met:month-ct1', 0)
  grp.write('Ενέργεια τρέχοντα μήνα Τ1 (kWh)', 0) 
 
  storage.set('met:month-pt2', mct2+delta)
  grp.write('Ενέργεια προηγούμενου μήνα Τ2 (kWh)', mct2+delta)
  storage.set('met:month-ct2', 0)
  grp.write('Ενέργεια τρέχοντα μήνα Τ2 (kWh)', 0)
 
  storage.set('met:day-pt',  dayct+delta)
  grp.write('Ενέργεια προηγούμενης ημέρας συνολικά (kWh)', dayct+delta)
  storage.set('met:day-ct',  0)
  grp.write('Ενέργεια τρέχουσας ημέρας συνολικά (kWh)', 0)
 
  storage.set('met:day-pt1',  dayct1+delta)
  grp.write('Ενέργεια προηγούμενης ημέρας Τ1 (kWh)', dayct1+delta)
  storage.set('met:day-ct1',  0)
  grp.write('Ενέργεια τρέχουσας ημέρας Τ1 (kWh)', 0)
 
  storage.set('met:day-pt2',  dayct2+delta)
  grp.write('Ενέργεια προηγούμενης ημέρας Τ2 (kWh)', dayct2+delta)
  storage.set('met:day-ct2',  0)
  grp.write('Ενέργεια τρέχουσας ημέρας Τ2 (kWh)', 0)
 
elseif now.day==1 and now.hour==0 and now.min<5 then -- Reseting Monthly, Daily energy counters
  alert('Reseting Monthly, Daily energy counters')
  grp.write('Επαναφορά μετρητή διακοπών ρεύματος',true)
 
  storage.set('met:month-pt', mct+delta)
  grp.write('Ενέργεια προηγούμενου μήνα συνολικά (kWh)', mct+delta)
  storage.set('met:month-ct', 0)
  grp.write('Ενέργεια τρέχοντα μήνα συνολικά (kWh)', 0)
 
  storage.set('met:month-pt1', mct1+delta)
  grp.write('Ενέργεια προηγούμενου μήνα Τ1 (kWh)', mct1+delta)
  storage.set('met:month-ct1', 0)
  grp.write('Ενέργεια τρέχοντα μήνα Τ1 (kWh)', 0) 
 
  storage.set('met:month-pt2', mct2+delta)
  grp.write('Ενέργεια προηγούμενου μήνα Τ2 (kWh)', mct2+delta)
  storage.set('met:month-ct2', 0)
  grp.write('Ενέργεια τρέχοντα μήνα Τ2 (kWh)', 0)
 
  storage.set('met:day-pt',  dayct+delta)
  grp.write('Ενέργεια προηγούμενης ημέρας συνολικά (kWh)', dayct+delta)
  storage.set('met:day-ct',  0)
  grp.write('Ενέργεια τρέχουσας ημέρας συνολικά (kWh)', 0)
 
  storage.set('met:day-pt1',  dayct1+delta)
  grp.write('Ενέργεια προηγούμενης ημέρας Τ1 (kWh)', dayct1+delta)
  storage.set('met:day-ct1',  0)
  grp.write('Ενέργεια τρέχουσας ημέρας Τ1 (kWh)', 0)
 
  storage.set('met:day-pt2',  dayct2+delta)
  grp.write('Ενέργεια προηγούμενης ημέρας Τ2 (kWh)', dayct2+delta)
  storage.set('met:day-ct2',  0)
  grp.write('Ενέργεια τρέχουσας ημέρας Τ2 (kWh)', 0)
 
elseif now.hour==0 and now.min<5 then -- Reseting Daily energy counters
  alert('Reseting Daily energy counters')
  grp.write('Επαναφορά μετρητή διακοπών ρεύματος',true)
 
  storage.set('met:day-pt',  dayct+delta)
  grp.write('Ενέργεια προηγούμενης ημέρας συνολικά (kWh)', dayct+delta)
  storage.set('met:day-ct',  0)
  grp.write('Ενέργεια τρέχουσας ημέρας συνολικά (kWh)', 0)
 
  storage.set('met:day-pt1',  dayct1+delta)
  grp.write('Ενέργεια προηγούμενης ημέρας Τ1 (kWh)', dayct1+delta)
  storage.set('met:day-ct1',  0)
  grp.write('Ενέργεια τρέχουσας ημέρας Τ1 (kWh)', 0)
 
  storage.set('met:day-pt2',  dayct2+delta)
  grp.write('Ενέργεια προηγούμενης ημέρας Τ2 (kWh)', dayct2+delta)
  storage.set('met:day-ct2',  0)
  grp.write('Ενέργεια τρέχουσας ημέρας Τ2 (kWh)', 0)
 
elseif delta >= 0.2 then  -- adding current difference to energy counters
  tariff= grp.getvalue('Τρέχον τιμολόγιο')
 
  storage.set('met:pt', metpt+delta)
   
  storage.set('met:year-ct', yct+delta)
  grp.write('Ενέργεια τρέχοντα έτους συνολικά (kWh)', yct+delta)

  storage.set('met:month-ct', mct+delta)
  grp.write('Ενέργεια τρέχοντα μήνα συνολικά (kWh)', mct+delta)
   
  storage.set('met:week-ct', wct+delta)
  grp.write('Ενέργεια τρέχουσας εβδομάδας συνολικά (kWh)', wct+delta)
   
  storage.set('met:day-ct',  dayct+delta)
  grp.write('Ενέργεια τρέχουσας ημέρας συνολικά (kWh)', dayct+delta)
  
  storage.set('met:period-ct', pct+delta)
  grp.write('Ενέργεια τρέχουσας περιόδου συνολικά (kWh)', pct+delta)
  if tariff==2 then
  -- log(string.format('Adding %2.1fkWh to Total and T2 energy counters', delta))
   
    storage.set('met:year-ct2', yct2+delta)
    grp.write('Ενέργεια τρέχοντα έτους Τ2 (kWh)', yct2+delta)   
   
    storage.set('met:month-ct2', mct2+delta)
      grp.write('Ενέργεια τρέχοντα μήνα Τ2 (kWh)', mct2+delta)

      storage.set('met:week-ct2', wct2+delta)
      grp.write('Ενέργεια τρέχουσας εβδομάδας Τ2 (kWh)', wct2+delta)
   
      storage.set('met:day-ct2',  dayct2+delta)
      grp.write('Ενέργεια τρέχουσας ημέρας Τ2 (kWh)', dayct2+delta)
   
        storage.set('met:period-ct2', pct2+delta)
      grp.write('Ενέργεια τρέχουσας περιόδου Τ2 (kWh)', pct2+delta)
  else
   -- log(string.format('Adding %2.1fkWh to Total and T1 energy counters', delta))
   
    storage.set('met:year-ct1', yct1+delta)
    grp.write('Ενέργεια τρέχοντα έτους Τ1 (kWh)', yct1+delta)   
   
    storage.set('met:month-ct1', mct1+delta)
      grp.write('Ενέργεια τρέχοντα μήνα Τ1 (kWh)', mct1+delta)

      storage.set('met:week-ct1', wct1+delta)
      grp.write('Ενέργεια τρέχουσας εβδομάδας Τ1 (kWh)', wct1+delta)
   
      storage.set('met:day-ct1',  dayct1+delta)
      grp.write('Ενέργεια τρέχουσας ημέρας Τ1 (kWh)', dayct1+delta)
   
        storage.set('met:period-ct1', pct1+delta)
      grp.write('Ενέργεια τρέχουσας περιόδου Τ1 (kWh)', pct1+delta) 
  end
end

if now.wday==1 and now.hour==0 and now.min<5 then -- Reseting Weekly energy counters
  alert('Reseting Weekly energy counters')
 
  storage.set('met:week-pt',wct+delta)
  grp.write('Ενέργεια προηγούμενης εβδομάδας συνολικά (kWh)', wct+delta)
  storage.set('met:week-pt1',wct1+delta)
  grp.write('Ενέργεια προηγούμενης εβδομάδας Τ1 (kWh)', wct1+delta)
  storage.set('met:week-pt2',wct2+delta)
  grp.write('Ενέργεια προηγούμενης εβδομάδας Τ2 (kWh)', wct2+delta)
 
  storage.set('met:week-ct',0)
  grp.write('Ενέργεια τρέχουσας εβδομάδας συνολικά (kWh)', 0)
  storage.set('met:week-ct1',0)
  grp.write('Ενέργεια τρέχουσας εβδομάδας Τ1 (kWh)', 0)
  storage.set('met:week-ct2',0)
  grp.write('Ενέργεια τρέχουσας εβδομάδας Τ2 (kWh)', 0)

end



RE: Mosaic3 Trends Widget - GIA - 06.09.2022

NICE, tanx!

As you say, then I have a starting point.

I would never had figured that out my self....

BR
GIA