More information about Cmd=4 messages (stream messages)



  • 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



  • @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



  • @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





  • @jkandasa ok thank you very much



  • @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



  • @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?



  • @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



  • 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?



  • @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?



  • @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



  • @aliasjim This feature is available from 1.4.0.Final version



  • @jkandasa ok thanks, i will upgrade


Log in to reply
 

Suggested Topics

2
Online

480
Users

411
Topics

2.5k
Posts