Announcement

Collapse
No announcement yet.

WLED Support

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    WLED Support

    Version 5.1.1.0 of mcsMQTT has customized support for WLED firmware that runs in ESP8266 and ESP32 processors. This firmware provides excellent effects and control for LED strips for use on Christmas lighting displays, room accents etc. A starting point reference for WLED is https://github.com/Aircoookie/WLED

    When mcsMQTT sees the topic starting with wled/ it will create a default set of HS devices and stage many other end points for ease of inclusion in HS. The default HS device set is shown below.

    Click image for larger version  Name:	Capture.PNG Views:	0 Size:	42.9 KB ID:	1357977

    For those who have never used mcsMQTT before then this will be a two step process until 5.1.1.0 is released through the updater. The first step is to install mcsMQTT from the updater. The second step is to get the updater package from http://mcsSprinklers.com/mcsMQTT_5_1_1_0.zip. Unzip HSPI_mcsMQTT.exe into the HS folder and unzip MCSMQTT_2020.dll into \bin\mcsMQTT.

    The alternate procedure is to use the updater's override capability. In that case download the attached updater_override.txt and place it in the HS folder. Place http://mcsSprinklers.com/mcsMQTT_5_1_1_0.zip in \updates3\zips folder under HS. Go to plugins page, refresh for additional and open the page at the bottom until local is visiable and mcsMQTT checkbox can be used. Then use Download and Install button a few lines above.

    For those who already have some version of mcsMQTT installed either process should work, but likely easier to do the process shown in the first of the two paragraphs without the need to first install mcsMQTT from updater.

    This is a continuation of the discussion at https://forums.homeseer.com/forum/li...ntroller/page3 and in particular there is front end setup information for configuring the WLED firmware for MQTT used on post #31.

    #2
    Hi, Michael

    I just installed version 5.1.1.0 and when starting the plugin, I have these messages in the log:


    janv.-31 08:42:21 Plug-In Finished initializing plug-in mcsMQTT
    janv.-31 08:42:21 Starting Plug-In mcsMQTT loaded in 530 milliseconds
    janv.-31 08:42:21 Starting Plug-In Plugin mcsMQTT started successfully in 344 milliseconds
    janv.-31 08:42:21 mcsMQTT Version 5.1.1.0 Registered with Homeseer
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
    janv.-31 08:42:21 Starting Plug-In Initializing plugin mcsMQTT ...
    janv.-31 08:42:21 Info Plugin mcsMQTT has connected. IP:127.0.0.1:55102
    My Sytem:
    Current Date/Time: 31/01/2020 18:50:52
    HomeSeer Version: HS3 Pro Edition 3.0.0.548
    Operating System: Microsoft Windows 10 Famille - Work Station
    System Uptime: 0 Days 10 Hours 9 Minutes 4 Seconds
    IP Address: 192.168.50.55
    Number of Devices: 451
    Number of Events: 251
    Available Threads: 800
    HSTouch Enabled: True
    Event Threads: 0
    Event Trigger Eval Queue: 0
    Event Trigger Priority Eval Queue: 0
    Device Exec Queue: 0
    HSTouch Event Queue: 0
    Email Send Queue: 0
    Anti Virus Installed: Windows Defender
    In Virtual Machine: No MFG: acer
    Enabled Plug-Ins
    2.0.61.0: BLBackup
    2.0.45.0: BLLAN
    1.0.4.0: BLShutdown
    2.0.11.0: BLUSBUIRT
    3.11.1229.18: HSBuddy
    5.1.1.0: mcsMQTT
    3.0.0.69: mcsXap
    3.0.0.14: NetCAM
    3.0.0.63: PHLocation2
    30.0.0.41: RFXCOM
    3.0.0.46: X10
    0.0.0.11: Yeelight 3P
    3.0.2.0: Z-Wave

    Thanks for this plugin and your help.

    Jean-Francois.

    Comment


      #3
      I have run out of time this morning to complete testing, but I think I may have found the issue with the actions. It is at http://mcsSprinklers.com/mcsMQTT_5_1_1_1.zip. I am getting another error in initializing the received topics on one computer but not another. I need to run that down still. It would be nice to confirm the action issue is taken care of. Both the .HSPI_MCSMQTT.exe and mcsMQTT_2020.dll were updated.

      Comment


        #4
        Hi, Michael

        The file is not valid
        Click image for larger version

