NEWS
(gelöst) String konvertieren in boolean
-
@paul53
Hallo Paul, vielen Dank
Aber mit dem ersteren bin ich schlicht überfordert, mit dem Blockly kann ich schon was mehr anfangen, ob ich da was zusammen kriege probiere ich gleich mal. -
@andibr Editor-Fehler
-
Ich hoffe das passt so?
-
@andibr Welcher Wert soll jetzt in den ALIAS: alias.0.Heizung.Anford_Kessel.ACTUAL
Input_Number10 oder Output_Number02,*** -
Also eigentlich sind es am Schluss alle 4 Status Meldungen für die ich im alias.0 auch bereits 4 DP angelegt habe. Mit diesen möchte ich am Schluss auch auf der Vi nachher die Wigets steuern und natürlich die via die "Anforderung" auch die Verbrauchsmenge mit dem h-Zähler machen.
-
@andibr Ja welcher Wert von den Input-Werten oder Output-Werten ist denn jetzt den einzelnen Alias-Werten zuzuordnen?
Sollen die Alias-Werte die Input oder Output-Werte steuern oder nur anzeigen? -
@mcu
Also eigentlich möchte ich in den Alias einfach die Status angezeigt haben, da ich die Heizung sowieso nur visualisieren und protokollieren kann auf diesem weg, bruache ich keine Eingriffe -
@andibr Ok, dann nur die Zuordnung der einzelne Datenpunkte.
Also so: javascript.0.UVR16x2.Input_Number10 -> alias.0.Heizung.Anford_Kessel.ACTUAL -
@mcu ja so denke ich mir das, dann kann man wenn ich dann wirklich mal Lust hätte (vor allem auch das Wissen) auch die Datenpunkte auch über die CAN Schnittstelle holen. Aber ich denke das wird eher nicht geschehen, den was soll es mir bringen wenn es dann läuft
und zwar sind die auf der Heizung folgendermassen beschriftet:
....Input_Nummer10 == Pelletmagel
....Output_Nummer02 == Kesselpumpe
....Output_Nummer05 == Anforderung
....Output_Nummer07 == Heizkreispumpe -
@andibr sagte: in den Alias einfach die Status angezeigt haben
Dann kann der Alias mit Wandlung nach "boolean" so aussehen:
{ "_id": "alias.0.Heizung.Anford_Kessel.ACTUAL", "type": "state", "common": { "name": "Anforderung Kessel", "role": "indicator", "type": "boolean", "read": true, "write": false, "alias": { "id": "javascript.0.UVR16x2.Output_Number05", "read": "!!parseInt(val)" } }, "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1625924529491, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
@andibr Dann geh mal ist das Alias-Objekt z.b vom Pelletmagel und ändere die Daten im Expertenmodus so wie es von @paul53 beschrieben wurde.
Versuch es mal.Dieser Teil muss nicht angepasst werden!!! "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1625924529491, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }
Musst evtl nur den Part ergänzen und die Werte mit Input/Output richtig eingeben:
, "alias": { "id": "javascript.0.UVR16x2.Output_Number05", "read": "!!parseInt(val)" }
-
@mcu vieleicht stelle ich mich jetzt etwas naiv an, aber wo genau muss es korrigiert werden?
{ "_id": "alias.0.Heizung.Anford_Kessel.ACTUAL", "common": { "name": "ACTUAL", "role": "indicator", "type": "boolean", "read": true, "write": true, "alias": { "id": "" }, "custom": { "statistics.0": { "enabled": true, "logName": "ACTUAL", "count": false, "sumCount": false, "timeCount": true, "fiveMin": false, "groupFactor": "", "impUnit": "", "impUnitPerImpulse": "", "sumIgnoreMinus": true, "sumDelta": false, "avg": false, "minmax": false, "sumGroup": "" } } }, "native": {}, "type": "state", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1625910299738, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 } }
Das steht aktuell unter RAW drin
-
@andibr sagte: aber wo genau muss es korrigiert werden?
Zeile 10:
"id": "javascript.0.UVR16x2.Output_Number05", "read": "!!parseInt(val)"
"write" (Zeile 8 ) in false ändern und sinnvollen Namen vergeben (Zeile 4).
-
@paul53
Du hast Recht das "Actual" ist kaum Sinnvoll, das hat es automatisch gegeben beim Anlegen über den Alias. Nun steht sogar schon mal "true" drin und die Heizung läuft auch gerade. -
@andibr Frage: Da die Datenpunkte unter "javascript.0" stehen, wurden sie doch durch ein Skript erzeugt?
Dann wäre die Wandlung nach "boolean" dort eigentlich besser aufgehoben. -
@paul53
Das ist so, nur habe ich leider keine Ahnung wie das in den Javaskript gehen soll. Da ich von Beruf "nur" Elektroplaner und nicht Softwareingenieur bin, verstehe ich da eben nicht sehr viel. Das Skript zum die Daten aus dem UVR16x2 raus zu holen hat mir ein Arbeitskollege so rasch nebenbei gemacht.So mit Blockly ein paar Enocean-Taster mit Shelly zu verknüpfen habe ich ja noch hingekriegt, aber hier bewege ich mich in einem Bereich der mein Verständnis etwas übersteigt.
Edit:
Jetzt scheint es wunderbar zu passen und auch die Werte stimmen mit denen von der Heizungssteuerung überrein.
Zum Schluss möchte ich mich ganz herzlich bei euch bedanken für die Hilfe.
Andi