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

    More information about Cmd=4 messages (stream messages)

    Scheduled Pinned Locked Moved Troubleshooting
    13 Posts 2 Posters 786 Views 1 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.
    • A Offline
      aliasjim
      last edited by

      Hello, i'm trying to follow what happenes in the background of OTA. Does anyone have any documentation of type and payload of stream messages? For instance nodeid/255/4/0/32. (I think this is pre or post sleep duration)

      Serial protocol docs of mysensors dont give alot of info on this command-type, just that it are stream commands. I understand its used for OTA. But it would be interresting to know what the values for type are in these messages for debugging.

      I'm asking this here because the developers of mycontroller should know something since they have developt the mycontroller side of OTA.

      Thanks in advance

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

        @aliasjim Enable gateway debug log, you will see your raw message on mycontroller/logs/raw_message_gw_*.log

        File name: mycontroller/conf/logback.xml

         <logger name="RAW_MESSAGE_LOGGER" level="DEBUG" additivity="false">
            <appender-ref ref="GATEWAY_RAW_MESSAGE_APPENDER" />
          </logger>
        

        If you do not see this line on this file, follow https://github.com/mycontroller-org/mycontroller/issues/473

        A 1 Reply Last reply Reply Quote 0
        • A Offline
          aliasjim @jkandasa
          last edited by

          @jkandasa
          This is my logback.xml:

          <!--
          
             Copyright 2015-2018 Jeeva Kandasamy (jkandasa@gmail.com)
             and other contributors as indicated by the @author tags.
          
             Licensed under the Apache License, Version 2.0 (the "License");
             you may not use this file except in compliance with the License.
             You may obtain a copy of the License at
          
                http://www.apache.org/licenses/LICENSE-2.0
          
             Unless required by applicable law or agreed to in writing, software
             distributed under the License is distributed on an "AS IS" BASIS,
             WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
             See the License for the specific language governing permissions and
             limitations under the License.
          
          -->
          <configuration scan="true" scanPeriod="2 minutes">
          
           <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
             <file>../logs/mycontroller.log</file>
             <encoder>
               <!-- <pattern>%date %level [%thread] [%logger:%line] %msg%n</pattern> -->
               <!-- Replace CR(\r) with string \r and LF(\n) with string \n-->
               <pattern>%date %level [%thread] [%logger:%line] %replace(%replace(%msg){'\r', '\\r'}){'\n', '\\n'}%n</pattern>
             </encoder>
             <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
               <FileNamePattern>../logs/mycontroller_%i.log.zip</FileNamePattern>
               <MinIndex>1</MinIndex>
               <MaxIndex>5</MaxIndex>
             </rollingPolicy>
             <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
               <MaxFileSize>5MB</MaxFileSize>
             </triggeringPolicy>
           </appender>
          
           <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
             <encoder>
               <pattern>%date %level [%thread] [%logger:%line] %msg%n</pattern>
             </encoder>
           </appender>
          
           <logger level="INFO" name="com.j256.ormlite" />
           <logger level="INFO" name="org.apache.http" />
           <logger level="INFO" name="org.jboss.resteasy.core" />
           <logger level="WARN" name="com.j256.ormlite.table.TableUtils" />
           <logger level="WARN" name="com.xeiam.sundial" />
           <logger level="WARN" name="org.quartz" />
           <logger level="WARN" name="io.moquette"/>
           <logger level="ERROR" name="io.moquette.persistence.mapdb.MapDBSessionsStore"/>
           <logger level="ERROR" name="io.moquette.spi.impl.PersistentQueueMessageSender"/>
          
           <logger level="INFO" name="org.mycontroller.standalone" />
           <logger level="INFO" name="org.mycontroller.standalone.api" />
           <logger level="INFO" name="org.mycontroller.standalone.api.jaxrs" />
           <logger level="INFO" name="org.mycontroller.standalone.auth" />
           <logger level="INFO" name="org.mycontroller.standalone.backup" />
           <logger level="INFO" name="org.mycontroller.standalone.db" />
           <logger level="INFO" name="org.mycontroller.standalone.db.dao" />
           <logger level="INFO" name="org.mycontroller.standalone.db.migration" />
           <logger level="INFO" name="org.mycontroller.standalone.email" />
           <logger level="INFO" name="org.mycontroller.standalone.fwpayload" />
           <logger level="INFO" name="org.mycontroller.standalone.gateway" />
           <logger level="INFO" name="org.mycontroller.standalone.gateway.ethernet" />
           <logger level="INFO" name="org.mycontroller.standalone.gateway.mqtt" />
           <logger level="INFO" name="org.mycontroller.standalone.gateway.phantio" />
           <logger level="INFO" name="org.mycontroller.standalone.gateway.philipshue" />
           <logger level="INFO" name="org.mycontroller.standalone.gateway.rest" />
           <logger level="INFO" name="org.mycontroller.standalone.gateway.serial" />
           <logger level="INFO" name="org.mycontroller.standalone.gateway.wunderground" />
           <logger level="INFO" name="org.mycontroller.standalone.group" />
           <logger level="INFO" name="org.mycontroller.standalone.jobs" />
           <logger level="INFO" name="org.mycontroller.standalone.loggers.LoggerMySql" />
           <logger level="INFO" name="org.mycontroller.standalone.message" />
           <logger level="INFO" name="org.mycontroller.standalone.metric" />
           <logger level="INFO" name="org.mycontroller.standalone.metric.jobs" />
           <logger level="INFO" name="org.mycontroller.standalone.mqttbroker" />
           <logger level="INFO" name="org.mycontroller.standalone.provider" />
           <logger level="INFO" name="org.mycontroller.standalone.provider.mycontroller" />
           <logger level="INFO" name="org.mycontroller.standalone.provider.mysensors" />
           <logger level="INFO" name="org.mycontroller.standalone.provider.phantio" />
           <logger level="INFO" name="org.mycontroller.standalone.provider.philipshue" />
           <logger level="INFO" name="org.mycontroller.standalone.provider.rflink" />
           <logger level="INFO" name="org.mycontroller.standalone.provider.wunderground" />
           <logger level="INFO" name="org.mycontroller.standalone.restclient" />
           <logger level="INFO" name="org.mycontroller.standalone.rule" />
           <logger level="INFO" name="org.mycontroller.standalone.scheduler" />
           <logger level="INFO" name="org.mycontroller.standalone.scripts" />
           <logger level="INFO" name="org.mycontroller.standalone.settings" />
           <logger level="INFO" name="org.mycontroller.standalone.timer" />
           <logger level="INFO" name="org.mycontroller.standalone.uidtag" />
          
           <root level="WARN">
             <appender-ref ref="FILE" />
           </root>
          </configuration>
          
          

          "If you do not see this line on this file, follow https://github.com/mycontroller-org/mycontroller/issues/473"

          I dont understand. Do you mean add this to the bottem of the file?

          <logger name="RAW_MESSAGE_LOGGER" level="DEBUG" additivity="false">
              <appender-ref ref="GATEWAY_RAW_MESSAGE_APPENDER" />
            </logger>
          
            <appender name="GATEWAY_RAW_MESSAGE_APPENDER" class="ch.qos.logback.classic.sift.SiftingAppender">
              <discriminator>
                <key>gateway_reference</key>
                <defaultValue>0_default</defaultValue>
              </discriminator>
              <sift>
                <appender name="fileAppender" class="ch.qos.logback.core.FileAppender">
                  <file>../logs/raw_message_gw_${gateway_reference}.log</file>
                  <encoder>
                    <pattern>%date %replace(%replace(%msg){'\r', '\\r'}){'\n', '\\n'}%n</pattern>
                  </encoder>
                  <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                    <FileNamePattern>../logs/raw_message_gw_${gateway_reference}%i.log.zip</FileNamePattern>
                    <MinIndex>1</MinIndex>
                    <MaxIndex>5</MaxIndex>
                  </rollingPolicy>
                  <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                    <MaxFileSize>5MB</MaxFileSize>
                  </triggeringPolicy>
                </appender>
              </sift>
            </appender>
          

          Thanks

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

            @aliasjim This is a complete file,
            https://github.com/mycontroller-org/mycontroller/blob/development/dist/src/main/package/conf/logback.xml

            A 1 Reply Last reply Reply Quote 0
            • A Offline
              aliasjim @jkandasa
              last edited by

              @jkandasa ok thank you very much

              A 1 Reply Last reply Reply Quote 0
              • A Offline
                aliasjim @aliasjim
                last edited by

                @aliasjim Hello, i replaced the entire logback.xml file in the /mycontroller/conf directory with the one from github mentioned in the above post and changed log level to 'DEBUG'. Stopped service, saved the logback file and restarted ran the start.batch file again. mycontroller is running but i dont see a file mycontroller/logs/raw_message_gw_*.log.

                Sorry if i'm a little slow but i dont understand java all that well

                A 1 Reply Last reply Reply Quote 0
                • A Offline
                  aliasjim @aliasjim
                  last edited by

                  @aliasjim As far as i can see in my mqtt client mycontroller keeps sending the same firmwareblock over and over:

                  mygateway1-out/108/255/4/0/2 210001004505
                  mygateway1-in/108/255/4/1/3 2100010046050895F894FFCFFFFF00FCE1A8A8FFAF08
                  mygateway1-in/108/255/4/1/3 2100010046050895F894FFCFFFFF00FCE1A8A8FFAF08
                  mygateway1-in/108/255/4/1/3 2100010046050895F894FFCFFFFF00FCE1A8A8FFAF08
                  mygateway1-out/108/255/4/0/2 210001004505
                  mygateway1-in/108/255/4/1/3 2100010046050895F894FFCFFFFF00FCE1A8A8FFAF08
                  mygateway1-out/108/255/4/0/2 210001004505
                  mygateway1-in/108/255/4/1/3 2100010046050895F894FFCFFFFF00FCE1A8A8FFAF08
                  ...
                  
                  

                  I don't know if the problem is with my node requesting the same block over and over again or with mycontroller. Do you have any idea whats going on?

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

                    @aliasjim

                    I don't know if the problem is with my node requesting the same block over and over again or with mycontroller. Do you have any idea whats going on?

                    Which bootloader are you using? MYSBootloader? Can you disable Stream ack enabled and try again? I'm not sure about MYSBootloader(Is it capable of sending back the ack?)

                    7131c99f-95cc-404b-8ce7-ba538769259c-image.png

                    1 Reply Last reply Reply Quote 0
                    • A Offline
                      aliasjim
                      last edited by

                      Thanks, seems like that fixed it. Now every FW block is unique. But still no mycontroller/logs/raw_message_gw_*.log file is created. Is it possible i have to change anything else in logback.xml?

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

                        @aliasjim To get a DEBUG log you should change INFO to DEBUG in logback.xml and restart your MyController

                          <logger name="RAW_MESSAGE_LOGGER" level="DEBUG" additivity="false">
                        

                        Which version of MyController are you using?

                        A 1 Reply Last reply Reply Quote 0
                        • A Offline
                          aliasjim @jkandasa
                          last edited by aliasjim

                          @jkandasa I have DEBUG enabled and restarted, but file doesn't get created. This is my full logback.xml:

                          <!--
                          
                              Copyright 2015-2018 Jeeva Kandasamy (jkandasa@gmail.com)
                              and other contributors as indicated by the @author tags.
                          
                              Licensed under the Apache License, Version 2.0 (the "License");
                              you may not use this file except in compliance with the License.
                              You may obtain a copy of the License at
                          
                                 http://www.apache.org/licenses/LICENSE-2.0
                          
                              Unless required by applicable law or agreed to in writing, software
                              distributed under the License is distributed on an "AS IS" BASIS,
                              WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
                              See the License for the specific language governing permissions and
                              limitations under the License.
                          
                          -->
                          <configuration scan="true" scanPeriod="2 minutes">
                          
                            <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
                              <file>../logs/mycontroller.log</file>
                              <encoder>
                                <!-- <pattern>%date %level [%thread] [%logger:%line] %msg%n</pattern> -->
                                <!-- Replace CR(\r) with string \r and LF(\n) with string \n-->
                                <pattern>%date %level [%thread] [%logger:%line] %replace(%msg){'\r', '\\r'}%n</pattern>
                              </encoder>
                              <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                                <FileNamePattern>../logs/mycontroller_%i.log.zip</FileNamePattern>
                                <MinIndex>1</MinIndex>
                                <MaxIndex>5</MaxIndex>
                              </rollingPolicy>
                              <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                                <MaxFileSize>5MB</MaxFileSize>
                              </triggeringPolicy>
                            </appender>
                          
                            <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
                              <encoder>
                                <pattern>%date %level [%thread] [%logger:%line] %msg%n</pattern>
                              </encoder>
                            </appender>
                          
                            <appender name="GATEWAY_RAW_MESSAGE_APPENDER" class="ch.qos.logback.classic.sift.SiftingAppender">
                              <discriminator>
                                <key>gateway_reference</key>
                                <defaultValue>0_default</defaultValue>
                              </discriminator>
                              <sift>
                                <appender name="fileAppender" class="ch.qos.logback.core.FileAppender">
                                  <file>../logs/raw_message_gw_${gateway_reference}.log</file>
                                  <encoder>
                                    <pattern>%date %replace(%replace(%msg){'\r', '\\r'}){'\n', '\\n'}%n</pattern>
                                  </encoder>
                                  <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
                                    <FileNamePattern>../logs/raw_message_gw_${gateway_reference}%i.log.zip</FileNamePattern>
                                    <MinIndex>1</MinIndex>
                                    <MaxIndex>5</MaxIndex>
                                  </rollingPolicy>
                                  <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
                                    <MaxFileSize>5MB</MaxFileSize>
                                  </triggeringPolicy>
                                </appender>
                              </sift>
                            </appender>
                          
                            <logger level="INFO" name="com.j256.ormlite" />
                            <logger level="INFO" name="org.apache.http" />
                            <logger level="INFO" name="org.jboss.resteasy.core" />
                            <logger level="WARN" name="com.j256.ormlite.table.TableUtils" />
                            <logger level="WARN" name="com.xeiam.sundial" />
                            <logger level="WARN" name="org.quartz" />
                            <logger level="WARN" name="io.moquette"/>
                            <logger level="ERROR" name="io.moquette.persistence.mapdb.MapDBSessionsStore"/>
                            <logger level="ERROR" name="io.moquette.spi.impl.PersistentQueueMessageSender"/>
                          
                            <logger level="INFO" name="org.mycontroller.standalone" />
                            <logger level="INFO" name="org.mycontroller.standalone.api" />
                            <logger level="INFO" name="org.mycontroller.standalone.api.jaxrs" />
                            <logger level="INFO" name="org.mycontroller.standalone.auth" />
                            <logger level="INFO" name="org.mycontroller.standalone.backup" />
                            <logger level="INFO" name="org.mycontroller.standalone.db" />
                            <logger level="INFO" name="org.mycontroller.standalone.db.dao" />
                            <logger level="INFO" name="org.mycontroller.standalone.db.migration" />
                            <logger level="INFO" name="org.mycontroller.standalone.email" />
                            <logger level="INFO" name="org.mycontroller.standalone.fwpayload" />
                            <logger level="INFO" name="org.mycontroller.standalone.gateway" />
                            <logger level="INFO" name="org.mycontroller.standalone.gateway.ethernet" />
                            <logger level="INFO" name="org.mycontroller.standalone.gateway.mqtt" />
                            <logger level="INFO" name="org.mycontroller.standalone.gateway.phantio" />
                            <logger level="INFO" name="org.mycontroller.standalone.gateway.philipshue" />
                            <logger level="INFO" name="org.mycontroller.standalone.gateway.rest" />
                            <logger level="INFO" name="org.mycontroller.standalone.gateway.serial" />
                            <logger level="INFO" name="org.mycontroller.standalone.gateway.wunderground" />
                            <logger level="INFO" name="org.mycontroller.standalone.group" />
                            <logger level="INFO" name="org.mycontroller.standalone.jobs" />
                            <logger level="INFO" name="org.mycontroller.standalone.loggers.LoggerMySql" />
                            <logger level="INFO" name="org.mycontroller.standalone.message" />
                            <logger level="INFO" name="org.mycontroller.standalone.metric" />
                            <logger level="INFO" name="org.mycontroller.standalone.metric.jobs" />
                            <logger level="INFO" name="org.mycontroller.standalone.mqttbroker" />
                            <logger level="INFO" name="org.mycontroller.standalone.provider" />
                            <logger level="INFO" name="org.mycontroller.standalone.provider.mycontroller" />
                            <logger level="INFO" name="org.mycontroller.standalone.provider.mysensors" />
                            <logger level="INFO" name="org.mycontroller.standalone.provider.phantio" />
                            <logger level="INFO" name="org.mycontroller.standalone.provider.philipshue" />
                            <logger level="INFO" name="org.mycontroller.standalone.provider.rflink" />
                            <logger level="INFO" name="org.mycontroller.standalone.provider.wunderground" />
                            <logger level="INFO" name="org.mycontroller.standalone.restclient" />
                            <logger level="INFO" name="org.mycontroller.standalone.rule" />
                            <logger level="INFO" name="org.mycontroller.standalone.scheduler" />
                            <logger level="INFO" name="org.mycontroller.standalone.scripts" />
                            <logger level="INFO" name="org.mycontroller.standalone.settings" />
                            <logger level="INFO" name="org.mycontroller.standalone.timer" />
                            <logger level="INFO" name="org.mycontroller.standalone.uidtag" />
                          
                            <root level="WARN">
                              <appender-ref ref="FILE" />
                            </root>
                          
                            <logger name="RAW_MESSAGE_LOGGER" level="DEBUG" additivity="false">
                              <appender-ref ref="GATEWAY_RAW_MESSAGE_APPENDER" />
                            </logger>
                          
                          </configuration>
                          
                          

                          screenshot.png

                          I'm using mycontroller 1.3.0.Final

                          Thanks for your time

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

                            @aliasjim This feature is available from 1.4.0.Final version

                            A 1 Reply Last reply Reply Quote 0
                            • A Offline
                              aliasjim @jkandasa
                              last edited by

                              @jkandasa ok thanks, i will upgrade

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              0

                              Online

                              587

                              Users

                              529

                              Topics

                              3.4k

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