Name:	Screen Shot 01-31-20 at 10.56 PM.JPG
Views:	851
Size:	34.9 KB
ID:	1358135

        I have an another problem with mqtt event , the reboot when i create an event to send mqtt msg
        janv.-31 19:45:42 Info Plugin mcsMQTT with instance: has disconnected
        janv.-31 19:45:42 Error Exception in Plug-In(mcsMQTT)/Format UI: La référence d'objet n'est pas définie à une instance d'un objet.

        Jean-francois

        Comment


          #5
          I got back and saw the 5.1.1.1 upload had aborted. This happens often with my internet connection. I have restarted it.

          Please confirm your event issue is with 5.1.1.0. I do not expect it with 5.1.1.1.

          Version 5.1 or mcsMQTT is a new structure from version 5.0 where the HS part is in the HSPI...exe and the MQTT part is in mcsMQTT_2020.dll. This was done so I could share command MQTT-side logic with new plugin mcsShelly and potentially other MQTT-related plugins in the future.

          I have been doing all my testing with HS4 beta and it has a more elegant way to handle action and trigger data. In HS3 when deserializing actions and triggers exceptions are expected. With multiple types of triggers and actions it is a guess which one is being used and if the guess is wrong an exception is raised. It just means need to try a different one.

          With the new structure to mcsMQTT the exception reported is different than it was before so the error trap was one that reported through the HS log rather than just treating it normally. It is only a nuisance in the HS log, but correctly trapped in 5.1.1.1. When doing this I also discovered an issue with formatting or the action and that is likely what caused the error reported in post #4. It was also fixed in 5.1.1.1.

          Just to be clear, what is at http://mcssprinklers.com/mcsMQTT_5_1_1_1.zip should work as expected.

          Comment


            #6
            Hi,Michael

            Same problem with he startup of plugin:
            févr.-01 05:27:49 mcsMQTT MQTTClient is Connected to broker at 192.168.50.220
            févr.-01 05:27:45 Plug-In Finished initializing plug-in mcsMQTT
            févr.-01 05:27:45 Starting Plug-In mcsMQTT loaded in 2612 milliseconds
            févr.-01 05:27:45 Starting Plug-In Plugin mcsMQTT started successfully in 1847 milliseconds
            févr.-01 05:27:43 mcsMQTT Version 5.1.1.1 Registered with Homeseer
            févr.-01 05:27:43 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
            févr.-01 05:27:43 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
            févr.-01 05:27:43 mcsMQTT DeserializeActionObject Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation. Line 0 Impossible de charger le type HSPI_MCSMQTT.classes+MyMqttAction requis pour la désérialisation.
            But the event send mqtt msg is corrected
            Click image for larger version

