• Categories
    • Recent
    • Tags
    • Popular
    • Register
    • Login

    Frustrated Newbie - Help with Nodes and Sensors

    Scheduled Pinned Locked Moved Troubleshooting
    46 Posts 4 Posters 6.0k Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • jkandasaJ Offline
      jkandasa @Emenike
      last edited by jkandasa

      @Emenike said in Frustrated Newbie - Help with Nodes and Sensors:

      I then tried to create the JS script as described in your old reference you supplied... but I got an error.

      Did you modify the script? If yes, can you post your script?

      If not, you have to create all the UID, valve-status is not available in your UID's list also Value 1 is different then value01

      1 Reply Last reply Reply Quote 0
      • EmenikeE Offline
        Emenike
        last edited by

        Hello @jkandasa
        I have been out of town, haven't touched MYC for a while. Just popped intoday and tried my hands on the script. Ran it after creating the Operation and the Timmer to trigger and run it. But it wont tun. I get an error ```

        {
          "errorMessage": "TypeError: Cannot get property \"status\" of null in <eval> at line number 8"
        }
        

        Here is the JS script that I edited for 8 valves

        var myImports = new JavaImporter(java.io, java.lang, java.util);
        
        with(myImports) {
          
          var LoopThroughValves = mcApi.variable().get("Status");
        
          //Check already running?
          if(LoopThroughValves.status !== 'running'){
        
            //Update as running
            valveStatus.value = "running";
            mcApi.variable().update(valveStatus);
            mcApi.logger().debug("Loop Through Valve Script Triggered...");
            
            var masterValve = mcApi.uidTag(0).getByUid("All Zones").getResource();
            var valve01 = mcApi.uidTag().getByUid("Zone 1").getResource();
            var valve02 = mcApi.uidTag().getByUid("Zone 2").getResource();
            var valve03 = mcApi.uidTag().getByUid("Zone 3").getResource();
            var valve04 = mcApi.uidTag().getByUid("Zone 4").getResource();
            var valve05 = mcApi.uidTag().getByUid("Zone 5").getResource();
            var valve06 = mcApi.uidTag().getByUid("Zone 6").getResource();
            var valve07 = mcApi.uidTag().getByUid("Zone 7").getResource();
            var valve08 = mcApi.uidTag().getByUid("Zone 8").getResource();
        
            var delayTime = 1000 * 60 * 10; //10 minutes
          
            //Turn ON master valve and Valve01
            masterValve.value = "1"; //Update master valve ON state
            mcApi.sensor().sendPayload(masterValve); //sensd state
            valve01.value = "1"; //Update valve01 ON state
            mcApi.sensor().sendPayload(valve01); //sensd state
              
            //Update valve01 is running
            valveStatus.value2 = "value01";
            mcApi.variable().update(valveStatus);
            //Wait time
            Thread.sleep(delayTime);
          
            //Turn OFF valve01 and turn ON valve02
            valve01.value = "0"; //Update valve01 OFF state
            mcApi.sensor().sendPayload(valve01); //send state
            valve02.value = "1"; //Update valve02 ON state
            mcApi.sensor().sendPayload(valve02); //send state
            
            //Update valve02 is running
            valveStatus.value2 = "value02";
            mcApi.variable().update(valveStatus);
            
            //Wait time
            Thread.sleep(delayTime);
          
            //Turn OFF valve02 and turn ON valve03
            valve02.value = "0"; //Update valve02 OFF state
            mcApi.sensor().sendPayload(valve02); //send state
            valve03.value = "1"; //Update valve03 ON state
            mcApi.sensor().sendPayload(valve03); //send state
          
            //Update valve03 is running
            valveStatus.value2 = "value03";
            mcApi.variable().update(valveStatus);
          
            //Wait time
            Thread.sleep(delayTime);
          
            //Turn OFF valve03 and turn ON valve04
            valve03.value = "0"; //Update valve03 OFF state
            mcApi.sensor().sendPayload(valve03); //send state
            valve04.value = "1"; //Update valve04 ON state
            mcApi.sensor().sendPayload(valve04); //send state
          
            //Update valve04 is running
            valveStatus.value3 = "value04";
            mcApi.variable().update(valveStatus);
          
            //Wait time
            Thread.sleep(delayTime);
        
            //Turn OFF valve04 and turn ON valve05
            valve04.value = "0"; //Update valve04 OFF state
            mcApi.sensor().sendPayload(valve04); //send state
            valve05.value = "1"; //Update valve05 ON state
            mcApi.sensor().sendPayload(valve05); //send state
          
            //Update valve05 is running
            valveStatus.value4 = "value05";
            mcApi.variable().update(valveStatus);
          
            //Wait time
            Thread.sleep(delayTime);
        
            //Turn OFF valve05 and turn ON valve06
            valve05.value = "0"; //Update valve05 OFF state
            mcApi.sensor().sendPayload(valve05); //send state
            valve06.value = "1"; //Update valve06 ON state
            mcApi.sensor().sendPayload(valve06); //send state
          
            //Update valve06 is running
            valveStatus.value5 = "value06";
            mcApi.variable().update(valveStatus);
          
            //Wait time
            Thread.sleep(delayTime);
        
            //Turn OFF valve06 and turn ON valve07
            valve06.value = "0"; //Update valve06 OFF state
            mcApi.sensor().sendPayload(valve06); //send state
            valve07.value = "1"; //Update valve07 ON state
            mcApi.sensor().sendPayload(valve07); //send state
          
            //Update valve06 is running
            valveStatus.value6 = "value07";
            mcApi.variable().update(valveStatus);
          
            //Wait time
            Thread.sleep(delayTime);
        
        
            //Turn OFF valve07 and turn ON valve08
            valve07.value = "0"; //Update valve07 OFF state
            mcApi.sensor().sendPayload(valve07); //send state
            valve08.value = "1"; //Update valve08 ON state
            mcApi.sensor().sendPayload(valve08); //send state
          
            //Update valve07 is running
            valveStatus.value7 = "value08";
            mcApi.variable().update(valveStatus);
          
            //Wait time
            Thread.sleep(delayTime);
        
            //Turn OFF valve08 and turn OFF master valve
            valve08.value = "0"; //Update valve08 OFF state
            mcApi.sensor().sendPayload(valve08); //send state
            masterValve.value = "0"; //Update master valve OFF state
            mcApi.sensor().sendPayload(masterValve); //send state
            
            //Update not running
            valveStatus.value = "stopped";
            valveStatus.value2 = "-";
            mcApi.variable().update(valveStatus);
            mcApi.logger().debug("Loop Through Valve Script Completed...");
          }else{
            mcApi.logger().warn("Loop Through Valve Script is already running...");
          }
        }
        
        1 Reply Last reply Reply Quote 0
        • EmenikeE Offline
          Emenike
          last edited by

          What am I doing wrong? I am posting the Nodes and Sensors just incase... Sensors Script.png

          jkandasaJ 1 Reply Last reply Reply Quote 0
          • jkandasaJ Offline
            jkandasa @Emenike
            last edited by

            @Emenike Can you post your UID Tags and Variables repositorypage?

            1 Reply Last reply Reply Quote 0
            • EmenikeE Offline
              Emenike
              last edited by

              Sorry @jkandasa, I have been on the move travelled for the Christmas Holiday. so I am away from my nodes and sensors. But I have the MYC on my laptop. so here are the data you requested for.
              UID2.png

              and the Variables - Variable Repisotory.png

              jkandasaJ 1 Reply Last reply Reply Quote 0
              • jkandasaJ Offline
                jkandasa @Emenike
                last edited by

                @Emenike I do not find a variable Status in your variable repository screenshot, But you are trying to access it,

                  var LoopThroughValves = mcApi.variable().get("Status");
                
                1 Reply Last reply Reply Quote 0
                • First post
                  Last post

                1

                Online

                598

                Users

                530

                Topics

                3.4k

                Posts
                Copyright © 2015-2025 MyController.org | Contributors | Localization