[RELEASE] Sonoff (Connect)

That device is not based on the ESP8266 chip (it is a CKW04 chip), so not directly by flashing to Tasmota, probably has to be through Google Assistant or Alexa.

1 Like

No worries just found the same info. I use them to remotely turn on/off my pi and hub once shut down so not the end of the world.

1 Like

I'm having difficulty discovering my S31. It was previously working and I removed it while trying to identify the source of hub slowdowns. It is on my wifi network and easily controllable from it's web page.


image

When I try to manually add it as a wifi switch I get this.
image

I have a couple of sonoff's with the 2.0.5 firmware on them. I firmware updated one to tasmota (HE version) successfully. The second one when I try to upgrade it just finishes the file, but does nothing.

Any ideas as to how to get Tasmota on this? Thanks

Hi!
I installed the POW driver onto my POW R2 and was able to get it to connect to my network successfully. Also got the POW driver from here and used that to add it. Unfortunately, I'm not getting any information regarding amperage, power and voltage - all 3 are stuck on 0.00. Can someone help me out please? Don't know if I've done something incorrectly - does the POW firmware/driver not work for the R2? Would be really grateful for any help.

Thank you!

This is an old firmware and driver, I don't know what is not working here, but it does work with this version (current firmware version is 8.3.1):

2 Likes

Hey markus,
Thanks for responding! Will this work with Sonoff connect or do I need install another app for this? Also can I flash this through the FTDI adapter pins method instead of using the Raspberry Pi one?

It's a different app, that thread and the Wiki it links to explains it all.

You do not need to use the Raspberry Pi route, serial flashing is fine and actually what I myself prefer. You can also flash over the Tasmota webpage if you already have Tasmota on the device. In that case, first Minimal of the current version of Tasmota you're running (like 6.7.1) and then go for the full version of the target version of Tasmota, like 8.3.1.

1 Like

Hey Markus,
Thanks for the quick response! I shall check out the Wiki. Regarding the flashing over Tasmota part, I like flashing using the FTDI adapter because it's the only one I have a Youtube video for and doesn't require me to buy anything new. The Pi version seems a lot less messy though maybe I'll eventually graduate to it! For now, I do have Tasmota on the device so I shall try flashing it through the webpage.

Regarding the minimal version, my info page says: "{"deviceType":"Sonoff POW", "version":"2.0.5", "date":"May 23 2019 13:25:55", "mac":"807d3a32c3c2"}". So I should first install the minimal version of 2.0.5? The current interface looks pretty sparse anyway.

Type in "Status 2" in the console and you should get something like this:

STATUS2 = {"StatusFWR":{"Version":"8.3.1(tasmota-he)","BuildDateTime":"2020-05-20T14:46:42","Boot":7,"Core":"2_7_1","SDK":"2.2.2-dev(38a443e)","Hardware":"ESP8266EX","CR":"473/699"}}

Or check at the bottom of the Tasmota device webpage:

Hey Markus,
Wow, that was fast! Not sure how to get to the console here - my interface doesn't look anything like the nice one you have. Here's a screenshot of what it looks likesonoff_web1

Any clue how to get to the console here?

That is an old firmware I suppose, I've never seen it. What does it show under info and under firmware?

1 Like

Yeah, it looks pretty ancient - which is why I wasn't sure if there even was a minimal version of this. When I click info I get "{"deviceType":"Sonoff POW", "version":"2.0.5", "date":"May 23 2019 13:25:55", "mac":"807d3a32c3c2"}" in black text against a completely white background (basically nothing but text). When I click firmware it just gives me an option to update it, nothing else.

Chances are there is then no firmware check, you could try to upload the latest full firmware (NOT minimal) and see if that works. It could fail and make the device not boot. If that happens you would need to flash over serial. If it does work, the first thing you will probably have to do is to find the wifi network it created and login to set your wifi credentials. After that, open the console of that device and run "reset 5".

I didn't even know there was anything that old of Tasmota still running anywhere. It is either that or it is the original Sonoff firmware, but I don't know how that one looks since I have never used it.

Hi Markus,
Tried both the minimal and the full one to no avail. It uploads then briefly stops responding before loading back to the normal page. I believe this is the firmware Eric shared in his earlier release - I can share the file here if that will help. Nothing seems to be working. :frowning:

Edit: Just flashed it with the latest 8.3.1 using the FTDI Adapter - appears to be working well! Thank you for all your help, markus! Really grateful.

2 Likes

Great! Yes, that is probably the easiest way when you're on a version that old. Do make sure to run "reset 5" if you haven't already done so, that is so that all settings are stored properly. You may experience odd behavior otherwise. If you did use the erase and flash method when serially flashing reset 5 is not needed.

1 Like

Will do, Markus! Thank you! Really appreciate your help and the great work you've done on in adapting Tasmota to Hubitat! :smiley:

1 Like

