NEWS
Blockly Objekt ID auf True/False setzen
-
@codierknecht was genau ist der Vorteil davon gegenüber falls dann?
-
@memberx
Du sparst Dir ein Script. -
Versteh nicht ganz, wie mir das ein Script spart? Soweit ich jetzt gelesen hab, ist der Alias doch eher ein Replacement für zentralere Datenpunkte, damit man bspw. nur die Datenquelle ändert wenn nötig, anstatt überall die Quelle anzupassen?!
Oder wieso spare ich mir in meinem Fall ein Script?
-
@memberx sagte: wieso spare ich mir in meinem Fall ein Script?
Um den Unifi-Datenpunkt zu steuern, wird natürlich ein Skript benötigt:
Der Block "nicht" wandelt 1 in false und 0 in true.
-
@paul53 muss dann wirklich nur nicht wert rein? Nicht mehr spezifisch Wert von Objekt Urlaub?
-
@memberx sagte: muss dann wirklich nur nicht wert rein?
Ja,
Wert
(findet man unter "Trigger") enthält den Wert des Trigger-Datenpunktes. -
-
@memberx sagte in Blockly Objekt ID auf True/False setzen:
Versteh nicht ganz, wie mir das ein Script spart? Soweit ich jetzt gelesen hab, ist der Alias doch eher ein Replacement für zentralere Datenpunkte, damit man bspw. nur die Datenquelle ändert wenn nötig, anstatt überall die Quelle anzupassen?!
Oder wieso spare ich mir in meinem Fall ein Script?
Weil man mit einem Alias nicht nur, wie du beschreibst, ein Replacement ist, sondern man kann damit auch Werte des Quelldatenpunkts manipulieren (verändern, berechnen, usw) und andersrum.
Beispiel: mein Quelldatenpunkt liefert Watt und ich möchte aber Kilowatt, dann erstelle ich einen Alias und füge als Formel zum Lesen
val * 1000
ein. Somit benötige ich kein Script, weil alles der Alias macht.Beispiel 2:
Ich habe einen Quelldatenpunkt, welcher als StringON
oderOFF
hat. Ich möchte aber woanders in irgendwelchen Scripten nurtrue/false
verwenden.
Dann einen Alias des typsboolean
. Für lesen:val === "ON" ? true : false
Für schreiben:val ? "ON" : "OFF"
Somit habe ich eigene Datenpunkte ohne ein Script.
-
@schmakus sagte: Formel zum Lesen val * 1000
val / 1000
oder mit Runden auf 2 Nachkommastellen
Math.round(val / 10) / 100
-
@paul53 Und wie könnte folgendes man es angehen:
Vor dem Urlaub ist ser Unifi AP AUS (aus irgendeinen Grund)
Wenn Urlaub True -> Unifi AP POE AUSSCHALTEN
Wenn Urlaub dann geändert auf FALSE -> Status wie vorher wiederherstellen, also wenn er vorher AN war wieder an, wenn er AUS war, wieder aus
-
@memberx sagte: Status wie vorher wiederherstellen
Während des Urlaubs sollte es keinen Skript-Neustart geben, denn den überlebt die Variable
warEin
nicht.EDIT: Sonst muss man sich den Wert in einem eigenen Datenpunkt merken: