@jkandasa Thanks. Got it working.
Best posts made by seant
-
RE: How to set sensor value with javascript
Latest posts made by seant
-
RE: My sensors Names disappering every time
@bmanos Came across this now and FYI, Custom node names were addressed here : https://github.com/mycontroller-org/mycontroller/issues/464
Not ideal approach - but at least it works
-
RE: How to set sensor value with javascript
@jkandasa This method no longer works when you set the gateway to use ACK. Is there not a way to set a value for a sensor variable only on the server, without transmitting through the gateway as well.
-
RE: How to set sensor value with javascript
@jkandasa Thanks. Got it working.
-
RE: How to set sensor value with javascript
@jkandasa Thanks I have already done those steps. The issue I have is trying to set a value for the virtual sensor via javascript.
What I have done thus far is- Create 2 virtual sensors
- Create a "operation" script - using javascript
- Create a rule that triggers the script when value changes
I've added my javascript here, but the last 2 lines of code are not setting the virtual sensors values. Can you assist with how to do this please?
// Get Pump sensor via UID-Tag var tankDistanceSensor = mcApi.uidTag().getByUid("water-tank-distance").getResource(); var tankLitresSensor = mcApi.uidTag().getByUid("water-tank-litres").getResource(); var tankPercentageSensor = mcApi.uidTag().getByUid("water-tank-percentage").getResource(); //get config in variable tankConfig = mcApi.variable().get("water-tank-config"); fullDistance = tankConfig.value; // Value emptyDistance = tankConfig.value2; // Value 2 totalLitres = tankConfig.value3; // Value 3 //Get sensor values with UID Tags var pingDistance = tankDistanceSensor.value; //Water tank level percent if (pingDistance > 0 && pingDistance < (fullDistance + 50)) { percentage = ((pingDistance - emptyDistance) / (fullDistance - emptyDistance) * 100); litres = percentage / 100 * totalLitres; //THESE 2 LINES DO NOT SEEM TO SET THE VALUES tankLitresSensor.setValue(litres); tankPercentageSensor.setValue(percentage); }
-
How to set sensor value with javascript
Hi
I have an ultrasonic distance sensor that sends distances in cm to mycontroller. I would like to add 2 virtual sensors, one for litres and one for percentage and the values for these to be calculated and set/saved when the distance sensor values are received.
I have attempted to do this via a javascript script, but I cannot seem to figure out how to set the values for the virtual sensors.
Please can you let me know how to save a value for a sensor using javascript.
Thanks