Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Troubleshooting
  3. RGBW setup

RGBW setup

Scheduled Pinned Locked Moved Troubleshooting
17 Posts 6 Posters 5.2k Views 8 Watching
  • 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.
  • L LastSamurai

    Hi, great to hear that someone else is using my project too. Perhaps we can get it to work for you too :)

    First of all your mosfets should work too, I was using IRLZ44N mosfets too for my prototypes (although some people in the forum had problems with them I think).
    All your leds turn on because the standard setting (when the node doesn't receive anything else) is to turn on every channel to 100 of 255.

    byte values[4] = {100, 100, 100, 100};
    byte target_values[4] = {100, 100, 100, 100}; 
    

    Change that part if you don't want this behaviour.

    The important part of your code for changing colors is the incomingMessage(const MyMessage &message) function. In your logs I am never seeing any serial output from that function. So I guess you never get any new messages with new values?! Try to find out why that method never gets called.
    I haven't worked with mysensors 2.0 yet so it might be a problem with the conversion or just with your radio setup. With 1.5 and my node it works well (I have 5 nodes running atm).

    J Offline
    J Offline
    jacikaas
    wrote on last edited by jacikaas
    #8

    @mfalkvidd @LastSamurai thanks a lot guys!

    I remove pulldown resistors. I found code for RGB LED strip in here:
    RGB_3D

    I adopt it for RGBW LED and add white LED's control:

    /**
     * The MySensors Arduino library handles the wireless radio link and protocol
     * between your home built sensors/actuators and HA controller of choice.
     * The sensors forms a self healing radio network with optional repeaters. Each
     * repeater and gateway builds a routing tables in EEPROM which keeps track of the
     * network topology allowing messages to be routed to nodes.
     *
     * Created by Henrik Ekblad <henrik.ekblad@mysensors.org>
     * Copyright (C) 2013-2015 Sensnology AB
     * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
     *
     * Documentation: http://www.mysensors.org
     * Support Forum: http://forum.mysensors.org
     *
     * This program is free software; you can redistribute it and/or
     * modify it under the terms of the GNU General Public License
     * version 2 as published by the Free Software Foundation.
     *
     *******************************
     *
     * REVISION HISTORY
     * Version 1.0 - Created by vil1driver
     * 
     * DESCRIPTION
     * RGB led strip controled with three dimmers + one On/Off for run/stop rgb color cycle :p
     * 
     */
     
    #define SN   "RGB Led strip 3D"
    #define SV   "v1"
    
    // Enable debug prints to serial monitor
    #define MY_DEBUG 
    #define MY_NODE_ID 6 
    // Enable and select radio type attached
    #define MY_RADIO_NRF24
    //#define MY_RADIO_RFM69
    
    #define MY_RF24_CE_PIN 4    // Radio specific settings for RF24
    #define MY_RF24_CS_PIN 10 // Radio specific settings for RF24 (you'll find similar config for RFM69)
    
    #include <SPI.h>
    #include <MySensors.h>  
    
    // Arduino pin attached to MOSFET Gate pin
    #define RED_PIN 3   
    #define GREEN_PIN 5
    #define BLUE_PIN 6
    #define WHITE_PIN 9
    
    // Define message name and type to send sensor info
    MyMessage RedStatus(RED_PIN, V_DIMMER);   
    MyMessage GreenStatus(GREEN_PIN, V_DIMMER);
    MyMessage BlueStatus(BLUE_PIN, V_DIMMER);
    MyMessage WhiteStatus(WHITE_PIN, V_DIMMER);
    MyMessage Status(1, V_DIMMER);
    MyMessage rgbShowState(0, V_LIGHT);
        
    // Serial.print translate sensor id to sensor name
    char color[][9] = {"","","","RED","","GREEN","BLUE","","","WHITE"}; 
       
    // Vars for rgbShow function
    int redval = 0;
    int greenval = 0;
    int blueval = 0;
    long time=0;
    int isShow;
         
    void setup() 
    {
      // Define pin mode (pin number, type)
      pinMode(RED_PIN, OUTPUT);   
      pinMode(GREEN_PIN, OUTPUT);
      pinMode(BLUE_PIN, OUTPUT);
      pinMode(WHITE_PIN, OUTPUT);
    
      // Correct saved RGB value for first start
      saveState(RED_PIN, constrain((int8_t)loadState(RED_PIN), 0, 100)); 
      saveState(GREEN_PIN, constrain((int8_t)loadState(GREEN_PIN), 0, 100)); 
      saveState(BLUE_PIN, constrain((int8_t)loadState(BLUE_PIN), 0, 100)); 
      saveState(WHITE_PIN, constrain((int8_t)loadState(WHITE_PIN), 0, 100)); 
                 
      // Get value from eeprom and write to output
      analogWrite(RED_PIN, 255 * loadState(RED_PIN) / 100);     
      analogWrite(GREEN_PIN, 255 * loadState(GREEN_PIN) / 100);
      analogWrite(BLUE_PIN, 255 * loadState(BLUE_PIN) / 100);
      analogWrite(WHITE_PIN, 255 * loadState(WHITE_PIN) / 100);
               
      // Write some debug info
      Serial.print("Load from eeprom RED: "); 
      Serial.print(loadState(RED_PIN)); 
      Serial.println("%"); 
      Serial.print("Load from eeprom GREEN: "); 
      Serial.print(loadState(GREEN_PIN)); 
      Serial.println("%"); 
      Serial.print("Load from eeprom BLUE: "); 
      Serial.print(loadState(BLUE_PIN)); 
      Serial.println("%");
      Serial.print("Load from eeprom WHITE: "); 
      Serial.print(loadState(WHITE_PIN)); 
      Serial.println("%");      
      
      // Send RGB value to controler (request ack back: true/false)
      Serial.println("Send eeprom value to controler"); 
      send( RedStatus.set(loadState(RED_PIN)), false );    
      send( GreenStatus.set(loadState(GREEN_PIN)), false );
      send( BlueStatus.set(loadState(BLUE_PIN)), false );
      send( WhiteStatus.set(loadState(BLUE_PIN)), false );
      
      // Correct RGB show state for first start and load it (set to 'On' at first start)
      saveState(0, constrain((int8_t)loadState(0), 0, 1));
      isShow=loadState(0);
           
      // Send RGB show state to controler (request ack back: true/false)
      send( rgbShowState.set(isShow), false);
      
      if (isShow==1){Serial.println("RGB show running..."); }
      Serial.println("Ready to receive messages...");  
    }
    
    void presentation()  {
      // Present sketch (name, version)
      sendSketchInfo(SN, SV);        
           
      // Register sensors (id, type, description, ack back)
      present(RED_PIN, S_DIMMER, "present RED light", false);
      present(GREEN_PIN, S_DIMMER, "present GREEN light", false);
      present(BLUE_PIN, S_DIMMER, "present BLUE light", false);
      present(WHITE_PIN, S_DIMMER, "present WHITE light", false);
      present(0, S_LIGHT, "present Show button", false);
    }
    
    void loop()
    {
      // Run RGB show if is set
      if (isShow==1)
      {
          rgbShow();
        analogWrite(RED_PIN, redval);
        analogWrite(GREEN_PIN, greenval);
        analogWrite(BLUE_PIN, blueval);
       } 
    }
    
    
    void receive(const MyMessage &message)
    {
      if (message.isAck())
      {
        Serial.println("Got ack from gateway");
      }
      if (message.type == V_LIGHT)
      {
        // Incoming on/off command sent from controller ("1" or "0")
        int lightState = message.getString()[0] == '1';
      
        // if receive RGB Show On commands, start the show
        if (message.sensor==0 && lightState==1){ rgbShowOn(); }
            // if receive RGB Show Off commands, stop the show
        else if (message.sensor==0 && lightState==0){ rgbShowOff(); }
           
        // if receive RGB switch On command
        else if (lightState==1)
        {
          // Write some debug info
                Serial.print("Incoming change for ");
                Serial.print(color[message.sensor]);
                Serial.println(": On");
                Serial.print("Load from eeprom: ");
              
          if ( loadState(message.sensor) == 0)
          {
            // Pick up last saved dimmer level from the eeprom
                    analogWrite(message.sensor, 255 * loadState(10*message.sensor) / 100);
                    // Save loaded value to current
                    saveState(message.sensor, loadState(10*message.sensor));
                    Serial.print(loadState(10*message.sensor)); 
                    Serial.println("%");
                    // Send value to controler
                    Serial.println("Send value to controler");
                    send(Status.setSensor(message.sensor).set(loadState(10*message.sensor)),false);
                }
                else
                {
                    // Pick up last saved dimmer level from the eeprom
                    analogWrite(message.sensor, 255 * loadState(message.sensor) / 100);
                    Serial.print(loadState(message.sensor));
                    Serial.println("%"); 
                    // Send value to controler
                    Serial.println("Send value to controler");
                    send(Status.setSensor(message.sensor).set(loadState(message.sensor)),false);
                } 
                // Stop the show if it's running
                if (isShow==1){ rgbShowStop(message.sensor); }
            }
        // if recieve switch Off command
        else if (lightState==0)
        {
          // Write output to 0 (Off)
                analogWrite(message.sensor, 0);
                // Save old value to eeprom if it'was not zero
                if ( loadState(message.sensor) != 0 )
                {
                    saveState(10*message.sensor, constrain((int8_t)loadState(message.sensor), 0, 100)); 
                }
                // Save new value to eeprom
                saveState(message.sensor, 0); 
                // Write some debug info
          Serial.print("Incoming change for ");
          Serial.print(color[message.sensor]);
          Serial.print(": ");
          Serial.println("Off");  
                Serial.print("Store old value: ");
                Serial.print(loadState(10*message.sensor));  
                Serial.println("%");
                // Send value to controler
                Serial.println("Send value to controler");
                send(Status.setSensor(message.sensor).set(loadState(message.sensor)),false);
          // Stop the show if it's running
          if (isShow==1){ rgbShowStop(message.sensor); }
        }
      }
      else if (message.type == V_DIMMER)
      {    
          uint8_t incomingDimmerStatus = message.getByte();
          // limits range of sensor values to between 0 and 100 
          incomingDimmerStatus = constrain((int8_t)incomingDimmerStatus, 0, 100);
          // Change Dimmer level
          analogWrite(message.sensor, 255 * incomingDimmerStatus / 100);
          //Save value to eeprom
          saveState(message.sensor, incomingDimmerStatus); 
          // Write some debug info
          Serial.print("Incoming change for ");
          Serial.print(color[message.sensor]);
          Serial.print(": ");
          Serial.print(incomingDimmerStatus);
          Serial.println("%");
            // Send value to controler
            Serial.println("Send value to controler");
            send(Status.setSensor(message.sensor).set(loadState(message.sensor)),false);
          // Stop the show if it's running
          if (isShow==1){ rgbShowStop(message.sensor); }
        }
    }
       
    void rgbShow()
    {
      time = millis();
      redval = 128+250*cos(2*PI/300000*time);
      greenval = 128+250*cos(2*PI/300000*time-222);
      blueval = 128+250*cos(2*PI/300000*time-111);
      // limits range of sensor values to between 0 and 255 
      redval = constrain(redval, 0, 255);
      greenval = constrain(greenval, 0, 255);
      blueval = constrain(blueval, 0, 255);
    }
    
    void rgbShowOn()
    {
      // define show On
      isShow=1;
      // Save state
      saveState(0, 1); 
      // Write some debug info
      Serial.println("Show must go on");
    }
       
    void rgbShowOff()
    {
      // define show Off
      isShow=0;
      // Save state
      saveState(0, 0);
      // Save RGB value to eeprom
      saveState(RED_PIN, 100 * redval / 255); 
      saveState(GREEN_PIN, 100 * greenval / 255);
      saveState(BLUE_PIN, 100 * blueval / 255);
      // Write some debug info
      Serial.println("Stop the show");
      // Send actual RGB value and state to controler and request ack back (true/false)
      Serial.println("Send eeprom value to controler"); 
      send( RedStatus.set(loadState(RED_PIN)), false );    
      send( GreenStatus.set(loadState(GREEN_PIN)), false );
      send( BlueStatus.set(loadState(BLUE_PIN)), false );
      send( rgbShowState.set(0), false);
    }
    
    void rgbShowStop(int sensor)
    {
       // define show Off
       isShow=0;
       // Save state
       saveState(0, 0);
       // Write some debug info
       Serial.println("Stop the show");
       // Send actual RGB value and state to controler and request ack back (true/false)
       Serial.println("Send eeprom value to controler"); 
       if (sensor != RED_PIN)
       {
            saveState(RED_PIN, 100 * redval / 255); 
            send( RedStatus.set(loadState(RED_PIN)), false );  
        }
        if (sensor != GREEN_PIN)
        {
            saveState(GREEN_PIN, 100 * greenval / 255); 
            send( GreenStatus.set(loadState(GREEN_PIN)), false );
        }
        if (sensor != BLUE_PIN)
        {
            saveState(BLUE_PIN, 100 * blueval / 255);
            send( BlueStatus.set(loadState(BLUE_PIN)), false );
        }
        send( rgbShowState.set(0), false);
    }
             
    

    This code works perfectly, so I could say my IRLZ44N is not broken. The biggest differences between codes is that with this one I need to control every color separately and it has "party" mode (show) :))) It's just nice to have. :)
    Now I'm trying to add a physical button that could control white color on/off.

    @LastSamurai I will try to understand why I don't get new messages with Your code. I will inform when I will got something.

    1 Reply Last reply
    0
    • T Offline
      T Offline
      Toyman
      wrote on last edited by Toyman
      #9

      What version of Domoticz are you using? The original code relies on l6 and l9 message length to distinguish between RGB and RGBW, while recently Domoticz started to send l7 and l10 messages.
      So I had a node that worked, but stopped working.
      I changed 2 digits in the code and it works again

      Also, in case of length 9/10 message, you don't need to parse RGBW values as Domoticz ALWAYS sends 000000FF in this case.

      L J 2 Replies Last reply
      0
      • T Toyman

        What version of Domoticz are you using? The original code relies on l6 and l9 message length to distinguish between RGB and RGBW, while recently Domoticz started to send l7 and l10 messages.
        So I had a node that worked, but stopped working.
        I changed 2 digits in the code and it works again

        Also, in case of length 9/10 message, you don't need to parse RGBW values as Domoticz ALWAYS sends 000000FF in this case.

        L Offline
        L Offline
        LastSamurai
        Hardware Contributor
        wrote on last edited by
        #10

        @Toyman Oh, do they? I am using the newest version from the beta channel: 3.5691. At least thats how I configured my instance. I don't know if the format changed (haven't checked recently), but my nodes are working just fine.
        And yes that parsing is not needed that was just in case they changed it later.

        T 1 Reply Last reply
        0
        • L LastSamurai

          @Toyman Oh, do they? I am using the newest version from the beta channel: 3.5691. At least thats how I configured my instance. I don't know if the format changed (haven't checked recently), but my nodes are working just fine.
          And yes that parsing is not needed that was just in case they changed it later.

          T Offline
          T Offline
          Toyman
          wrote on last edited by
          #11

          @LastSamurai yes. This is strange, I know, but that's what I observed in the node log.
          I made a preliminary breadboard node, everything was working fine so I soldered it on a PCB, connected and… nothing happened. And then I noticed the change. As soon as I changed 6/9 to 7/10, the light was on :-)

          1 Reply Last reply
          0
          • T Toyman

            What version of Domoticz are you using? The original code relies on l6 and l9 message length to distinguish between RGB and RGBW, while recently Domoticz started to send l7 and l10 messages.
            So I had a node that worked, but stopped working.
            I changed 2 digits in the code and it works again

            Also, in case of length 9/10 message, you don't need to parse RGBW values as Domoticz ALWAYS sends 000000FF in this case.

            J Offline
            J Offline
            jacikaas
            wrote on last edited by
            #12

            @Toyman

            I'm using latest Beta version Domoticz V3.5727

            In the logs, I can see that I receive 6 and 9 characters code:

            Starting sensor (RNNNA-, 2.0.0)
            TSM:INIT
            TSM:RADIO:OK
            TSP:ASSIGNID:OK (ID=6)
            TSM:FPAR
            TSP:MSG:SEND 6-6-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
            TSP:MSG:READ 0-0-6 s=255,c=3,t=8,pt=1,l=1,sg=0:0
            TSP:MSG:FPAR RES (ID=0, dist=0)
            TSP:MSG:PAR OK (ID=0, dist=1)
            TSM:FPAR:OK
            TSM:ID
            TSM:CHKID:OK (ID=6)
            TSM:UPL
            TSP:PING:SEND (dest=0)
            TSP:MSG:SEND 6-6-0-0 s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=ok:1
            TSP:MSG:READ 0-0-6 s=255,c=3,t=25,pt=1,l=1,sg=0:1
            TSP:MSG:PONG RECV (hops=1)
            TSP:CHKUPL:OK
            TSM:UPL:OK
            TSM:READY
            RGBW is running...
            Waiting for messages...
            TSP:MSG:SEND 6-6-0-0 s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=ok:0100
            TSP:MSG:SEND 6-6-0-0 s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=ok:2.0.0
            TSP:MSG:SEND 6-6-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=ok:0
            TSP:MSG:READ 0-0-6 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
            TSP:MSG:READ 0-0-6 s=255,c=3,t=6,pt=0,l=1,sg=0:M
            TSP:MSG:SEND 6-6-0-0 s=255,c=3,t=11,pt=0,l=16,sg=0,ft=0,st=ok:RGBW Fensterwand
            TSP:MSG:SEND 6-6-0-0 s=255,c=3,t=12,pt=0,l=13,sg=0,ft=0,st=ok:v1.0 29042016
            TSP:MSG:SEND 6-6-0-0 s=1,c=0,t=27,pt=0,l=15,sg=0,ft=0,st=ok:RGBW test light
            Request registration...
            !TSP:MSG:SEND 6-6-0-0 s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=fail:2
            TSP:MSG:READ 0-0-6 s=1,c=0,t=27,pt=0,l=15,sg=0:RGBW test light
            TSP:MSG:SEND 6-6-0-0 s=255,c=3,t=26,pt=1,l=1,sg=0,ft=1,st=ok:2
            TSP:MSG:READ 0-0-6 s=255,c=3,t=27,pt=1,l=1,sg=0:1
            Node registration=1
            Init complete, id=6, parent=0, distance=1, registration=1
            TSP:MSG:READ 0-0-6 s=1,c=1,t=41,pt=0,l=6,sg=0:FF0000
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=41,pt=0,l=6,sg=0,ft=0,st=ok:FF0000
            TSP:MSG:READ 0-0-6 s=1,c=1,t=3,pt=0,l=2,sg=0:85
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=3,pt=0,l=2,sg=0,ft=0,st=ok:85
            TSP:MSG:READ 0-0-6 s=1,c=1,t=41,pt=0,l=6,sg=0:FF0000
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=41,pt=0,l=6,sg=0,ft=0,st=ok:FF0000
            TSP:MSG:READ 0-0-6 s=1,c=1,t=3,pt=0,l=2,sg=0:44
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=3,pt=0,l=2,sg=0,ft=0,st=ok:44
            TSP:MSG:READ 0-0-6 s=1,c=1,t=41,pt=0,l=9,sg=0:#000000FF
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=41,pt=0,l=9,sg=0,ft=0,st=ok:#000000FF
            TSP:MSG:READ 0-0-6 s=1,c=1,t=3,pt=0,l=3,sg=0:100
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=3,pt=0,l=3,sg=0,ft=0,st=ok:100
            TSP:MSG:READ 0-0-6 s=1,c=1,t=41,pt=0,l=9,sg=0:#000000FF
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=41,pt=0,l=9,sg=0,ft=0,st=ok:#000000FF
            TSP:MSG:READ 0-0-6 s=1,c=1,t=3,pt=0,l=3,sg=0:100
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=3,pt=0,l=3,sg=0,ft=0,st=ok:100
            TSP:MSG:READ 0-0-6 s=1,c=1,t=41,pt=0,l=6,sg=0:4800FF
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=41,pt=0,l=6,sg=0,ft=0,st=ok:4800FF
            TSP:MSG:READ 0-0-6 s=1,c=1,t=3,pt=0,l=2,sg=0:76
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=3,pt=0,l=2,sg=0,ft=0,st=ok:76
            TSP:MSG:READ 0-0-6 s=1,c=1,t=41,pt=0,l=6,sg=0:FF0083
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=41,pt=0,l=6,sg=0,ft=0,st=ok:FF0083
            TSP:MSG:READ 0-0-6 s=1,c=1,t=3,pt=0,l=2,sg=0:76
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=3,pt=0,l=2,sg=0,ft=0,st=ok:76
            TSP:MSG:READ 0-0-6 s=1,c=1,t=41,pt=0,l=6,sg=0:FF0083
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=41,pt=0,l=6,sg=0,ft=0,st=ok:FF0083
            TSP:MSG:READ 0-0-6 s=1,c=1,t=3,pt=0,l=3,sg=0:100
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=3,pt=0,l=3,sg=0,ft=0,st=ok:100
            TSP:MSG:READ 0-0-6 s=1,c=1,t=41,pt=0,l=6,sg=0:4800FF
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=41,pt=0,l=6,sg=0,ft=0,st=ok:4800FF
            TSP:MSG:READ 0-0-6 s=1,c=1,t=3,pt=0,l=3,sg=0:100
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=3,pt=0,l=3,sg=0,ft=0,st=ok:100
            TSP:MSG:READ 0-0-6 s=1,c=1,t=41,pt=0,l=6,sg=0:00C5FF
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=41,pt=0,l=6,sg=0,ft=0,st=ok:00C5FF
            TSP:MSG:READ 0-0-6 s=1,c=1,t=3,pt=0,l=3,sg=0:100
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=3,pt=0,l=3,sg=0,ft=0,st=ok:100
            TSP:MSG:READ 0-0-6 s=1,c=1,t=41,pt=0,l=6,sg=0:00C5FF
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=41,pt=0,l=6,sg=0,ft=0,st=ok:00C5FF
            TSP:MSG:READ 0-0-6 s=1,c=1,t=3,pt=0,l=2,sg=0:72
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=3,pt=0,l=2,sg=0,ft=0,st=ok:72
            TSP:MSG:READ 0-0-6 s=1,c=1,t=41,pt=0,l=9,sg=0:#000000FF
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=41,pt=0,l=9,sg=0,ft=0,st=ok:#000000FF
            TSP:MSG:READ 0-0-6 s=1,c=1,t=3,pt=0,l=2,sg=0:97
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=3,pt=0,l=2,sg=0,ft=0,st=ok:97
            TSP:MSG:READ 0-0-6 s=1,c=1,t=41,pt=0,l=9,sg=0:#000000FF
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=41,pt=0,l=9,sg=0,ft=0,st=ok:#000000FF
            TSP:MSG:READ 0-0-6 s=1,c=1,t=3,pt=0,l=3,sg=0:100
            TSP:MSG:ACK msg
            TSP:MSG:SEND 6-6-0-0 s=1,c=1,t=3,pt=0,l=3,sg=0,ft=0,st=ok:100
            

            So I'm a bit confused, my version is newest, so why I'm still getting 6 and 9 lenght code.

            I'm still on it, trying to understand...

            1 Reply Last reply
            0
            • L Offline
              L Offline
              LastSamurai
              Hardware Contributor
              wrote on last edited by
              #13

              I did just update to that version too and I (too) still see the 6 and 9 character long codes. Perhaps @Toyman is using some different configurations?
              Anyways this is easy to fix in your sketch ;)

              1 Reply Last reply
              0
              • T Offline
                T Offline
                Toyman
                wrote on last edited by Toyman
                #14

                Sorry, guys. I did see 7/10 in the logs and the fact my node is working confirms I continue to get 7/10.
                In fact I have RGB strip, but I had to configure it as RGBW to be able to use HomeKit.
                It's listed as RGBW/dimmer in Domoticz

                1 Reply Last reply
                0
                • pepsonP Offline
                  pepsonP Offline
                  pepson
                  wrote on last edited by
                  #15

                  Hi
                  Is any chance to create this PCB with connection with radio RFM69HW or other pcb controller RGBW with this radio ? Thanks for help.

                  mfalkviddM 1 Reply Last reply
                  0
                  • pepsonP pepson

                    Hi
                    Is any chance to create this PCB with connection with radio RFM69HW or other pcb controller RGBW with this radio ? Thanks for help.

                    mfalkviddM Offline
                    mfalkviddM Offline
                    mfalkvidd
                    Mod
                    wrote on last edited by
                    #16

                    @pepson would the existing pcb with https://www.openhardware.io/view/16/NRF2RFM69 work for you?

                    1 Reply Last reply
                    0
                    • pepsonP Offline
                      pepsonP Offline
                      pepson
                      wrote on last edited by
                      #17

                      Looks very good thanks.
                      This controller RGBW will also work with Home Assistant ?

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      22

                      Online

                      11.7k

                      Users

                      11.2k

                      Topics

                      113.1k

                      Posts


                      Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • MySensors
                      • OpenHardware.io
                      • Categories
                      • Recent
                      • Tags
                      • Popular