NEWS
Räume und Funktionen werden nicht dauerhaft gespeichert
-
Re: Räume und Funktionen werden nicht dauerhaft gespeichert?
Über die Hm-Rega Instanz reagiert mein blockly Event-Handler, sobald einer der Batterie betriebenen SmartHome-Geräte, deren Status auf LOW_BAT ändert. Dazu verwende ich den ID-Selektor von Blockly $(state[id=hm-rpc.2.*.0.LOW_BAT] (functions=battery)) und habe allen involvierten Blockly Objekten die Funktion "battery" gesetzt. Um zu ermitteln, in welchem Raum sich das entsprechende Homematic-Gerät befindet, habe ich zusätzlich den "RoomName" im jeweiligen Blockly Objekt gesetzt.
Grundsätzlich funktioniert alles einwandfrei. Nach einem Stromausfall oder einem Neustart der Hm-Reg Instanz existieren die beiden im Blockly Objekt gesetzten Variablen "battery" bzw. "RoomName", wodurch das Skript in Folge nicht mehr funktionieren kann.
Kann mir jemand sagen, wie sich die beiden gesetzten Variablen "battery" bzw. "RoomName" im Blockly Objekt persistent speichern lassen?
Aktuell verwendete OS-Version:
Architektur: arm
Codename: buster
OS build-version: UTF-8
Verteilung: Raspbian GNU/Linux
Voll qualifizierter Domainname: SmartHome
Hostname: SmartHome
Kernel-release: 5.10.52-v7l+
Plattform: linux
Release: 10
OS/Host-Seriennummer: cef76e99292d4430aace3552ff1f6f63
Betriebssystem über UEFI gestartet: falseAktuell verwendete Software-Versionen:
GCC version: 8.3.0
Git-version: 2.20.1
Kernel-release: 5.10.52-v7l+
Node.js version: 12.22.4
NPM version: 6.14.14
Knoten openssl-version: 1.1.1k
Perl-version: 5.28.1
Python version: 2.7.16
Python 3 version: 3.7.3
OS openssl-version: 1.1.1d
OpenSSL-Bibliothek OpenSSL
v8-version: 7.8.279.23-node.56Vielen Dank für Eure Hilfe.
-
@kobi sagte in Räume und Funktionen werden nicht dauerhaft gespeichert:
Nach einem Stromausfall oder einem Neustart der Hm-Reg Instanz existieren die beiden im Blockly Objekt gesetzten Variablen "battery" bzw. "RoomName", wodurch das Skript in Folge nicht mehr funktionieren kann.
Sicher das Du HM-Rega meinst und nicht die die HP-RPC Instanzen ? Synchst Du die Räume und Funktionen von der CCU, oder sind die in den Aufzählungen von ioBroker erstellt ?
Ich nutze nicht die Räume und Funktionen der CCU, sondern habe die im ioBroker erstellt.
rega bei mir
und im RPC Adapter spielt dieser Haken eine Rolle. Wenn der nicht drinn ist, dann werden die Objekte bei Neustart überschrieben, also auch die Räume und Funktionen.
mein blockly Event-Handler
und wie sieht das aus ? Schwierig was zu sagen ohne das zu sehen.
-
@dslraser Danke für Deine prompte Antwort!
Ich synchronisiere die Räume und Funktionen von der CCU2 und nutze die durch die Rega-Instanz synchronisierten Aufzählungen in Blockly.
Meine Instanz-Einstellungen von hm-rega:
Da ich weder Programme noch Variablen von der CCU2 nutze, war ich der Meinung, dass ich diese nicht anhaken muss. Oder liege ich da falsch und Programme haben etwas mit Funktionen zu tun?
Meine Instanz-Einstellungen von hm-rpc:
-
@kobi sagte in Räume und Funktionen werden nicht dauerhaft gespeichert:
Oder liege ich da falsch und Programme haben etwas mit Funktionen zu tun?
nein, alles gut. Nur das was Du brauchst Haken setzen.
Und wie sieht jetzt das Blockly aus ? -
@kobi sagte in Räume und Funktionen werden nicht dauerhaft gespeichert:
Nach einem Stromausfall oder einem Neustart der Hm-Reg Instanz existieren die beiden im Blockly Objekt gesetzten Variablen "battery" bzw. "RoomName", wodurch das Skript in Folge nicht mehr funktionieren kann.
Kann mir jemand sagen, wie sich die beiden gesetzten Variablen "battery" bzw. "RoomName" im Blockly Objekt persistent speichern lassen?bevor das hier in die falsche Richtung driftet, eine Frage zur Klarstellung:
geht es dir hier nur um die Werte der Variablen innerhalb eines Skripts?Diese sind natürlich leer, wenn sie bei Skriptstart nicht neu definiert werden.
Einen reboot können diese nicht überleben.Dazu müsten sie in einen eigenen Datenpunkt gespeichert und bei Skriptstart dort wieder ausgelesen werden.
-
@homoran sagte in Räume und Funktionen werden nicht dauerhaft gespeichert:
bevor das hier in die falsche Richtung driftet, eine Frage zur Klarstellung:
geht es dir hier nur um die Werte der Variablen innerhalb eines Skripts?deswegen fragte ich...
mein blockly Event-Handler
und wie sieht das aus ? Schwierig was zu sagen ohne das zu sehen.
Und wie sieht jetzt das Blockly aus ?
-
@dslraser Danke für die berechtigte Frage von @Homoran.
In der Tat geht es mir nicht um das Blockly-Skript, sondern um die Tatsache, dass ich nicht verstehe, warum die Variablennamen "battery" bzw. "RoomName" nach dem Neustart bzw. einem Refresh der Instanz hm-rega nicht mehr vorhanden sind. Dies würde nämlich bedeuten, dass ich nach jeder neuen Integration eines Homematic-Geräts in meinem SmartHome, sämtliche verwendeten Variablen erneut manuell wieder eingeben müsste.
-
@kobi sagte in Räume und Funktionen werden nicht dauerhaft gespeichert:
nicht um das Blockly-Skript, sondern um die Tatsache, dass ich nicht verstehe, warum die Variablennamen "battery" bzw. "RoomName" nach dem
wenn nicht Skript - welche Variablen meinst du denn?
Eingangs schriebst du:@kobi sagte in Räume und Funktionen werden nicht dauerhaft gespeichert:
beiden im Blockly Objekt gesetzten Variablen "battery" bzw. "RoomName",
-
@homoran Sorry ich habe bei meiner letzten Antwort das Bild auf den betroffenen Blockly-Datenpunkt vergessen mitzugeben:
Die rot markierten Variablen existieren nach einem Neustart der Instanz hm-rega nicht mehr!
-
@kobi sagte in Räume und Funktionen werden nicht dauerhaft gespeichert:
den betroffenen Blockly-Datenpunkt
nicht nur den! (wieso Blockly-DP??? Das ist ein hm-rpc-DP!!)
und:
@kobi sagte in Räume und Funktionen werden nicht dauerhaft gespeichert:Die rot markierten Variablen
das sind keine Variablen - wie greifst du darauf zu?
@kobi sagte in Räume und Funktionen werden nicht dauerhaft gespeichert:
existieren nach einem Neustart der Instanz hm-rega nicht mehr!
Sicher?
hast du lange genug gewartet - hm-rega pusht nicht sondern wird in Abständen gepolltauch die Frage von @dslraser nach dem Blockly ist noch nicht beantwortet
-
Sorry für meine unpräzise Formulierung es handelt sich natürlich um den hm-rpc-DP.
Das Blockly Skript sieht wie folgt aus:
-
-
@homoran sagte in Räume und Funktionen werden nicht dauerhaft gespeichert:
@kobi OK, dann sind wir doch da wo @dslraser dich abholen wollte.
Dann darf er jetzt auch weitermachen@Homoran
Aber nur wenn...Die rot markierten Variablen existieren nach einem Neustart der Instanz hm-rega nicht mehr!
Kommen die denn nach dem polling nun wieder ?
Und in dem Blockly sind JS Funktionen deren Inhalt man nicht sieht. Mach doch mal einen Blockly Export und stelle den hier in Code Tags rein.
-
und noch eine Frage...Das können doch eigentlich nicht die gleichen sein ?
Bei mir haben die functions die gleiche Schreibweise, also exact gleich (auch groß/klein Schreibung)
-
Hinter der JS-Funktion GetRoomName() verbirgts sich:
Die JS-Funktion ermittelt den Raumnamen und übersetzt diesen von Englisch nach Deutsch. Darum lässt sich der Namen in der Auswahlliste auf Deutsch auswählen.
Die beiden Bezeichner "battery" bzw. "RoomName" verschwinden übrigens auch nach einem Neustart der Instanz hm-rega, wenn folgender Trigger benutzt wird:
-
@kobi sagte in Räume und Funktionen werden nicht dauerhaft gespeichert:
Die beiden Bezeichner "battery" bzw. "RoomName" verschwinden übrigens auch nach einem Neustart der Instanz hm-rega, wenn folgender
deshalb auch die Frage ob die nach dem eingestellten Polling Intervall von rega (bei mir 30 Sekunden) dann wieder erscheinen ? Obwohl ich nicht weiß ob die überhaupt verschwinden dürften ? @Homoran ?
-
@dslraser das wundert mich auch
@Kobi bitte etwas strukturierter, damit man dir folgen kann. z.B.:
@kobi sagte in Räume und Funktionen werden nicht dauerhaft gespeichert:
Die beiden Bezeichner "battery" bzw. "RoomName" verschwinden übrigens auch nach einem Neustart der Instanz hm-rega, wenn folgender Trigger benutzt wird:
- wieso wird hm-rega überhaupt neu gestartet?
- und was hat der Trigger damit zu tun?
Ich glaube die Antworten auf einige Fragen sind auch noch ausstehend
- wo kommen die Namen der Räume und Gewerke her?
- CCU
- selber in ioBroker angelegt
- wenn ja wie?
-
@homoran sagte in Räume und Funktionen werden nicht dauerhaft gespeichert:
wo kommen die Namen der Räume und Gewerke her?
CCU
selber in ioBroker angelegtwenn ja wie?
Hat er hier geschrieben...
https://forum.iobroker.net/post/678337
Ich synchronisiere die Räume und Funktionen von der CCU2 und nutze die durch die Rega-Instanz synchronisierten Aufzählungen in Blockly.
-
@dslraser Danke!
@kobi sagte in Räume und Funktionen werden nicht dauerhaft gespeichert:
Meine Instanz-Einstellungen von hm-rpc:
das ist aber nicht vollständig
@kobi sagte in Räume und Funktionen werden nicht dauerhaft gespeichert:
@homoran Sorry ich habe bei meiner letzten Antwort das Bild auf den betroffenen Blockly-Datenpunkt vergessen mitzugeben:
hier gibt es 2 hm-rpc (0 und 2)
die entsprechenden Einstellungen und die dazugehörigen rega einstellungen sehe ich auch nicht -
@kobi sagte in Räume und Funktionen werden nicht dauerhaft gespeichert:
ch synchronisiere die Räume und Funktionen von der CCU2 und nutze die durch die Rega-Instanz synchronisierten Aufzählungen in Blockly
das ist Dein Bild vom rega , da steht kein Intervall ?
bei mir sieht das so aus