Help...
something is wrong with my arduino environment....not sure what I did but have code that compiled a while back that is getting errors.
I made sure I picked the right chip
image
I'm posting this in the hope that someone else has done the same thing

Thanks
Tim

libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi.cpp.o: In function st::SmartThingsESP32WiFi::WiFiEvent(system_event_id_t)': C:\Users\TimothyO'Callaghan\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi\src/WiFiServer.h:39: multiple definition of st::SmartThingsESP32WiFi::WiFiEvent(system_event_id_t)'
libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi (1).cpp.o:C:\Users\TimothyO'Callaghan\Documents\Arduino\libraries\SmartThingsESP32WiFi/SmartThingsESP32WiFi (1).cpp:70: first defined here
libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi.cpp.o: In function st::SmartThingsESP32WiFi::init()': SmartThingsESP32WiFi.cpp:(.text._ZN2st20SmartThingsESP32WiFi4initEv+0x0): multiple definition of st::SmartThingsESP32WiFi::init()'
libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi (1).cpp.o:SmartThingsESP32WiFi (1).cpp:(.text._ZN2st20SmartThingsESP32WiFi4initEv+0x0): first defined here
libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi.cpp.o:(.bss._ZN2st20SmartThingsESP32WiFi17disconnectCounterE+0x0): multiple definition of st::SmartThingsESP32WiFi::disconnectCounter' libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi (1).cpp.o:(.bss._ZN2st20SmartThingsESP32WiFi17disconnectCounterE+0x0): first defined here libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi.cpp.o: In function st::SmartThingsESP32WiFi::SmartThingsESP32WiFi(unsigned short, IPAddress, unsigned short, void ()(String), String, bool, int)':
SmartThingsESP32WiFi.cpp:(.text._ZN2st20SmartThingsESP32WiFiC2Et9IPAddresstPFv6StringES2_bi+0x0): multiple definition of st::SmartThingsESP32WiFi::SmartThingsESP32WiFi(unsigned short, IPAddress, unsigned short, void (*)(String), String, bool, int)' libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi (1).cpp.o:SmartThingsESP32WiFi (1).cpp:(.text._ZN2st20SmartThingsESP32WiFiC2Et9IPAddresstPFv6StringES2_bi+0x0): first defined here libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi.cpp.o: In function st::SmartThingsESP32WiFi::SmartThingsESP32WiFi(unsigned short, IPAddress, unsigned short, void (
)(String), String, bool, int)':
SmartThingsESP32WiFi.cpp:(.text._ZN2st20SmartThingsESP32WiFiC2Et9IPAddresstPFv6StringES2_bi+0x0): multiple definition of st::SmartThingsESP32WiFi::SmartThingsESP32WiFi(unsigned short, IPAddress, unsigned short, void (*)(String), String, bool, int)' libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi (1).cpp.o:SmartThingsESP32WiFi (1).cpp:(.text._ZN2st20SmartThingsESP32WiFiC2Et9IPAddresstPFv6StringES2_bi+0x0): first defined here libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi.cpp.o: In function st::SmartThingsESP32WiFi::SmartThingsESP32WiFi(String, String, IPAddress, IPAddress, IPAddress, IPAddress, unsigned short, IPAddress, unsigned short, void ()(String), String, bool, int)':
SmartThingsESP32WiFi.cpp:(.text._ZN2st20SmartThingsESP32WiFiC2E6StringS1_9IPAddressS2_S2_S2_tS2_tPFvS1_ES1_bi+0x0): multiple definition of st::SmartThingsESP32WiFi::SmartThingsESP32WiFi(String, String, IPAddress, IPAddress, IPAddress, IPAddress, unsigned short, IPAddress, unsigned short, void (*)(String), String, bool, int)' libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi (1).cpp.o:SmartThingsESP32WiFi (1).cpp:(.text._ZN2st20SmartThingsESP32WiFiC2E6StringS1_9IPAddressS2_S2_S2_tS2_tPFvS1_ES1_bi+0x0): first defined here libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi.cpp.o: In function st::SmartThingsESP32WiFi::SmartThingsESP32WiFi(String, String, IPAddress, IPAddress, IPAddress, IPAddress, unsigned short, IPAddress, unsigned short, void (
)(String), String, bool, int)':
SmartThingsESP32WiFi.cpp:(.text._ZN2st20SmartThingsESP32WiFiC2E6StringS1_9IPAddressS2_S2_S2_tS2_tPFvS1_ES1_bi+0x0): multiple definition of st::SmartThingsESP32WiFi::SmartThingsESP32WiFi(String, String, IPAddress, IPAddress, IPAddress, IPAddress, unsigned short, IPAddress, unsigned short, void (*)(String), String, bool, int)' libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi (1).cpp.o:SmartThingsESP32WiFi (1).cpp:(.text._ZN2st20SmartThingsESP32WiFiC2E6StringS1_9IPAddressS2_S2_S2_tS2_tPFvS1_ES1_bi+0x0): first defined here libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi.cpp.o: In function st::SmartThingsESP32WiFi::SmartThingsESP32WiFi(String, String, unsigned short, IPAddress, unsigned short, void ()(String), String, bool, int)':
SmartThingsESP32WiFi.cpp:(.text._ZN2st20SmartThingsESP32WiFiC2E6StringS1_t9IPAddresstPFvS1_ES1_bi+0x0): multiple definition of st::SmartThingsESP32WiFi::SmartThingsESP32WiFi(String, String, unsigned short, IPAddress, unsigned short, void (*)(String), String, bool, int)' libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi (1).cpp.o:SmartThingsESP32WiFi (1).cpp:(.text._ZN2st20SmartThingsESP32WiFiC2E6StringS1_t9IPAddresstPFvS1_ES1_bi+0x0): first defined here libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi.cpp.o: In function st::SmartThingsESP32WiFi::SmartThingsESP32WiFi(String, String, unsigned short, IPAddress, unsigned short, void (
)(String), String, bool, int)':
SmartThingsESP32WiFi.cpp:(.text._ZN2st20SmartThingsESP32WiFiC2E6StringS1_t9IPAddresstPFvS1_ES1_bi+0x0): multiple definition of st::SmartThingsESP32WiFi::SmartThingsESP32WiFi(String, String, unsigned short, IPAddress, unsigned short, void (*)(String), String, bool, int)' libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi (1).cpp.o:SmartThingsESP32WiFi (1).cpp:(.text._ZN2st20SmartThingsESP32WiFiC2E6StringS1_t9IPAddresstPFvS1_ES1_bi+0x0): first defined here libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi.cpp.o: In function st::SmartThingsESP32WiFi::~SmartThingsESP32WiFi()':
SmartThingsESP32WiFi.cpp:(.text._ZN2st20SmartThingsESP32WiFiD2Ev+0x0): multiple definition of st::SmartThingsESP32WiFi::~SmartThingsESP32WiFi()' libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi (1).cpp.o:SmartThingsESP32WiFi (1).cpp:(.text._ZN2st20SmartThingsESP32WiFiD2Ev+0x0): first defined here libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi.cpp.o: In function st::SmartThingsESP32WiFi::~SmartThingsESP32WiFi()':
SmartThingsESP32WiFi.cpp:(.text._ZN2st20SmartThingsESP32WiFiD2Ev+0x0): multiple definition of st::SmartThingsESP32WiFi::~SmartThingsESP32WiFi()' libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi (1).cpp.o:SmartThingsESP32WiFi (1).cpp:(.text._ZN2st20SmartThingsESP32WiFiD2Ev+0x0): first defined here libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi.cpp.o: In function st::SmartThingsESP32WiFi::~SmartThingsESP32WiFi()':
SmartThingsESP32WiFi.cpp:(.text._ZN2st20SmartThingsESP32WiFiD0Ev+0x0): multiple definition of st::SmartThingsESP32WiFi::~SmartThingsESP32WiFi()' libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi (1).cpp.o:SmartThingsESP32WiFi (1).cpp:(.text._ZN2st20SmartThingsESP32WiFiD0Ev+0x0): first defined here libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi.cpp.o: In function st::SmartThingsESP32WiFi::run()':
SmartThingsESP32WiFi.cpp:(.text._ZN2st20SmartThingsESP32WiFi3runEv+0x0): multiple definition of st::SmartThingsESP32WiFi::run()' libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi (1).cpp.o:SmartThingsESP32WiFi (1).cpp:(.text._ZN2st20SmartThingsESP32WiFi3runEv+0x0): first defined here libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi.cpp.o: In function st::SmartThingsESP32WiFi::send(String)':
SmartThingsESP32WiFi.cpp:(.text._ZN2st20SmartThingsESP32WiFi4sendE6String+0x0): multiple definition of st::SmartThingsESP32WiFi::send(String)' libraries\SmartThingsESP32WiFi\SmartThingsESP32WiFi (1).cpp.o:SmartThingsESP32WiFi (1).cpp:(.text._ZN2st20SmartThingsESP32WiFi4sendE6String+0x0): first defined here libraries\ST_Anything\EX_Alarm.cpp.o: In function st::EX_Alarm::init()':
C:\Users\TimothyO'Callaghan\Documents\Arduino\libraries\ST_Anything/EX_Alarm.cpp:95: multiple definition of st::EX_Alarm::init()' libraries\ST_Anything\EX_Alarm (1).cpp.o:C:\Users\TimothyO'Callaghan\Documents\Arduino\libraries\ST_Anything/EX_Alarm (1).cpp:95: first defined here libraries\ST_Anything\EX_Alarm.cpp.o: In function st::EX_Alarm::~EX_Alarm()':
EX_Alarm.cpp:(.text._ZN2st8EX_AlarmD2Ev+0x0): multiple definition of st::EX_Alarm::~EX_Alarm()' libraries\ST_Anything\EX_Alarm (1).cpp.o:EX_Alarm (1).cpp:(.text._ZN2st8EX_AlarmD2Ev+0x0): first defined here libraries\ST_Anything\EX_Alarm.cpp.o: In function st::EX_Alarm::~EX_Alarm()':
EX_Alarm.cpp:(.text._ZN2st8EX_AlarmD2Ev+0x0): multiple definition of st::EX_Alarm::~EX_Alarm()' libraries\ST_Anything\EX_Alarm (1).cpp.o:EX_Alarm (1).cpp:(.text._ZN2st8EX_AlarmD2Ev+0x0): first defined here libraries\ST_Anything\EX_Alarm.cpp.o: In function st::EX_Alarm::~EX_Alarm()':
EX_Alarm.cpp:(.text._ZN2st8EX_AlarmD0Ev+0x0): multiple definition of st::EX_Alarm::~EX_Alarm()' libraries\ST_Anything\EX_Alarm (1).cpp.o:EX_Alarm (1).cpp:(.text._ZN2st8EX_AlarmD0Ev+0x0): first defined here libraries\ST_Anything\EX_Alarm.cpp.o: In function st::EX_Alarm::refresh()':
EX_Alarm.cpp:(.text._ZN2st8EX_Alarm7refreshEv+0x0): multiple definition of st::EX_Alarm::refresh()' libraries\ST_Anything\EX_Alarm (1).cpp.o:EX_Alarm (1).cpp:(.text._ZN2st8EX_Alarm7refreshEv+0x0): first defined here libraries\ST_Anything\EX_Alarm.cpp.o: In function st::EX_Alarm::writeStateToPin()':
EX_Alarm.cpp:(.text._ZN2st8EX_Alarm15writeStateToPinEv+0x0): multiple definition of st::EX_Alarm::writeStateToPin()' libraries\ST_Anything\EX_Alarm (1).cpp.o:EX_Alarm (1).cpp:(.text._ZN2st8EX_Alarm15writeStateToPinEv+0x0): first defined here libraries\ST_Anything\EX_Alarm.cpp.o: In function st::EX_Alarm::beSmart(String const&)':
EX_Alarm.cpp:(.text._ZN2st8EX_Alarm7beSmartERK6String+0x0): multiple definition of st::EX_Alarm::beSmart(String const&)' libraries\ST_Anything\EX_Alarm (1).cpp.o:EX_Alarm (1).cpp:(.text._ZN2st8EX_Alarm7beSmartERK6String+0x0): first defined here libraries\ST_Anything\EX_Alarm.cpp.o: In function st::EX_Alarm::setPin(unsigned char)':
EX_Alarm.cpp:(.text._ZN2st8EX_Alarm6setPinEh+0x0): multiple definition of st::EX_Alarm::setPin(unsigned char)' libraries\ST_Anything\EX_Alarm (1).cpp.o:EX_Alarm (1).cpp:(.text._ZN2st8EX_Alarm6setPinEh+0x0): first defined here libraries\ST_Anything\EX_Alarm.cpp.o: In function st::EX_Alarm::EX_Alarm(__FlashStringHelper const*, unsigned char, bool, bool, unsigned char)':
EX_Alarm.cpp:(.text._ZN2st8EX_AlarmC2EPK19__FlashStringHelperhbbh+0x0): multiple definition of st::EX_Alarm::EX_Alarm(__FlashStringHelper const*, unsigned char, bool, bool, unsigned char)' libraries\ST_Anything\EX_Alarm (1).cpp.o:EX_Alarm (1).cpp:(.text._ZN2st8EX_AlarmC2EPK19__FlashStringHelperhbbh+0x0): first defined here libraries\ST_Anything\EX_Alarm.cpp.o: In function st::EX_Alarm::EX_Alarm(__FlashStringHelper const*, unsigned char, bool, bool, unsigned char)':
EX_Alarm.cpp:(.text._ZN2st8EX_AlarmC2EPK19__FlashStringHelperhbbh+0x0): multiple definition of st::EX_Alarm::EX_Alarm(__FlashStringHelper const*, unsigned char, bool, bool, unsigned char)' libraries\ST_Anything\EX_Alarm (1).cpp.o:EX_Alarm (1).cpp:(.text._ZN2st8EX_AlarmC2EPK19__FlashStringHelperhbbh+0x0): first defined here libraries\ST_Anything\EX_RGBW_Dim.cpp.o: In function st::EX_RGBW_Dim::~EX_RGBW_Dim()':
C:\Users\TimothyO'Callaghan\Documents\Arduino\libraries\ST_Anything/EX_RGBW_Dim.cpp:149: multiple definition of st::EX_RGBW_Dim::~EX_RGBW_Dim()' libraries\ST_Anything\EX_RGBW_Dim (1).cpp.o:C:\Users\TimothyO'Callaghan\Documents\Arduino\libraries\ST_Anything/EX_RGBW_Dim (1).cpp:125: first defined here libraries\ST_Anything\EX_RGBW_Dim.cpp.o: In function st::EX_RGBW_Dim::~EX_RGBW_Dim()':
EX_RGBW_Dim.cpp:(.text._ZN2st11EX_RGBW_DimD2Ev+0x0): multiple definition of st::EX_RGBW_Dim::~EX_RGBW_Dim()' libraries\ST_Anything\EX_RGBW_Dim (1).cpp.o:EX_RGBW_Dim (1).cpp:(.text._ZN2st11EX_RGBW_DimD2Ev+0x0): first defined here libraries\ST_Anything\EX_RGBW_Dim.cpp.o: In function st::EX_RGBW_Dim::~EX_RGBW_Dim()':
EX_RGBW_Dim.cpp:(.text._ZN2st11EX_RGBW_DimD0Ev+0x0): multiple definition of st::EX_RGBW_Dim::~EX_RGBW_Dim()' libraries\ST_Anything\EX_RGBW_Dim (1).cpp.o:EX_RGBW_Dim (1).cpp:(.text._ZN2st11EX_RGBW_DimD0Ev+0x0): first defined here libraries\ST_Anything\EX_RGBW_Dim.cpp.o: In function st::EX_RGBW_Dim::refresh()':
EX_RGBW_Dim.cpp:(.text._ZN2st11EX_RGBW_Dim7refreshEv+0x0): multiple definition of st::EX_RGBW_Dim::refresh()' libraries\ST_Anything\EX_RGBW_Dim (1).cpp.o:EX_RGBW_Dim (1).cpp:(.text._ZN2st11EX_RGBW_Dim7refreshEv+0x0): first defined here libraries\ST_Anything\EX_RGBW_Dim.cpp.o: In function st::EX_RGBW_Dim::refresh()':
EX_RGBW_Dim.cpp:(.text._ZN2st11EX_RGBW_Dim7refreshEv+0x0): multiple definition of st::EX_RGBW_Dim::init()' libraries\ST_Anything\EX_RGBW_Dim (1).cpp.o:EX_RGBW_Dim (1).cpp:(.text._ZN2st11EX_RGBW_Dim7refreshEv+0x0): first defined here libraries\ST_Anything\EX_RGBW_Dim.cpp.o: In function st::EX_RGBW_Dim::setRedPin(unsigned char, unsigned char)':
EX_RGBW_Dim.cpp:(.text._ZN2st11EX_RGBW_Dim9setRedPinEhh+0x0): multiple definition of st::EX_RGBW_Dim::setRedPin(unsigned char, unsigned char)' libraries\ST_Anything\EX_RGBW_Dim (1).cpp.o:EX_RGBW_Dim (1).cpp:(.text._ZN2st11EX_RGBW_Dim9setRedPinEhh+0x0): first defined here libraries\ST_Anything\EX_RGBW_Dim.cpp.o: In function st::EX_RGBW_Dim::setGreenPin(unsigned char, unsigned char)':
EX_RGBW_Dim.cpp:(.text._ZN2st11EX_RGBW_Dim11setGreenPinEhh+0x0): multiple definition of st::EX_RGBW_Dim::setGreenPin(unsigned char, unsigned char)' libraries\ST_Anything\EX_RGBW_Dim (1).cpp.o:EX_RGBW_Dim (1).cpp:(.text._ZN2st11EX_RGBW_Dim11setGreenPinEhh+0x0): first defined here libraries\ST_Anything\EX_RGBW_Dim.cpp.o: In function st::EX_RGBW_Dim::setBluePin(unsigned char, unsigned char)':
EX_RGBW_Dim.cpp:(.text._ZN2st11EX_RGBW_Dim10setBluePinEhh+0x0): multiple definition of st::EX_RGBW_Dim::setBluePin(unsigned char, unsigned char)' libraries\ST_Anything\EX_RGBW_Dim (1).cpp.o:EX_RGBW_Dim (1).cpp:(.text._ZN2st11EX_RGBW_Dim10setBluePinEhh+0x0): first defined here libraries\ST_Anything\EX_RGBW_Dim.cpp.o: In function st::EX_RGBW_Dim::setWhitePin(unsigned char, unsigned char)':
EX_RGBW_Dim.cpp:(.text._ZN2st11EX_RGBW_Dim11setWhitePinEhh+0x0): multiple definition of st::EX_RGBW_Dim::setWhitePin(unsigned char, unsigned char)' libraries\ST_Anything\EX_RGBW_Dim (1).cpp.o:EX_RGBW_Dim (1).cpp:(.text._ZN2st11EX_RGBW_Dim11setWhitePinEhh+0x0): first defined here libraries\ST_Anything\EX_RGBW_Dim.cpp.o: In function st::EX_RGBW_Dim::writeRGBWToPins()':
EX_RGBW_Dim.cpp:(.text._ZN2st11EX_RGBW_Dim15writeRGBWToPinsEv+0x0): multiple definition of st::EX_RGBW_Dim::writeRGBWToPins()' libraries\ST_Anything\EX_RGBW_Dim (1).cpp.o:EX_RGBW_Dim (1).cpp:(.text._ZN2st11EX_RGBW_Dim15writeRGBWToPinsEv+0x0): first defined here libraries\ST_Anything\EX_RGBW_Dim.cpp.o: In function st::EX_RGBW_Dim::beSmart(String const&)':
EX_RGBW_Dim.cpp:(.text._ZN2st11EX_RGBW_Dim7beSmartERK6String+0x0): multiple definition of st::EX_RGBW_Dim::beSmart(String const&)' libraries\ST_Anything\EX_RGBW_Dim (1).cpp.o:EX_RGBW_Dim (1).cpp:(.text._ZN2st11EX_RGBW_Dim7beSmartERK6String+0x0): first defined here libraries\ST_Anything\EX_RGBW_Dim.cpp.o: In function st::EX_RGBW_Dim::EX_RGBW_Dim(__FlashStringHelper const*, unsigned char, unsigned char, unsigned char, unsigned char, bool, unsigned char, unsigned char, unsigned char, unsigned char)':
EX_RGBW_Dim.cpp:(.text._ZN2st11EX_RGBW_DimC2EPK19__FlashStringHelperhhhhbhhhh+0x0): multiple definition of st::EX_RGBW_Dim::EX_RGBW_Dim(__FlashStringHelper const*, unsigned char, unsigned char, unsigned char, unsigned char, bool, unsigned char, unsigned char, unsigned char, unsigned char)' libraries\ST_Anything\EX_RGBW_Dim (1).cpp.o:EX_RGBW_Dim (1).cpp:(.text._ZN2st11EX_RGBW_DimC2EPK19__FlashStringHelperhhhhbhhhh+0x0): first defined here libraries\ST_Anything\EX_RGBW_Dim.cpp.o: In function st::EX_RGBW_Dim::EX_RGBW_Dim(__FlashStringHelper const*, unsigned char, unsigned char, unsigned char, unsigned char, bool, unsigned char, unsigned char, unsigned char, unsigned char)':
EX_RGBW_Dim.cpp:(.text._ZN2st11EX_RGBW_DimC2EPK19__FlashStringHelperhhhhbhhhh+0x0): multiple definition of st::EX_RGBW_Dim::EX_RGBW_Dim(__FlashStringHelper const*, unsigned char, unsigned char, unsigned char, unsigned char, bool, unsigned char, unsigned char, unsigned char, unsigned char)' libraries\ST_Anything\EX_RGBW_Dim (1).cpp.o:EX_RGBW_Dim (1).cpp:(.text._ZN2st11EX_RGBW_DimC2EPK19__FlashStringHelperhhhhbhhhh+0x0): first defined here libraries\ST_Anything\IS_Button.cpp.o: In function st::IS_Button::~IS_Button()':
C:\Users\TimothyO'Callaghan\Documents\Arduino\libraries\ST_Anything/IS_Button.cpp:47: multiple definition of st::IS_Button::~IS_Button()' libraries\ST_Anything\IS_Button (1).cpp.o:C:\Users\TimothyO'Callaghan\Documents\Arduino\libraries\ST_Anything/IS_Button (1).cpp:47: first defined here libraries\ST_Anything\IS_Button.cpp.o: In function st::IS_Button::~IS_Button()':
IS_Button.cpp:(.text._ZN2st9IS_ButtonD2Ev+0x0): multiple definition of st::IS_Button::~IS_Button()' libraries\ST_Anything\IS_Button (1).cpp.o:IS_Button (1).cpp:(.text._ZN2st9IS_ButtonD2Ev+0x0): first defined here libraries\ST_Anything\IS_Button.cpp.o: In function st::IS_Button::~IS_Button()':
IS_Button.cpp:(.text._ZN2st9IS_ButtonD0Ev+0x0): multiple definition of st::IS_Button::~IS_Button()' libraries\ST_Anything\IS_Button (1).cpp.o:IS_Button (1).cpp:(.text._ZN2st9IS_ButtonD0Ev+0x0): first defined here libraries\ST_Anything\IS_Button.cpp.o: In function st::IS_Button::refresh()':
IS_Button.cpp:(.text._ZN2st9IS_Button7refreshEv+0x0): multiple definition of st::IS_Button::refresh()' libraries\ST_Anything\IS_Button (1).cpp.o:IS_Button (1).cpp:(.text._ZN2st9IS_Button7refreshEv+0x0): first defined here libraries\ST_Anything\IS_Button.cpp.o: In function st::IS_Button::runInterrupt()':
IS_Button.cpp:(.text._ZN2st9IS_Button12runInterruptEv+0x0): multiple definition of st::IS_Button::runInterrupt()' libraries\ST_Anything\IS_Button (1).cpp.o:IS_Button (1).cpp:(.text._ZN2st9IS_Button12runInterruptEv+0x0): first defined here libraries\ST_Anything\IS_Button.cpp.o: In function st::IS_Button::runInterruptEnded()':
IS_Button.cpp:(.text._ZN2st9IS_Button17runInterruptEndedEv+0x0): multiple definition of st::IS_Button::runInterruptEnded()' libraries\ST_Anything\IS_Button (1).cpp.o:IS_Button (1).cpp:(.text._ZN2st9IS_Button17runInterruptEndedEv+0x0): first defined here libraries\ST_Anything\IS_Button.cpp.o: In function st::IS_Button::IS_Button(__FlashStringHelper const*, unsigned char, long, bool, bool, long)':
IS_Button.cpp:(.text._ZN2st9IS_ButtonC2EPK19__FlashStringHelperhlbbl+0x0): multiple definition of st::IS_Button::IS_Button(__FlashStringHelper const*, unsigned char, long, bool, bool, long)' libraries\ST_Anything\IS_Button (1).cpp.o:IS_Button (1).cpp:(.text._ZN2st9IS_ButtonC2EPK19__FlashStringHelperhlbbl+0x0): first defined here libraries\ST_Anything\IS_Button.cpp.o: In function st::IS_Button::IS_Button(__FlashStringHelper const*, unsigned char, long, bool, bool, long)':
IS_Button.cpp:(.text._ZN2st9IS_ButtonC2EPK19__FlashStringHelperhlbbl+0x0): multiple definition of st::IS_Button::IS_Button(__FlashStringHelper const*, unsigned char, long, bool, bool, long)' libraries\ST_Anything\IS_Button (1).cpp.o:IS_Button (1).cpp:(.text._ZN2st9IS_ButtonC2EPK19__FlashStringHelperhlbbl+0x0): first defined here libraries\ST_Anything\IS_Button.cpp.o: In function st::IS_Button::init()':
IS_Button.cpp:(.text._ZN2st9IS_Button4initEv+0x0): multiple definition of st::IS_Button::init()' libraries\ST_Anything\IS_Button (1).cpp.o:IS_Button (1).cpp:(.text._ZN2st9IS_Button4initEv+0x0): first defined here libraries\ST_Anything\PS_PulseCounter.cpp.o:(.bss._ZN2st9m_nCountsE+0x0): multiple definition of st::m_nCounts'
libraries\ST_Anything\PS_PulseCounter (1).cpp.o:(.bss._ZN2st9m_nCountsE+0x0): first defined here
libraries\ST_Anything\PS_PulseCounter.cpp.o: In function st::isrPulse()': PS_PulseCounter.cpp:(.text._ZN2st8isrPulseEv+0x0): multiple definition of st::isrPulse()'
libraries\ST_Anything\PS_PulseCounter (1).cpp.o:PS_PulseCounter (1).cpp:(.text._ZN2st8isrPulseEv+0x0): first defined here
libraries\ST_Anything\PS_PulseCounter.cpp.o: In function st::PS_PulseCounter::~PS_PulseCounter()': PS_PulseCounter.cpp:(.text._ZN2st15PS_PulseCounterD2Ev+0x0): multiple definition of st::PS_PulseCounter::~PS_PulseCounter()'
libraries\ST_Anything\PS_PulseCounter (1).cpp.o:PS_PulseCounter (1).cpp:(.text._ZN2st15PS_PulseCounterD2Ev+0x0): first defined here
libraries\ST_Anything\PS_PulseCounter.cpp.o: In function st::PS_PulseCounter::~PS_PulseCounter()': PS_PulseCounter.cpp:(.text._ZN2st15PS_PulseCounterD2Ev+0x0): multiple definition of st::PS_PulseCounter::~PS_PulseCounter()'
libraries\ST_Anything\PS_PulseCounter (1).cpp.o:PS_PulseCounter (1).cpp:(.text._ZN2st15PS_PulseCounterD2Ev+0x0): first defined here
libraries\ST_Anything\PS_PulseCounter.cpp.o: In function st::PS_PulseCounter::~PS_PulseCounter()': PS_PulseCounter.cpp:(.text._ZN2st15PS_PulseCounterD0Ev+0x0): multiple definition of st::PS_PulseCounter::~PS_PulseCounter()'
libraries\ST_Anything\PS_PulseCounter (1).cpp.o:PS_PulseCounter (1).cpp:(.text._ZN2st15PS_PulseCounterD0Ev+0x0): first defined here
libraries\ST_Anything\PS_PulseCounter.cpp.o: In function st::PS_PulseCounter::beSmart(String const&)': PS_PulseCounter.cpp:(.text._ZN2st15PS_PulseCounter7beSmartERK6String+0x0): multiple definition of st::PS_PulseCounter::beSmart(String const&)'
libraries\ST_Anything\PS_PulseCounter (1).cpp.o:PS_PulseCounter (1).cpp:(.text._ZN2st15PS_PulseCounter7beSmartERK6String+0x0): first defined here
libraries\ST_Anything\PS_PulseCounter.cpp.o: In function st::PS_PulseCounter::getData()': PS_PulseCounter.cpp:(.text._ZN2st15PS_PulseCounter7getDataEv+0x0): multiple definition of st::PS_PulseCounter::getData()'
libraries\ST_Anything\PS_PulseCounter (1).cpp.o:PS_PulseCounter (1).cpp:(.text._ZN2st15PS_PulseCounter7getDataEv+0x0): first defined here
libraries\ST_Anything\PS_PulseCounter.cpp.o: In function st::PS_PulseCounter::setPin(unsigned char)': PS_PulseCounter.cpp:(.text._ZN2st15PS_PulseCounter6setPinEh+0x0): multiple definition of st::PS_PulseCounter::setPin(unsigned char)'
libraries\ST_Anything\PS_PulseCounter (1).cpp.o:PS_PulseCounter (1).cpp:(.text._ZN2st15PS_PulseCounter6setPinEh+0x0): first defined here
libraries\ST_Anything\PS_PulseCounter.cpp.o: In function st::PS_PulseCounter::PS_PulseCounter(__FlashStringHelper const*, unsigned int, int, unsigned char, unsigned char, unsigned char, float, float)': Multiple libraries were found for "WiFi.h" PS_PulseCounter.cpp:(.text._ZN2st15PS_PulseCounterC2EPK19__FlashStringHelperjihhhff+0x0): multiple definition of st::PS_PulseCounter::PS_PulseCounter(__FlashStringHelper const*, unsigned int, int, unsigned char, unsigned char, unsigned char, float, float)'
Used: C:\Users\TimothyO'Callaghan\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi
Not used: C:\Users\TimothyO'Callaghan\Documents\Arduino\libraries\WiFiNINA
Not used: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.51.0_x86__mdqgnx93n4wtt\libraries\WiFi
libraries\ST_Anything\PS_PulseCounter (1).cpp.o:PS_PulseCounter (1).cpp:(.text._ZN2st15PS_PulseCounterC2EPK19__FlashStringHelperjihhhff+0x0): first defined here
libraries\ST_Anything\PS_PulseCounter.cpp.o: In function st::PS_PulseCounter::PS_PulseCounter(__FlashStringHelper const*, unsigned int, int, unsigned char, unsigned char, unsigned char, float, float)': PS_PulseCounter.cpp:(.text._ZN2st15PS_PulseCounterC2EPK19__FlashStringHelperjihhhff+0x0): multiple definition of st::PS_PulseCounter::PS_PulseCounter(__FlashStringHelper const*, unsigned int, int, unsigned char, unsigned char, unsigned char, float, float)'
libraries\ST_Anything\PS_PulseCounter (1).cpp.o:PS_PulseCounter (1).cpp:(.text._ZN2st15PS_PulseCounterC2EPK19__FlashStringHelperjihhhff+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
exit status 1
Error compiling for board DOIT ESP32 DEVKIT V1.

Hi Sonoffers,
I'm moving over to HE from ST.... It's been looking good, but I've hit issues with Sonoff (Connect) & 4ch devices
I added all my Basics fine (though I had to manually change their network ID to be their MAC address).
but when I tried to add a 4CH wifi switch, I don't get the children created.
I had the driver & child driver installed.
I went in to the parent driver once created, and clicked on "Configure", but nothing appears in the log.

On creating the device I am getting this error in the log:

app:2652021-12-10 15:47:14.927 errorjava.lang.NullPointerException: Cannot get property 'label' on null object on line 69 (method configurePDevice)

app:2652021-12-10 15:47:07.684 debugCreating Sonoff Wifi Switch with dni: c0a8563a:0050

Is there a trick to getting the children created?

I'm also finding that the Sonoff (connect) app vanishes/never appears in my Apps list.
If I add it again, I end up with a new instance, which can't be clever.

Any tips for 4ch and for cleaning up my app installs and getting it working nicely?
(apologies - this is a sloppy post)

James

It probably never fully installs because of the error. So first off you might want to click "Add user app", choose Sonoff Connect, and then just clicking "Done". Then go back to the app in the "Apps" list.

As for the error, I will see if it is something that can be fixed real quick. I'm guessing you have the drivers installed for the 4-channel?

Edit: I just ran through everything and once I had all the drivers installed, it seemed to work for me. In addition to the App I had to have these installed:

https://raw.githubusercontent.com/erocm123/Hubitat/master/Drivers/switch-child-device.src/switch-child-device.groovy

https://raw.githubusercontent.com/erocm123/Hubitat/master/Drivers/sonoff-4ch-tasmota.src/sonoff-4ch-tasmota.groovy