• header.categories
    • header.recent
    • header.tags
    • header.popular
    • register
    • login

    MyController 1.2.0.Final version released

    scheduled pinned locked moved Announcements
    release1.2.0.final
    19 posts 4 posters 4.1k views 2 watching
    loading-more-posts
    • oldest-to-newest
    • newest-to-oldest
    • most-votes
    reply
    • reply-as-topic
    guest-login-reply
    deleted-message
    • skywatchS offline
      skywatch
      global:last-edited-by,

      @Tag

      Seems it almost solved the issue, but a sensor using 'custom' and 'variable1' still can exhibit this behaviour. But things have hopefully improved after some effort this week.

      one-reply-to-this-post last-reply-time reply quote 0
      • skywatchS offline
        skywatch
        global:last-edited-by,

        I replaced custom and var1 with S_DUST and V_LEVEL. but still the same issue.

        The node has 2 sensors, both send name with presentation. Only one name shows, the other never seems to work, not as custom or dust.

        Hmmmmm........

        jkandasaJ one-reply-to-this-post last-reply-time reply quote 0
        • jkandasaJ offline
          jkandasa @skywatch
          global:last-edited-by,

          @skywatch can you post your sketch?

          one-reply-to-this-post last-reply-time reply quote 0
          • skywatchS offline
            skywatch
            global:last-edited-by,

            Of course I can.... here it is.....;)

            // Enable debug prints to serial monitor
            #define MY_DEBUG
            
            // Enable and select radio type attached
            #define MY_RADIO_NRF24
            #define MY_RF24_PA_LEVEL   RF24_PA_HIGH
            #define MY_NODE_ID 15
            #define MY_RF24_CHANNEL (97)
            //#define MY_REPEATER_FEATURE
            //#define MY_SIGNING_ATSHA204
            //#define MY_SIGNING_REQUEST_SIGNATURES 
            #include <Wire.h>
            #include <MySensors.h>
            #include <AS3935.h> // AS3935 MOD-1016 by Embedded Adventures
            
            volatile bool detected = false;
            
            //-----------------IMPORTANT--------------------
            //---------------CHANGE SETTINGS HERE-----------
            #define IRQ_pin 2
            
            #define AS3935_TUNE_CAPS     5 // <-- SET THIS VALUE TO THE NUMBER LISTED ON YOUR BOARD 
            #define AS3935_INDOORS       1 // AS3935_INDOORS=1 indoors, AS3935_INDOORS=0 outdoors
            #define AS3935_NOISE_FLOOR   6
            #define AS3935_ENABLE_DISTURBERS 1 // 0 or 1      
            
            #define CHILD_ID_DISTANCE 1
            #define CHILD_ID_INTENSITY 2
            MyMessage msgDist(CHILD_ID_DISTANCE, V_DISTANCE);
            MyMessage msgInt(CHILD_ID_INTENSITY, S_DUST);
            unsigned long heartbeat_time = 60000*10; //every 10 mins.
            unsigned long last_heartbeat_time = 0;
            
            void setup()
            {
              Serial.begin(115200);
              while (!Serial) {}
              Serial.println("MOD-1016 (AS3935) Lightning Sensor");
              Serial.println("beginning boot procedure....");
            
              Wire.begin();
              mod1016.init(IRQ_pin);
            
              //-----------------IMPORTANT--------------------
              //---------------CHANGE SETTINGS HERE-----------
              //Tune Caps, Set AFE, Set Noise Floor
              //autoTuneCaps(IRQ_pin);
              mod1016.setTuneCaps(AS3935_TUNE_CAPS);
              wait(2);
            #if AS3935_INDOORS == 1
              mod1016.setIndoors();
            #else
              mod1016.setOutdoors();
            #endif
              wait(2);
              mod1016.setNoiseFloor(AS3935_NOISE_FLOOR);
              wait(2);
            #if AS3935_ENABLE_DISTURBERS == 1
              mod1016.enableDisturbers();
            #else
              mod1016.disableDisturbers();
            #endif
              //mod1016.calibrateRCO();
              wait(2);
              Serial.println("TUNE\tIN/OUT\tNOISEFLOOR");
              Serial.print(mod1016.getTuneCaps(), HEX);
              Serial.print("\t");
              Serial.print(mod1016.getAFE(), BIN);
              Serial.print("\t");
              Serial.println(mod1016.getNoiseFloor(), HEX);
              Serial.print("\n");
            
              pinMode(IRQ_pin, INPUT);
              attachInterrupt(digitalPinToInterrupt(IRQ_pin), alert, RISING);
              Serial.println("after interrupt");
              // delay execution to allow chip to stabilize.
              wait(1000);
            
            }
            
            void presentation()  {
              // Send the sketch version information to the gateway and Controller
              sendSketchInfo("Lightning2 MOD-1016", "0.3");
            
              // Register all sensors to gw (they will be created as child devices)
              present(CHILD_ID_DISTANCE, S_DISTANCE, "Distance");
              wait(100);
              present(CHILD_ID_INTENSITY, V_LEVEL), "Intensity";
            }
            
            void loop() {
              if (detected) {
                translateIRQ(mod1016.getIRQ());
                detected = false;
              }
              // Send heartbeat 
                if ((millis() - last_heartbeat_time) > heartbeat_time) {
                sendHeartbeat();
                last_heartbeat_time = millis();
              }
            }
            
            void alert() {
              detected = true;
            }
            
            void translateIRQ(uns8 irq) {
              switch (irq) {
                case 1:
                  Serial.println("Noise detected");
                  break;
                case 4:
                  Serial.println("Disturber detected");
                  break;
                case 8:
                  Serial.println("Lightning detected!");
                  printandsendToGW();
                  break;
            
              }
            }
            
            void printandsendToGW() {
              int distance = mod1016.calculateDistance();
              unsigned int lightning_intensity = mod1016.getIntensity();
              if (distance == -1)
                Serial.println("Lightning out of range");
              else if (distance == 1)
                Serial.println("Distance not in table");
              else if (distance == 0)
                Serial.println("Lightning overhead");
              else {
                Serial.print("Lightning ~");
                Serial.print(distance);
                Serial.println("km away\n");
                Serial.print("Lightning Intensity: ");
                Serial.println(lightning_intensity);
                send(msgDist.set(distance));
                send(msgInt.set(lightning_intensity));
              }
            }
            

            I hope you can see if I went wrong somewhere! But I have checked it and one works (distance) and one does not (intensity).

            one-reply-to-this-post last-reply-time reply quote 0
            • skywatchS offline
              skywatch
              global:last-edited-by, skywatch

              Ah, I see it ... missing bracket (well in the wrong place anyway) - will retry this now! - sorry for confusion.

              Update - of course it works when you do it right! Problem solved! 😉

              one-reply-to-this-post last-reply-time reply quote 0
              • skywatchS offline
                skywatch
                global:last-edited-by,

                But after testing this suddenly all nodes showed as down!!!!

                A reboot of the pi didn't solve it, only a full poweroff and then power on again a few minutes later did the trick.

                Below is what is in the myslog for this event...

                [Wed Jul 18 17:07:10 BST 2018] IO error: java.net.SocketException: Connection reset in processing a request from /192.168.1.6:8443 / sun.security.ssl.SSLSocketImpl
                [Wed Jul 18 17:07:11 BST 2018] IO error: java.net.SocketException: Connection reset in processing a request from /192.168.1.6:8443 / sun.security.ssl.SSLSocketImpl
                [Wed Jul 18 17:07:12 BST 2018] IO error: java.net.SocketException: Connection reset in processing a request from /192.168.1.6:8443 / sun.security.ssl.SSLSocketImpl
                [Wed Jul 18 17:07:18 BST 2018] IO error: java.net.SocketException: Connection reset in processing a request from /192.168.1.6:8443 / sun.security.ssl.SSLSocketImpl
                [Wed Jul 18 17:07:18 BST 2018] IO error: java.net.SocketException: Connection reset in processing a request from /192.168.1.6:8443 / sun.security.ssl.SSLSocketImpl
                [Wed Jul 18 19:20:43 BST 2018] Accept: java.net.SocketException: Socket closed
                2018-07-18 19:20:46,412 INFO [MyController.org Shutdown-Hook] [org.mycontroller.standalone.mqttbroker.MoquetteMqttBroker:72] MQTT Broker has been stopped successfully
                2018-07-18 19:20:46,617 INFO [MyController.org Shutdown-Hook] [org.mycontroller.standalone.AppShutdownHook:36] Bye, Have a nice day! See you soon
                2018-07-18 19:20:54,022 INFO [main] [org.mycontroller.standalone.db.DataBaseUtils:117] Checking migration...
                2018-07-18 19:21:00,881 INFO [main] [org.mycontroller.standalone.db.DataBaseUtils:168] Application information: [Version:1.3.0-SNAPSHOT, Database(type:H2 database embedded, version:1.4.194 (2017-03-10), schema version:1.04.01 - 2017 Oct 25), Built on:2018-05-04T09:09:24+0530, Git commit:d111efac6d9ee68aaf862ff8de5c4b677534e16f:development]
                2018-07-18 19:21:02,122 WARN [main] [io.moquette.persistence.mapdb.MapDBPersistentStore:78] Using fresh MapDB store file. Path=../conf/persistent_stores/moquette/moquette_store.mapdb
                2018-07-18 19:21:02,876 WARN [main] [io.moquette.server.Server:186] Using default SSL context creator
                2018-07-18 19:21:03,488 WARN [main] [io.netty.bootstrap.ServerBootstrap:146] Unknown channel option 'TCP_NODELAY' for channel '[id: 0x763c35ee]'
                2018-07-18 19:21:03,594 WARN [main] [io.netty.bootstrap.ServerBootstrap:146] Unknown channel option 'TCP_NODELAY' for channel '[id: 0xe7f26a36]'
                2018-07-18 19:21:03,602 INFO [main] [org.mycontroller.standalone.mqttbroker.MoquetteMqttBroker:54] MQTT Broker started successfully. MqttBrokerSettings(enabled=true, sslEnabled=false, bindAddress=0.0.0.0, mqttPort=1883, mqttsPort=8883, websocketPort=7080, allowAnonymous=true, enabledOnBackend=true, sslKeystoreFile=null)
                2018-07-18 19:21:04,412 INFO [mc-th-pool-1] [org.mycontroller.standalone.gateway.mqtt.MQTTDriver:86] MQTT Gateway[name:Raspberry Pi, URI:tcp://localhost:1883, NetworkType:MyController] connected successfully..
                2018-07-18 19:21:07,664 INFO [main] [org.mycontroller.standalone.StartApp:215] TJWS server started successfully, HTTPS Enabled?:true, HTTP(S) Port: [8443]
                2018-07-18 19:21:07,665 INFO [main] [org.mycontroller.standalone.StartApp:113] MyController.org server started in [14250] ms
                [Wed Jul 18 19:31:59 BST 2018] Accept: java.net.SocketException: Socket closed
                2018-07-18 19:32:02,160 INFO [MyController.org Shutdown-Hook] [org.mycontroller.standalone.mqttbroker.MoquetteMqttBroker:72] MQTT Broker has been stopped successfully
                2018-07-18 19:32:02,660 INFO [MyController.org Shutdown-Hook] [org.mycontroller.standalone.AppShutdownHook:36] Bye, Have a nice day! See you soon
                2018-07-18 19:32:09,898 INFO [main] [org.mycontroller.standalone.db.DataBaseUtils:117] Checking migration...
                2018-07-18 19:32:16,897 INFO [main] [org.mycontroller.standalone.db.DataBaseUtils:168] Application information: [Version:1.3.0-SNAPSHOT, Database(type:H2 database embedded, version:1.4.194 (2017-03-10), schema version:1.04.01 - 2017 Oct 25), Built on:2018-05-04T09:09:24+0530, Git commit:d111efac6d9ee68aaf862ff8de5c4b677534e16f:development]
                2018-07-18 19:32:18,139 WARN [main] [io.moquette.persistence.mapdb.MapDBPersistentStore:78] Using fresh MapDB store file. Path=../conf/persistent_stores/moquette/moquette_store.mapdb
                2018-07-18 19:32:18,878 WARN [main] [io.moquette.server.Server:186] Using default SSL context creator
                2018-07-18 19:32:19,500 WARN [main] [io.netty.bootstrap.ServerBootstrap:146] Unknown channel option 'TCP_NODELAY' for channel '[id: 0x2f64c36d]'
                2018-07-18 19:32:19,591 WARN [main] [io.netty.bootstrap.ServerBootstrap:146] Unknown channel option 'TCP_NODELAY' for channel '[id: 0xa33f8004]'
                2018-07-18 19:32:19,595 INFO [main] [org.mycontroller.standalone.mqttbroker.MoquetteMqttBroker:54] MQTT Broker started successfully. MqttBrokerSettings(enabled=true, sslEnabled=false, bindAddress=0.0.0.0, mqttPort=1883, mqttsPort=8883, websocketPort=7080, allowAnonymous=true, enabledOnBackend=true, sslKeystoreFile=null)
                2018-07-18 19:32:20,388 INFO [mc-th-pool-1] [org.mycontroller.standalone.gateway.mqtt.MQTTDriver:86] MQTT Gateway[name:Raspberry Pi, URI:tcp://localhost:1883, NetworkType:MyController] connected successfully..
                2018-07-18 19:32:23,567 INFO [main] [org.mycontroller.standalone.StartApp:215] TJWS server started successfully, HTTPS Enabled?:true, HTTP(S) Port: [8443]
                2018-07-18 19:32:23,569 INFO [main] [org.mycontroller.standalone.StartApp:113] MyController.org server started in [14111] ms
                2018-07-18 19:33:40,533 ERROR [Thread-8] [org.mycontroller.standalone.gateway.serial.SerialDataListenerjSerialComm:176] Exception, 
                java.lang.NumberFormatException: For input string: "0```
                jkandasaJ topic:replies-to-this-post, 2 last-reply-time reply quote 0
                • jkandasaJ offline
                  jkandasa @skywatch
                  global:last-edited-by,

                  @skywatch I hope you might have some issue with your serial gateway. Next time when you face this issue, can you unplug your serial gateway and plug it again to check the status?

                  one-reply-to-this-post last-reply-time reply quote 0
                  • jkandasaJ offline
                    jkandasa @skywatch
                    global:last-edited-by,

                    @skywatch This morning I have fixed an issue with a serial port. Can you test again with SNAPSHOT version?

                    https://github.com/mycontroller-org/mycontroller/commit/c44c84061a64eb93bd98ea329cc3acc6bd93f107

                    one-reply-to-this-post last-reply-time reply quote 0
                    • skywatchS offline
                      skywatch
                      global:last-edited-by, skywatch

                      @jkandasa

                      Latest snapshot installed and testing.......Thank you!

                      Will see how it goes this week, I'll let you know the results but it all seems to be happy so far........

                      jkandasaJ one-reply-to-this-post last-reply-time reply quote 0
                      • jkandasaJ offline
                        jkandasa @skywatch
                        global:last-edited-by,

                        @skywatch Great! let's see for some time.

                        one-reply-to-this-post last-reply-time reply quote 0
                        • skywatchS offline
                          skywatch
                          global:last-edited-by, skywatch

                          Hmmmmm....something is not right, see log below.....

                          Argh, can't post the log in code tags or plain text, will email it to you....

                          It seems to be the strange characters in the log that prevent it from being copied and pasted, so sent you a screenshot instead. 😉

                          one-reply-to-this-post last-reply-time reply quote 0
                          • first-post
                            last-post

                          0

                          online

                          644

                          users

                          532

                          topics

                          3.4k

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