Skip to content

Commit

Permalink
uzsu: further lastvalue improvements/fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
onkelandy committed Dec 21, 2024
1 parent 38a188f commit 972ac52
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 10 deletions.
17 changes: 10 additions & 7 deletions uzsu/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,6 @@ def lastvalue(self, by=None, item=None, write=False):
lastvalue = None
itempath = None
by_test = f' Queried by {by}' if by else ""
self.logger.debug(f'Last value of item {itempath} is: {lastvalue}.{by_test}')
last_item = None
if write is True:
try:
Expand All @@ -326,7 +325,8 @@ def lastvalue(self, by=None, item=None, write=False):
last_item = child
except Exception as e:
self.logger.warning(f"Item '{item}' has issues setting last value: {e}")
if last_item:
self.logger.debug(f'Last value of item {itempath} is: {lastvalue}.{by_test}, write {write} last_item {last_item}')
if last_item is not None:
last_item(lastvalue, PLUGIN_TAG, by)
return lastvalue

Expand All @@ -337,10 +337,13 @@ def resume(self, activevalue=True, item=None):
except:
self.logger.warning(f'Item {item} does not exist!')
return None
self.activate(True, item)
lastvalue = self.lastvalue(by='logic', item=item)
self._set(item=item, value=lastvalue, caller='logic')
self.logger.info(f'Resuming item {item}: Activated and value set to {lastvalue}. Active value: {activevalue}')
self.activate(activevalue, item)
if activevalue:
lastvalue = self.lastvalue(by='resume', item=item)
self._set(item=item, value=lastvalue, caller='logic')
self.logger.info(f'Resuming item {item}: Activated and value set to {lastvalue}.')
else:
lastvalue = None
return lastvalue

def activate(self, activevalue=None, item=None, caller='logic'):
Expand Down Expand Up @@ -462,7 +465,7 @@ def planned(self, item=None, write=False):
else:
self.logger.info(f'Nothing planned for item "{item}": {self._planned.get(item)}.')
self._webdata['items'][item.property.path].update({'planned': _planned_value})
if next_item:
if next_item is not None:
next_item(_planned_value, PLUGIN_TAG, 'planned')
return None if _planned_value == {'value': '-', 'next': '-'} else self._planned[item]

Expand Down
4 changes: 2 additions & 2 deletions uzsu/plugin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -202,8 +202,8 @@ plugin_functions:
lastvalue:
type: foo
description:
de: 'Abfrage des zuletzt gesetzten Werts. Kann z.B. beim Aktivieren der UZSU genutzt werden, um sofort auf den gewünschten Wert zu schalten.'
en: 'Query the last value. Can be used to immediately set the correct value after activating an UZSU.'
de: 'Abfrage des zuletzt gesetzten/evaluierten Werts. Kann z.B. beim Aktivieren der UZSU genutzt werden, um sofort auf den gewünschten Wert zu schalten.'
en: 'Query the last calculated/set value. Can be used to immediately set the correct value after activating an UZSU.'
parameters:
by:
type: str
Expand Down
2 changes: 1 addition & 1 deletion uzsu/user_doc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ Das Webinterface bietet folgende Informationen:

- **Nächstes Update**: geplanter nächster Zeitpunkt der Schaltung

- **Letzter Wert**: zuletzt berechneter Wert (relevant bei Interpolation). Dies ist NICHT ident mit property.last_value!
- **Letzter Wert**: zuletzt berechneter Wert. Dies ist NICHT ident mit property.last_value!

- **Interpolation**: Interpolationstyp und Intervall

Expand Down

0 comments on commit 972ac52

Please sign in to comment.