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

    Examples of advanced control rules

    Troubleshooting
    4
    17
    4772
    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.
    • B
      blacksheepinc @jkandasa last edited by

      @jkandasa I think in these cases blockly would be very useful.
      Have you tried Domoticz before? It has blockly, and making the above mentioned algorithems with it are such an easy job.

      jkandasa 1 Reply Last reply Reply Quote 0
      • jkandasa
        jkandasa @blacksheepinc last edited by

        @blacksheepinc No, I never tried Domoticz. Let me have a look. thank you

        1 Reply Last reply Reply Quote 0
        • jkandasa
          jkandasa @goranrad last edited by

          @goranrad For this kind of work execute the script with timer suits perfectly. Use the following script to control your humidity-controller. you can use the following script as an operation type (NOT condition type) and configure a timer to execute this script for every 40 seconds once.

          Note: do not forget to create UID tags for humidity and humidifier. 🙂

          import time
          
          humidity = mcApi.uidTag().getByUid("uid-humidity").getResource();
          humidifier = mcApi.uidTag().getByUid("uid-humidifier").getResource();
          
          humidity_threshold = 78.4
          on_time = 10 # seconds
          
          if(float(humidity.value) < humidity_threshold):
            humidifier.value = "1";
            mcApi.sensor().sendPayload(humidifier); # sensd state
            time.sleep(on_time)
            humidifier.value = "0";
            mcApi.sensor().sendPayload(humidifier); # sensd state
          

          0_1494903771553_humidity-controller.png

          1 Reply Last reply Reply Quote 0
          • G
            goranrad last edited by

            Thank you !

            1 Reply Last reply Reply Quote 0
            • G
              goranrad last edited by

              Hi again,

              Sorry to disturb but I get the following error when i try to manually run the script.

              {
              "errorMessage": "AttributeError: 'org.mycontroller.standalone.db.tables.UidTag' object has no attribute 'getResource' in <script> at line number 3"
              }

              Sure I don't have to import mcAPI to python or something?

              I have created the UDItags

              Regards
              Goran

              jkandasa 1 Reply Last reply Reply Quote 0
              • jkandasa
                jkandasa @goranrad last edited by jkandasa

                @goranrad
                The error looks like, you do not create UID-Tag as follows,

                0_1495025133044_upload-be870e3c-7d60-4786-a4cc-ef5b5b651505

                Do you have installed python script engine? By default, MyController does not have python script engine as it is eating more resource. I would recommend going with JavaScript(built-in, lightweight).

                Refer this link to install python script engine support.

                If you want, I can convert this script to JavaScript

                1 Reply Last reply Reply Quote 0
                • G
                  goranrad last edited by

                  Hi, I have python installed and have created UDI tags,
                  0_1495031706178_python.png

                  and the UDIs are there
                  0_1495031740468_udi.png

                  Reason I use Python is because its the language I'm most comfortable with. But i'll do as you say if you pleas can convert the code to JavaScript to get me started.

                  Much appreciated.
                  /goran

                  jkandasa 1 Reply Last reply Reply Quote 0
                  • jkandasa
                    jkandasa @goranrad last edited by jkandasa

                    @goranrad You should use latest SNAPSHOT version from here: http://forum.mycontroller.org/topic/58/download-snapshot-build and these resources should have value.

                    I will convert this script to JavaScript by tomorrow and post here.

                    1 Reply Last reply Reply Quote 0
                    • G
                      goranrad last edited by goranrad

                      Hi J,
                      I did the update and the python script worked like a charm.
                      If you have time pleas post the JavaScript version.

                      Thank you!

                      jkandasa 1 Reply Last reply Reply Quote 0
                      • jkandasa
                        jkandasa @goranrad last edited by

                        @goranrad JavaScript,

                        var myImports = new JavaImporter(java.lang, java.util);
                        
                        with(myImports) {
                          var humidity_threshold = 78.4;
                          var on_time = 10; // seconds
                          humidity = mcApi.uidTag().getByUid("uid-humidity").getResource();
                          humidifier = mcApi.uidTag().getByUid("uid-humidifier").getResource();
                        
                          if(parseFloat(humidity.value) < humidity_threshold){
                            humidifier.value = "1";
                            mcApi.sensor().sendPayload(humidifier); // sensd state
                            Thread.sleep(on_time * 1000);
                            humidifier.value = "0";
                            mcApi.sensor().sendPayload(humidifier); // sensd state
                          }
                        }
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        1
                        Online

                        646
                        Users

                        504
                        Topics

                        3.3k
                        Posts

                        Copyright © 2015-2022 MyController.org | Contributors | Localization