Name:	Screen Shot 02-01-20 at 05.39 AM.JPG
Views:	866
Size:	61.9 KB
ID:	1358210
            févr.-01 05:34:30 Event Event Trigger "Annonce Annonce tempo"
            févr.-01 05:34:30 Event Event Annonce Annonce tempo triggered by the event page 'Run' button.
            Startup log:

            [ATTACH]n1358211[/ATTACH]



            Thanks

            Jean-Francois.

            Comment


              #7
              The event issue was corrected in HSPI_mcsMQTT.exe. The nuisance messages to the HS log were corrected in mcsMQTT_2020.dll. Did you copy the .dll to the \bin\mcsMQTT folder? I will continue to monitor as the source looks correct and the file data stamp on mcsMQTT_2020.dll at 15:00 is correct. Everything in the debug file looks normal. If you did not copy the .dll then it should be done otherwise the startup messages should cause no other problems.

              Comment


                #8
                Hi, Michael

                Did you copy the .dll to the \bin\mcsMQTT folder? --> YES

                mscMQTT seems to be working properly except the startup messages

                Jean-Francois.

                Comment


                  #9
                  What hardware are people using? I have a wemos d1 but no level shifting. There’s some boards on tindie I was looking at

                  Comment


                    #10
                    Originally posted by kideon View Post
                    What hardware are people using? I have a wemos d1 but no level shifting. There’s some boards on tindie I was looking at
                    I’m thinking about putting a Quinled Uno together:

                    https://quinled.info/2018/09/15/quinled-dig-uno/


                    Sent from my iPhone using Tapatalk
                    HS4 4.2.6.0 &HSTouch Designer 3.0.80
                    Plugin's:
                    BLBackup, BLOccupied, BLShutdown, EasyTrigger, Ecobee, Nest, AK Bond
                    EnvisaLink DSC, PHLocation, Pushover, SONOS, Blue Iris, UltraRachio3,
                    weatherXML, Jon00 Alexa Helper, Network Monitor, MyQ, Z-Wave

                    Comment


                      #11
                      I believe the level shifters exists on the magichome hardware. On my two LED signs I use 3.3v<-->5v level shifter.. They are only $1 from China. It is also possible to bias the ground to fit voltage level to within specs https://www.youtube.com/watch?v=letCT3vq8V4

                      I also saw a YouTube from DrZZs on the integration of WLED with Xlights https://www.youtube.com/watch?v=p7wV6A26Gak

                      Comment


                        #12
                        Which magic home model? Is it difficult to get wled on it? Could simplify my outdoor setup

                        Comment


                          #13
                          I was thinking about something like the one from Amazon https://www.amazon.com/dp/B07L5CX8F9...NsaWNrPXRydWU=

                          but I do not have any specific experience with it. I expect it to be similar to the single-color strip controller from MagicHome that was discussed in HS thread https://forums.homeseer.com/forum/li...-control/page9 Post #123 provides a good view and shows how you need to tack-solder some wires. This is more difficult than most flashing since the soldering is required.

                          A similar non-addressable controlled from Aliiexpress at https://www.aliexpress.com/item/32884865866.html. that I saw at https://github.com/Aircoookie/WLED/issues/269 and shown below discusses use for WLED on the non-addressable strips. It requires some source code options to be selected for the compile. This is likely not what you want, but it is a more modern board shown below and it has through-hole connections that would make it a little easier than tack soldering. Mentioned here because the controller from Amazon may have a similar circuit board configuration. Note the MOSFETS on the left side of the board to drive R G and B. With these non-addressable strips the technology is different and power is provided through the three data pins. On the addressable strips power is a separate wire pair and only a single data line is used to command the LEDs. Little power is used on the data line.
                          Click image for larger version

Name:	Capture.PNG
Views:	965
Size:	287.0 KB
ID:	1358461

                          I have also seen a transistor/resistor used between the ESP8266 and the LED strip on the data line to provide the desired voltage levels. I have also driven the WS2812B directly without any level conversion for my fake TV application.

                          For the casual hacker I suggest just using a development board for ESP8266 or ESP32 that has a micro-USB connector. Just plug the USB cable into your computer and no soldering or button pushing needed for the flashing. The upside of the magichome controller is that it is already nicely packaged with connections to the LED strip.

                          Note also that I did not have success with flashing the ESP8266 and I still need to return to understand why as the ESP8266 is the primary target for WLED and many have had success with it.


                          Comment


                            #14
                            I continued to try to load WLED on ESP8266 Wemo D1 and magichome and have not had success. Works great on ESP32.

                            I tried the 8.5 binary and the current version source compiled to binary. I use my standard ESPEASY flasher, the node challenge python flasher referenced in the WLED links, and directly from serial via Platformio. When I try from ESP8266 debugger I get run time errors that prevent even startup.

                            if anybody has success with ESP8266 then please disclosed the steps that worked.

                            Comment


                              #15
                              I got my spare wemos d1 flashes and in service with 5v lights in five minutes. Waiting the plugin to hit the updater and will dive in! Level shifters will be needed for longer strips mine are 15 feet 150 led and I get the flash

                              Comment

                              Working...
                              X