Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ankündigung
Einklappen
Keine Ankündigung bisher.
- √ - Wert eines Items ändern, durch einen Seitenaufruf
- √ - Wert eines Items ändern, durch einen Seitenaufruf
Gibt es eine Möglichkeit den Wert eines Items (GAD) zu ändern, automatisch beim Aufruf einer Visu-Seite? Ohne erneut einen "Schalter" oder "Button" zu drücken?
Es laufen smartvisu und smarthome zusammen.
Hintergrund der Frage:
Ich möchte beim Seitenaufruf eine Logik (smarthome) triggern.
Hallo René,
.......
Moment kann man keine Logiken direkt aus der smartVISU triggern. Da müsst Apollo ein kleines Widget beisteuern. Die Schnittstelle von SH.py kann das schon lange.
........
hth
Marcus
Ist eigentlich kein größeres Problem:
- Ein widget erstellen
- im Javascript-Code zum Widget die 'init' Funktionalität verwenden um einen io.write auszulösen.
Ein Problem wird nur sein, daß die Seite im DOM gechached wird, was das 'init' nur einmal triggert. Wenn das gewollt ist ists ok, wenn nicht müsste man auf 'pageshow' (wird bei jedem Seitenaufruf getriggert) hören.
1. Im Projektverzeichnis ".../smartvisu/pages/mein_projekt" das folgende Widget erstellen:
Name: widget_trigger_item.html
Inhalt:
Code:
/**
* Set the value of an gad/item = 1
*
* @param id = unique id for this widget
* @param gad = the (knx) gad (groupaddress) to be set =1
*/
{% macro triggerbool(id, gad) %}
<script type="text/javascript">
$('#{{ page }}').on('pageshow', function(){
io.write("{{gad}}", 1);
});
</script>
{% endmacro %}
2. Dann auf der Seite, von der aus das Item / die GAD geändert werden soll, den obigen Code-Schnipsel importieren:
Code:
{% import "widget_trigger_item.html" as triggeritem %}
{{ triggeritem.triggerbool ('ID','Item') }}
3. Was noch ...
Das "Item" muss in smarthome (items.conf) angelegt sein.
Die "ID" ist zwar drin, wird aber nicht benutzt.
4. Damit können nun Logiken (smarthome) getriggert werden (mittels watch_item).
Beispiel: Aktualisieren von Daten, die von einem externen Server geholt werden; zum Zeitpunkt der Seitenanwahl
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar