NEWS
HM-RPC Level Kanal 3&4 nicht synchron
-
@foxriver76 sagte in HM-RPC Level Kanal 3&4 nicht synchron:
@paul53 Die Frage ist hier auch etwas wie du testest, auf die Anzeige im Admin würde ich mich nicht verlassen.
Wie vorhin bereits gesagt, Admin nutzt einen selbst gebauten Cache, der vermutlich noch nicht 100 % mit der Alias Funktion funktioniert. Auch iQontrol wird vermutlich einen Cache nutzen der villt. mit dem Alias System inkompatibel ist. Dazu müsstest du allerdings mal den Entwickler des Adapters fragen ob das sein kann.
-
@foxriver76 sagte: Admin nutzt einen selbst gebauten Cache,
Deshalb sollte @dslraser die Admin-Instanz neu starten, damit der Cache mit dem js-controller synchronisiert wird.
@paul53 sagte in HM-RPC Level Kanal 3&4 nicht synchron:
Deshalb sollte @dslraser die Admin-Instanz neu starten, damit der Cache mit dem js-controller synchronisiert wird.
Das hatte ich gemacht.
Aber mal anders gefragt, ich kann mich erinnern das man das cachen irgendwo abstellen kann.
Wo war das nochmal ? (sonst muß ich nochmal suchen) -
@paul53 sagte in HM-RPC Level Kanal 3&4 nicht synchron:
Deshalb sollte @dslraser die Admin-Instanz neu starten, damit der Cache mit dem js-controller synchronisiert wird.
Das hatte ich gemacht.
Aber mal anders gefragt, ich kann mich erinnern das man das cachen irgendwo abstellen kann.
Wo war das nochmal ? (sonst muß ich nochmal suchen) -
@dslraser sagte: das man das cachen irgendwo abstellen kann.
Ich wüsste nicht: Wo.
In Javascript kann man den eigenen Cache umgehen, indem man die asynchrone Version von Funktionen wie getState() verwendet.@paul53
ich meinte das hier
https://forum.iobroker.net/post/296618
das hatte ich mal gemacht, aber ich schaue gleich nochmal nach.Dazu müsstest du allerdings mal den Entwickler des Adapters fragen ob das sein kann.
auch das steht in dem Beitrag vom Entwickler, das iQontrol wohl nichts cached
https://forum.iobroker.net/post/296618 -
@paul53
ich meinte das hier
https://forum.iobroker.net/post/296618
das hatte ich mal gemacht, aber ich schaue gleich nochmal nach.Dazu müsstest du allerdings mal den Entwickler des Adapters fragen ob das sein kann.
auch das steht in dem Beitrag vom Entwickler, das iQontrol wohl nichts cached
https://forum.iobroker.net/post/296618 -
@dslraser
Woraus geht hervor, dass sich die Option "noFileCache" auf den Cache des Admin bezieht?@paul53 sagte in HM-RPC Level Kanal 3&4 nicht synchron:
@dslraser
Woraus geht hervor, dass sich die Option "noFileCache" auf den Cache des Admin bezieht?Ich weiß es nicht. Ich kann mich nur erinnern, das damals html Dateien im Iqontrol meta Ordner abgelegt / gescchrieben werden sollten und die waren dann immer nicht aktuell. Mit dieser Einstellung ging es dann...
-
@dslraser
Woraus geht hervor, dass sich die Option "noFileCache" auf den Cache des Admin bezieht?@paul53 sagte in HM-RPC Level Kanal 3&4 nicht synchron:
die Option "noFileCache"
ich habe es mal umgestellt und auch komplett neu gestartet, hat aber auch keine Auswirkung gehabt.
Die Werte stimmen immer, solange man alles über z.B. iQontrol oder eben über die Datenpunkte über ioBroker bedient, also auch der alias stimmt dann. Sobald ich die Tasten (das sind interne Direktverknüpfungen im HMIP-BROLL) des "Rollo Schalters" benutze, dann stimmt alias nicht mehr, so jedenfalls meine Beobachtung und das scheint ja bei @Negalein auch der Fall zu sein.
Ich habe jetzt das Blockly wieder eingeschaltet, damit ist dann auch die Anzeige im admin und somit auch in iQontrol richtig.
-
@paul53 sagte in HM-RPC Level Kanal 3&4 nicht synchron:
die Option "noFileCache"
ich habe es mal umgestellt und auch komplett neu gestartet, hat aber auch keine Auswirkung gehabt.
Die Werte stimmen immer, solange man alles über z.B. iQontrol oder eben über die Datenpunkte über ioBroker bedient, also auch der alias stimmt dann. Sobald ich die Tasten (das sind interne Direktverknüpfungen im HMIP-BROLL) des "Rollo Schalters" benutze, dann stimmt alias nicht mehr, so jedenfalls meine Beobachtung und das scheint ja bei @Negalein auch der Fall zu sein.
Ich habe jetzt das Blockly wieder eingeschaltet, damit ist dann auch die Anzeige im admin und somit auch in iQontrol richtig.
@dslraser sagte in HM-RPC Level Kanal 3&4 nicht synchron:
Sobald ich die Tasten (das sind interne Direktverknüpfungen im HMIP-BROLL) des "Rollo Schalters" benutze, dann stimmt alias nicht mehr, so jedenfalls meine Beobachtung und das scheint ja bei @Negalein auch der Fall zu sein.
Genau, ist bei mir auch.
Sobald mit einer Verknüpfung (bei mir zB BROLL die interne oder auch FROLL mit WRC2) geschaltet wird, geht der .4.LEVEL auf 0 bzw. 100.Mit dem Blockly funktioniert es perfekt.
Habs mit dem Alias dann nicht mehr probiert, nachdem ich die Beiträge seit Nachmittag gesehen habe. -
@dslraser sagte in HM-RPC Level Kanal 3&4 nicht synchron:
Sobald ich die Tasten (das sind interne Direktverknüpfungen im HMIP-BROLL) des "Rollo Schalters" benutze, dann stimmt alias nicht mehr, so jedenfalls meine Beobachtung und das scheint ja bei @Negalein auch der Fall zu sein.
Genau, ist bei mir auch.
Sobald mit einer Verknüpfung (bei mir zB BROLL die interne oder auch FROLL mit WRC2) geschaltet wird, geht der .4.LEVEL auf 0 bzw. 100.Mit dem Blockly funktioniert es perfekt.
Habs mit dem Alias dann nicht mehr probiert, nachdem ich die Beiträge seit Nachmittag gesehen habe.@negalein sagte: Habs mit dem Alias dann nicht mehr probiert
Weshalb nicht? Es kann durchaus sein, dass der Alias bei Dir funktioniert. Es wäre interessant zu erfahren, ob es ein generelles Problem ist oder ein spezielles Problem in der Umgebung von @dslraser.
-
@negalein sagte: Habs mit dem Alias dann nicht mehr probiert
Weshalb nicht? Es kann durchaus sein, dass der Alias bei Dir funktioniert. Es wäre interessant zu erfahren, ob es ein generelles Problem ist oder ein spezielles Problem in der Umgebung von @dslraser.
@paul53 sagte in HM-RPC Level Kanal 3&4 nicht synchron:
@negalein sagte: Habs mit dem Alias dann nicht mehr probiert
Weshalb nicht? Es kann durchaus sein, dass der Alias bei Dir funktioniert. Es wäre interessant zu erfahren, ob es ein generelles Problem ist oder ein spezielles Problem in der Umgebung von @dslraser.
@Negalein fände ich auch gut wenn Du das mal probieren würdest. (Aber dann das/die Hilfsblockly ausschalten nicht vergessen)
-
@paul53
ich meinte das hier
https://forum.iobroker.net/post/296618
das hatte ich mal gemacht, aber ich schaue gleich nochmal nach.Dazu müsstest du allerdings mal den Entwickler des Adapters fragen ob das sein kann.
auch das steht in dem Beitrag vom Entwickler, das iQontrol wohl nichts cached
https://forum.iobroker.net/post/296618 -
@paul53 sagte in HM-RPC Level Kanal 3&4 nicht synchron:
@negalein sagte: selbes Verhalten wie bei @dslraser
Wirklich? Der Alias zeigt den gleichen Wert wie Kanal 3.
Wollte ich auch gerade schreiben. Passt doch bei Dir.
-
@paul53 sagte in HM-RPC Level Kanal 3&4 nicht synchron:
Der Alias zeigt den gleichen Wert wie Kanal 3.
Ahhhh, stimmt.
Man sollte nicht mehrere Sachen gleichzeitig machen! ;)Dann könnt ich jetzt diesen Alias in Shuttercontroll verwenden?
-
@paul53 sagte in HM-RPC Level Kanal 3&4 nicht synchron:
@dslraser sagte: wie so ein alias fertig aussieht ?
{ "from": "system.adapter.javascript.1", "user": "system.user.admin", "ts": 1617735406586, "common": { "name": "Rollo Wintergarten", "role": "level", "type": "number", "desc": "per Script erstellt", "unit": "%", "min": 0, "max": 100, "def": 0, "read": true, "write": true, "alias": { "id": { "read": "hm-rpc.0.00115A49A5B2BE.3.LEVEL", "write": "hm-rpc.0.00115A49A5B2BE.4.LEVEL" } } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "alias.0.Wintergarten.Rollo.Level", "type": "state" }@Negalein
Funktioniert übrigens wie gewünscht (auch in iQontrol)Hier mal das Script von @paul53
// Original-Datenpunkt const idOrigin = 'hm-rpc.0.00111BE99FD0D1.4.LEVEL'/*Rollo Wohnzimmer Panoramafenster:4 LEVEL*/ // Optional: Status-Datenpunkt, wenn Kommando und Status getrennt. // Bei Nicht-Verwendung Leerstring '' zuweisen const idRead = 'hm-rpc.0.00111BE99FD0D1.3.LEVEL'/*Rollo Wohnzimmer Panoramafenster:4 LEVEL*/ // Alias-Datenpunkt const idAlias = 'Rollos.Rollo_Wohnzimmer_Panoramafenster'; var typeAlias, read, write, nameAlias, role, desc, min, max, unit, states, custom, raum, gewerk; // Folgende kommentieren, wenn keine Änderung der Eigenschaft erforderlich nameAlias = 'Rollo Wohnzimmer Panoramafenster'; desc = 'per Script erstellt'; // typeAlias = 'boolean'; // oder 'number' // read = "val < 0 ? -val : 0"; // Erkennung "Aus" --> false erfolgt automatisch // write = "val ? String(1) : String(0)"; // role = 'value'; // min = 0; // nur Zahlen // max = 100; // nur Zahlen // unit = '%'; // nur für Zahlen // states = {0: 'Aus', 1: 'Auto', 2: 'Ein'}; // Zahlen (Multistate) oder Logikwert (z.B. Aus/Ein) custom = {}; // verhindert doppelte Ausführung von history, ... // raum = 'EG_Flur'; // Groß-/Kleinschreibung in der ID beachten ! // gewerk = 'Licht'; // Groß-/Kleinschreibung in der ID beachten ! // Ab hier nichts ändern !! function createAlias(idDst, idSrc, idRd) { if(existsState(idDst)) log(idDst + ' schon vorhanden !', 'warn'); else { var obj = {}; obj.type = 'state'; obj.common = getObject(idSrc).common; obj.common.alias = {}; if(idRd) { obj.common.alias.id = {}; obj.common.alias.id.read = idRd; obj.common.alias.id.write = idSrc; obj.common.read = true; } else obj.common.alias.id = idSrc; if(typeAlias) obj.common.type = typeAlias; if(obj.common.read !== false && read) obj.common.alias.read = read; if(obj.common.write !== false && write) obj.common.alias.write = write; if(nameAlias) obj.common.name = nameAlias; if(role) obj.common.role = role; if(desc) obj.common.desc = desc; if(obj.common.type == 'number') { if(min !== undefined) obj.common.min = min; if(max !== undefined) obj.common.max = max; if(unit) obj.common.unit = unit; } else { if(obj.common.min !== undefined) delete obj.common.min; if(obj.common.max !== undefined) delete obj.common.max; if(obj.common.unit) delete obj.common.unit; } if(states) obj.common.states = states; if(custom && obj.common.custom) obj.common.custom = custom; obj.native = {}; setObject(idDst, obj, function() { if(idRd) setState(idRd, getState(idRd).val, true); else setState(idSrc, getState(idSrc).val, true); }); if(raum && existsObject('enum.rooms.' + raum)) { let obj = getObject('enum.rooms.' + raum) obj.common.members.push(idDst); setObject('enum.rooms.' + raum, obj); } if(gewerk && existsObject('enum.functions.' + gewerk)) { let obj = getObject('enum.functions.' + gewerk) obj.common.members.push(idDst); setObject('enum.functions.' + gewerk, obj); } } } createAlias('alias.0.' + idAlias, idOrigin, idRead);Und hier der alias
{ "type": "state", "common": { "name": "Rollo Wohnzimmer Panoramafenster", "def": 0, "type": "number", "read": true, "write": true, "min": 0, "max": 100, "unit": "%", "role": "level", "smartName": { "de": "Rollo Panoramafenster" }, "alias": { "id": { "read": "hm-rpc.0.00111BE99FD0D1.3.LEVEL", "write": "hm-rpc.0.00111BE99FD0D1.4.LEVEL" } }, "desc": "per Script erstellt" }, "native": {}, "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1617809166789, "_id": "alias.0.Rollos.Rollo_Wohnzimmer_Panoramafenster", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }@dslraser sagte in HM-RPC Level Kanal 3&4 nicht synchron:
Und hier der alias
gehört das noch irgendwo rein? Raw, ...?
-
@paul53 sagte in HM-RPC Level Kanal 3&4 nicht synchron:
Der Alias zeigt den gleichen Wert wie Kanal 3.
Ahhhh, stimmt.
Man sollte nicht mehrere Sachen gleichzeitig machen! ;)Dann könnt ich jetzt diesen Alias in Shuttercontroll verwenden?
@negalein sagte in HM-RPC Level Kanal 3&4 nicht synchron:
Ahhhh, stimmt.
Man sollte nicht mehrere Sachen gleichzeitig machen!
Dann könnt ich jetzt diesen Alias in Shuttercontroll verwenden?Hast Du auch mal mit einem Taster nicht ganz auf und nicht ganz zu gemacht und dann mal die Werte beobachtet ?
-
@dslraser sagte in HM-RPC Level Kanal 3&4 nicht synchron:
Und hier der alias
gehört das noch irgendwo rein? Raw, ...?
@negalein sagte in HM-RPC Level Kanal 3&4 nicht synchron:
gehört das noch irgendwo rein? Raw, ...?
Nein, das war nur zur Ansicht um die Anderen nachsehen zu lassen ob der alias vielleicht falsch erstellt wurde.
-
@negalein sagte in HM-RPC Level Kanal 3&4 nicht synchron:
Ahhhh, stimmt.
Man sollte nicht mehrere Sachen gleichzeitig machen!
Dann könnt ich jetzt diesen Alias in Shuttercontroll verwenden?Hast Du auch mal mit einem Taster nicht ganz auf und nicht ganz zu gemacht und dann mal die Werte beobachtet ?
@dslraser sagte in HM-RPC Level Kanal 3&4 nicht synchron:
Hast Du auch mal mit einem Taster nicht ganz auf und nicht ganz zu gemacht und dann mal die Werte beobachtet ?
Ja, die Screenshots sind vom Taster (WRC2) gesteuert.
Nein, das war nur zur Ansicht um die Anderen nachsehen zu lassen ob der alias vielleicht falsch erstellt wurde.
Ah ok.
Bei mir sieht der Raw so aus.{ "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1617972202814, "common": { "name": "Rollo Wohnzimmer", "type": "number", "unit": "%", "role": "level", "desc": "per Script erstellt", "def": 0, "min": 0, "max": 100, "read": true, "write": true, "smartName": { "de": "Rollo Wintergarten" }, "alias": { "id": { "read": "hm-rpc.0.00115A49A5B2BE.3.LEVEL", "write": "hm-rpc.0.00115A49A5B2BE.4.LEVEL" } } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "alias.0.Rollos.Rollo_Wohnzimmer", "type": "state" } -
@dslraser sagte in HM-RPC Level Kanal 3&4 nicht synchron:
Hast Du auch mal mit einem Taster nicht ganz auf und nicht ganz zu gemacht und dann mal die Werte beobachtet ?
Ja, die Screenshots sind vom Taster (WRC2) gesteuert.
Nein, das war nur zur Ansicht um die Anderen nachsehen zu lassen ob der alias vielleicht falsch erstellt wurde.
Ah ok.
Bei mir sieht der Raw so aus.{ "from": "system.adapter.javascript.0", "user": "system.user.admin", "ts": 1617972202814, "common": { "name": "Rollo Wohnzimmer", "type": "number", "unit": "%", "role": "level", "desc": "per Script erstellt", "def": 0, "min": 0, "max": 100, "read": true, "write": true, "smartName": { "de": "Rollo Wintergarten" }, "alias": { "id": { "read": "hm-rpc.0.00115A49A5B2BE.3.LEVEL", "write": "hm-rpc.0.00115A49A5B2BE.4.LEVEL" } } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "alias.0.Rollos.Rollo_Wohnzimmer", "type": "state" }@negalein
Freut mich das es bei Dir funktioniert.
Aber ich verstehe nicht warum es dann bei mir nicht geht wie es soll ?Edit: beobachte es trotzdem mal weiter. Bei mir war das auch nicht direkt nach dem bedienen falsch...

