Comments (7)
If anybody is interested yet, I found it. Issue was on my end (of course πΆβπ«οΈ) and in best words, I am an idiot π. Sorry cause confusion and thank you for your time.
I mentioned before, this matrix is combo of WLED (one ESP32) and FastLED Tetris/Snake/Breakout (another ESP32). Both ESP's32 are connected to same data IN PIN on LED matrix. In order to be able to handle this without interference, and to use only one at given moment depending on use case, I had to write some code. For WLED board enable/disable, I didn't found any other way except that I change it's output data PIN. E.g. if WLED board should be disabled, there is a class in Arduino FastLED code, which sending configuration to WLED board via REST command, JSON API, to change it's output data PIN to some dummy PIN, where nothing is connected. And vice versa for use case when WLED board should be enabled => set PIN to GPIO4, where matrix is connected. In this REST command, I'm sending whole conf and this was a problem (sorry guys, I made this few months ago and forgot it). This is the class:
// APP_WLEDREAL
class WledReal {
public:
void setup() {
HTTPClient http;
http.begin(espClient, wledCfg);
http.addHeader("Content-Type", "application/json");
int httpResponseCode = http.POST("{\"hw\":{\"led\":{\"total\":256,\"maxpwr\":5000,\"ledma\":55,\"cct\":false,\"cr\":false,\"cb\":0,\"fps\":42,\"rgbwm\":255,\"ld\":false,\"matrix\":{\"ph\":16,\"pw\":16,\"mph\":1,\"mpv\":1,\"pb\":false,\"pr\":false,\"pv\":false,\"ps\":false,\"panels\":[{\"b\":false,\"r\":false,\"v\":false,\"s\":true}]},\"ins\":[{\"start\":0,\"len\":256,\"pin\":[4],\"order\":0,\"rev\":false,\"skip\":0,\"type\":22,\"ref\":false,\"rgbwm\":0}]}}}");
Serial.print("HTTP Response code: ");
Serial.println(httpResponseCode);
http.end();
}
boolean loop() {
}
};
So now is clear why my Maxpower was mess back to 5000mA, and why data PIN was mess back to GPIO4. Regarding matrix layout, mess back from 16x16 to 8x8, idk. I can see above in my REST command it is already set to 16x16. On the other hand I can see in WLED UI there is noticeable difference in 2D Configuration panel between WLED official and WLED MM, and this above was initially coded for WLED official, few months ago when I didn't know that WLED MM exist at all. So I can only guess that JSON string should be made differently for WLED MM and that in my case it falls back to 8x8, which is if I remember correct default layout (didn't catch the time to test this yet, working hours π).
@dosipod @softhack007 : Thank you very much for prompt responses and sorry once again for confusion.
from wled.
If someone else is experiencing such an issue, I'm work around'ing it with Home Assistant automation as for now:
- id: '1681036996891'
alias: King Matrix Restore Conf
description: ''
trigger:
- platform: state
entity_id:
- switch.light_switch_kids_2
to: 'on'
condition: []
action:
- wait_for_trigger:
- platform: state
entity_id:
- light.king_matrix
to: 'on'
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- service: rest_command.king_matrix_restore_conf
data: {}
- delay:
hours: 0
minutes: 0
seconds: 2
milliseconds: 0
- service: button.press
data: {}
target:
entity_id: button.king_matrix_restart
mode: single
- id: '1681037968114'
alias: Light Switch Kids 2 Off King Matrix Off
description: ''
trigger:
- platform: state
entity_id:
- switch.light_switch_kids_2
from: 'on'
to: 'off'
condition: []
action:
- service: light.turn_off
data: {}
target:
entity_id: light.king_matrix
mode: single
Rest command:
king_matrix_restore_conf:
url: "http://192.168.0.188/json/cfg"
method: POST
content_type: "application/json"
payload: '{"rev":[1,0],"vid":2304080,"id":{"mdns":"king-matrix","name":"King Matrix","inv":"Light"},"nw":{"ins":[{"ssid":"Please wait void...","pskl":19,"ip":[0,0,0,0],"gw":[0,0,0,0],"sn":[255,255,255,0]}]},"ap":{"ssid":"WLED-AP King Matrix","pskl":8,"chan":1,"hide":0,"behav":0,"ip":[4,3,2,1]},"wifi":{"sleep":false},"hw":{"led":{"total":256,"maxpwr":4500,"ledma":55,"cct":false,"cr":false,"cb":0,"fps":42,"rgbwm":255,"ld":false,"matrix":{"mpc":1,"ba":true,"mph":1,"mpv":1,"pb":false,"pr":false,"pv":false,"ps":false,"panels":[{"b":false,"r":false,"v":false,"s":true,"x":0,"y":0,"h":16,"w":16}]},"ins":[{"start":0,"len":256,"pin":[4],"order":0,"rev":false,"skip":0,"type":22,"ref":false,"rgbwm":0}]},"com":[],"btn":{"max":4,"pull":true,"ins":[{"type":0,"pin":[-1],"macros":[0,0,0]},{"type":0,"pin":[-1],"macros":[0,0,0]},{"type":0,"pin":[-1],"macros":[0,0,0]},{"type":0,"pin":[-1],"macros":[0,0,0]}],"tt":32,"mqtt":false},"ir":{"pin":-1,"type":0,"sel":true},"relay":{"pin":-1,"rev":false},"baud":1152,"if":{"i2c-pin":[-1,-1],"spi-pin":[-1,-1,-1]}},"light":{"scale-bri":100,"pal-mode":0,"aseg":false,"gc":{"bri":1,"col":2.8,"val":2.8},"tr":{"mode":true,"dur":7,"pal":0,"rpc":5},"nl":{"mode":1,"dur":60,"tbri":0,"macro":0}},"def":{"ps":16,"on":true,"bri":255},"if":{"sync":{"port0":21324,"port1":65506,"recv":{"bri":true,"col":true,"fx":true,"grp":1,"seg":false,"sb":false},"send":{"dir":false,"btn":false,"va":false,"hue":true,"macro":false,"grp":1,"ret":0}},"nodes":{"list":true,"bcast":true},"live":{"en":true,"mso":false,"port":5568,"mc":false,"dmx":{"uni":1,"seqskip":false,"e131prio":0,"addr":1,"dss":0,"mode":4},"timeout":25,"maxbri":false,"no-gc":true,"offset":0},"va":{"alexa":false,"macros":[0,0],"p":0},"mqtt":{"en":false,"broker":"","port":1883,"user":"","pskl":0,"cid":"WLED-5155f4","topics":{"device":"wled/5155f4","group":"wled/all"}},"hue":{"en":false,"id":1,"iv":25,"recv":{"on":true,"bri":true,"col":true},"ip":[192,168,0,0]},"ndb":{"ip":[0,0,0,0],"port":1768,"enabled":false},"ntp":{"en":false,"host":"0.wled.pool.ntp.org","tz":2,"offset":0,"ampm":false,"ln":0,"lt":0}},"ol":{"clock":0,"cntdwn":false,"min":0,"max":29,"o12pix":0,"o5m":false,"osec":false},"timers":{"cntdwn":{"goal":[20,1,1,0,0,0],"macro":0},"ins":[{"en":1,"hour":255,"min":0,"macro":0,"dow":127},{"en":1,"hour":255,"min":0,"macro":0,"dow":127}]},"ota":{"lock":false,"lock-wifi":false,"pskl":7,"aota":true},"um":{"Temperature":{"enabled":false,"pin":18,"degC":true,"read-interval-s":60,"parasite-pwr":false,"parasite-pwr-pin":-1},"4LineDisplay":{"enabled":false,"pin":[-1,-1,-1,-1,-1],"type":1,"flip":false,"contrast":10,"contrastFix":false,"screenTimeOutSec":60,"sleepMode":true,"clockMode":false,"showSeconds":true,"i2c-freq-kHz":400},"Rotary-Encoder":{"enabled":false,"DT-pin":-1,"CLK-pin":-1,"SW-pin":-1,"preset-low":0,"preset-high":0,"apply-2-all-seg":true},"Autosave":{"enabled":false,"autoSaveAfterSec":15,"autoSavePreset":250,"autoSaveApplyOnBoot":false},"AudioReactive":{"enabled":false,"analogmic":{"pin":-1},"digitalmic":{"type":1,"pin":[32,15,14,-1,-1,-1]},"config":{"squelch":10,"gain":60,"AGC":1},"experiments":{"micLev":0,"freqDist":0,"freqRMS":1},"dynamics":{"limiter":true,"rise":50,"fall":300},"frequency":{"scale":3,"profile":0},"sync":{"port":11988,"mode":0}},"Weather":{"enabled":false,"apiKey":"","units":1,"minTemp":0,"maxTemp":40},"mpu6050-IMU":{"enabled":false}}}'
from wled.
You have not listed the MM version used . please use latest build from here https://wled-install.github.io/ , which i have tested with your setting and did not notice any issue . Once you are on latest MM you can also use net print ( net debug ) .And I did not change anything for ArtiFX 500
from wled.
Oh, sorry cause MM WLED version. One more thing I didn't know that exist at all - https://wled-install.github.io/ - thanks for this info. Previously, I installed MM WLED by going to MM WLED github => Actions => latest action => pick appropriate version from Artifacts (ESP32 4MB M). So as mentioned before in my post, it was action called Change library for ArtiFX, number 500.
Just tried to install WLEDMM_0.14.0-b15.22_esp32_4MB_M.bin from link provided by you and I have same behavior - layout reset to 8x8 and max amps reset to 5000mA. Will try tonight to figure out where to enable and how to use net debug, and will follow up.
from wled.
If you used the bin from site then for sure that is working with us .I would recommend that you fresh install with USB and not OTA if you are not doing so already . For netdebug , look at sync screen pic above and just add the ip of your PC and then run nc -l 1768 -u from that PC . As said this is working with us and i have kept the unit since last night with netdebug active and did not notice anything .
Small things i am not sure about if you are still facing the issue without physical leds attached . And why in reality you need that much power for 16x16 matrix ? if that is a ready made matrix of ws2812b then having 2.5 or 3 A is enough . If you will post video then try to make it shorter or use pics of the setup but long video is hard make and hard to follow :)
from wled.
Hi, thanks for answer.
If you used the bin from site then for sure that is working with us
Yes, I used bin from the site this time. If you are confirming it is working ok on your end, then probably something on my end surviving OTA, I'm closing this now.
I would recommend that you fresh install with USB and not OTA if you are not doing so already
I'm installing it via OTA. The matrix is packed in wooden box and mounted on ceiling with screws. It has also basic non addressable white strip on border, so it can be ordinary ceiling light in kids room, together with WLED effects on matrix (one ESP32) and Tetris/Snake/Breakout games on same matrix controlled by PS4 controller (another ESP32) (yeah, I know, washing machine is probably missing here π). Since everything is hand made by me (even wooden box), it is not so simple to unmount/mount it, and USB flashing is no option for me until potential serious break or damage. Closing issue now and will live with HA automation I already made.
For netdebug , look at sync screen pic above and just add the ip of your PC and then run nc -l 1768 -u from that PC
Thanks a lot for this info, didn't know for this as well. Unfortunately, not working for me, I have no any output info in console, neither from Windows 10 nor from Archlinux. Tried to execute a command as both - normal user and root/admin. Will play with this more tomorrow.
Small things i am not sure about if you are still facing the issue without physical leds attached
Hmmmm, in order to answer this question, I tried to change output data PIN from 4, which I'm btw using, to 16, where nothing is attached. However, after power cycling device, I found that my data output PIN is magically set to 4 again. I now believe even more that this is for sure some issue on my end and definitely closing this, sorry cause false alarm. Most probably some things, IDK maybe old presets or what ever, are surviving OTA, and as said it would be really complicated for me to unmount it without stronger reason (I can live with HA boot fix automation).
And why in reality you need that much power for 16x16 matrix ? if that is a ready made matrix of ws2812b then having 2.5 or 3 A is enough
This is not relevant I believe. I set it to 4.5A cause my PSU is 5A, but thanks for advice anyway.
from wled.
My best guess on this problem is corrupted flash filesystem, or possibly a full filesystem that was created too small. As a consequence, you could change settings, but WLED would fail to write them into files, so at the next startup your changes seem to be lost.
Maybe you initially uploaded WLED with ESP home Flasher. This tool is known for creating a borked filesystem - see WLED knowledge base.
Unfortunately an OTA update cannot repair corrupted flash filesystems. You'd need to wipe your device via USB, then re-install via USB to fix this kind of problem.
from wled.
Related Issues (20)
- ESP32-C3 Error 19: filesystem error when connecting to Wifi network HOT 5
- Doesn't work on esp32-c3 mini HOT 2
- MM specific: random crashes when using global buffer (heap corruption) HOT 1
- Created Custom Palette Is not visible on palette list in main screen HOT 4
- Audio Responsive Custom Palette HOT 4
- The Weather usermod does not display correct temperatures plus documentation is needed HOT 1
- Loss of segment preference when changing effects HOT 2
- When creating a new preset, the entered name may be replaced by a timestamp; the preset contents may be replaced by the current state HOT 2
- Line In pass-through for ESP32 Audio Kit HOT 3
- Wrong licence HOT 1
- Gamma correction for custom palettes not applied
- Replace usage of millis() in effects with strip.now - sync effects across wled instances HOT 15
- ARTI-FX infinite loop due to empty renderFrame (bricks controller until reflash) HOT 2
- I2C write error for AudioSource - error message for users needed
- Mixed mode 2D / 1D works upstream but not in MM HOT 13
- Keep GFX for Matrix visible while scrolling through effects HOT 4
- Animartrix effects: weird colors in some effects HOT 15
- Moonmodules wled Segment on off not working
- Cannot rotate through Playlists via Preset. No issue rotating through other Presets via Preset HOT 3
- WLEDMM_0.14.0-b27.31_esp8266_4MB_M.bin Battery Auto Off is enabled by default HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wled.