-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Newbie walk through #1
Comments
Hello. |
Lol. Yes and no. Been working on an e-ink project lately. I remember seeing this 1st message in an e-mail... and... you're still waiting on the clock right? |
Yes. Still waiting. Although recently one of my order got lost in transit and they did not reimburse me because they wanted me to provide proof I did not get the package!😡 |
Lol about the flashing part. It says in the readme. It's super-easy, just plug into your computer and press reset while holding the other button. Do you have ESPHome already? Have you done any kind of flashing to smart home (ESP32 or ESP8266) chips before? Do you have any experience with Docker? or are you running Linux or Windows and that's what we'll need to flash with? I need more information from you to judge where to start. |
Lol about the flashing part. It says in the readme. It's super-easy, just plug into your computer You mean to use the USB cable that powers the clock and plug the other end into a USB port of the PC? and press reset while holding the other button. I assume there are 2 buttons on the clock, one says reset and the other says what? Do you have ESPHome already? No Have you done any kind of flashing to smart home (ESP32 or ESP8266) chips before? No Do you have any experience with Docker? No or are you running Linux or Windows Windows and that's what we'll need to flash with? I need more information from you to judge where to start. Assume I know nothing. I can, however, follow step by step instructions. |
That's a good start. If you're interested in learning how to customize your clock fully, you should probably learn how to install Docker into Windows (this can be hard since it has a bunch of prerequisites). https://docs.docker.com/desktop/install/windows-install/ - if you just start by downloading the install, it will generally tell you what you're missing and help you get them... Google can help with any issues... Between Docker and Windows System for Linux 2 this can take a few hours and (if I remember) 2-3 GB of disk space. Docker's great because you can run containers that are essentially standalone servers, ie. ESPHome. But this can be a pretty steep learning curve if you're not familiar with Linux. There's also https://esphome.io/guides/installing_esphome.html - that's a command line ESPHome which will work but quite frankly, not user-friendly at all... at least the above option has a GUI. If you're not interested in diving that deep, then I'll just build you a firmware. You'll need an ESP32 flashing program and you plug it in to your computer with a USB-C cable (the one it comes with is super-nice), hold the Download button and press the Reset button, then select the ESPHome BIN file to flash... wait... and done... the Web UI can be accessed via something like http://myclock.local or something like that. Although, you may not want any of this when you get the clock. I'll admit the firmware that comes with it is pretty nice looking... I will never be able to do the sliding seconds it does. The flash tool, btw is here: https://web.esphome.io/ - yup, an online tool (might only work in Chrome). If you prefer, there's also https://github.com/esphome/esphome-flasher but it even notes on that page they prefer you to use the online tool. |
PS. I may have gone overboard about Docker, etc. I have doubts you're that interested. If anything, take a look at the Readme (the front page here) and the YAML and decide what kind of options you'd like (esp. your clock name ^^) and let me know... and which font(s)... I'll still recommend my own fonts (I'd recommend the Chunky8X or Chunky8 font) but if you know of others, I'm open to (some) experimentation. |
You are right, I don't even know what the clock shows on stock FW! Here is what I want: What I would like to control, perhaps with http commands, Tasmota console, other?: Flashing a bin will be fine. Based on above, I guess you understood what I need besides Windows I already have and the unit I am expecting. |
As for the rest... ESPHome isn't Tasmota. ESPHome has a Device WebUI. You can see a preview on the Readme. As for Daylight time... I'm pretty sure that daylight time is built into the time driver so no adjustment will be needed once the device is flashed... I haven't had reason to test it because my home country (Korea) doesn't use it. It depends on whether or not your country's time specs are already in the time library or not. What's your country? I'm guessing you mean there's some law in the middle of being passed about time changes and it hasn't actually gone into effect yet... It may just be a "do the best you can for now and fix it later" kind of thing. |
A. Have you checked how much time it loses or gains in 8 hours? The XY syncs every hour. Is there a reason not to sync every hour? It may miss a sync! |
I am curious to see how long the clock would take to react to Daylight time but I'd be willing to bet it's instantaneous, even if it hasn't synced lately... Speaking of which, no I have no idea how accurate the clocks are. I imagine they're all as accurate as cheap wristwatches... ie, off by a few seconds a day if you let them... That's why I do every 8 hours... most configs I've seen only sync once in 24 hours which is good enough for most people. I think the ESP probably does a better job than the RTC chip. But you got me curious so I searched: https://www.instructables.com/TESTED-Timekeeping-on-ESP8266-Arduino-Uno-WITHOUT-/ Spoiler: An ESP is actually pretty good at keeping the time while it's plugged in. |
A. As accurate as timekeeping may be, is there a problem with syncing every hour? B. I have gotten used to the XY time / date display switch times which are 3 seconds each, enough time to get a glimpse of either one, without waiting too long to see the other. Software: Please post the links for windows versions of: |
A. No problem. I can put that in your config, set to sync with ntp.pool.org which should automatically locate your nearest time server. |
For the software needed, if I understand correctly, it is ONLY the pictured one? https://www.mediafire.com/view/7jvvm2nqfayvv2z/Screenshot_20231105-235724_Chrome.jpg/file And how does http://myclock.local work? |
Mon01.01 it is then... Name your clock "MyClock" and it should appear on your local network as "myclock.local" - so, yeah choose a name that's easy to remember... Two Choices, 1st is online (PC Only... Chrome but Edge might work) and 2nd is a tool you can download:
|
Let the name be "MatrixClock" "they prefer you to use the online tool" What will matrixclock.local show me or allow me to do? Can I see the clock's mac address somewhere so I can assign a static IP? Finally, with stock FW the clock does not show Day and does not auto change std/dls time, correct? |
Once the firmware is flashed, only the options in the WebUI (of the clock) are configurable. BTW A lot of your questions can be answered by looking at my screenshots of the WebUI and the rest of the Readme... You can change the date/time display options with the WebUI. I'm not entirely certain that ESPHome can access the MAC address... but one of the button options will show you the clock's IP address, which can be just as good, since if matrixclock.local doesn't work, you can access the WebUI with the IP address. If you need it to have a static IP, that is best handled by the router... which should show you the clock's MAC address anyways. I'm honestly not certain about the stock firmware much. I only tried it out for about 10 minutes before beginning this project. I remember it DOES show the day, month, date, year in a scrolling style. It's honestly pretty nice... but I'm not sure about time zone options... and I don't remember how it syncs time. It looks good but it's not very configurable (as much as I wanted). You'll have to wait and see it with your own eyes. Download Button functions in your clock will be this: Usually the Wifi name and password are also hard-coded into the ESPHome configuration. If it can't connect to the Wifi, it makes a hotspot so that you can configure a new Wifi network. Are you comfortable sharing your Wifi name and password here? If not, I don't think it's a problem... it would just save some initial configuration is all. |
Actually, on second thought, no don't share that. It should be fine. But if you haven't seen this advice before, you should know that if you can, it's good to have different names for the different frequencies of your Wifi access points. Smart devices (as far as I know) only use the 2.4Ghz band even though 5Ghz has become pretty common (your phone and notebook probably use this) and they're now selling routers with 6Ghz... It is absolutely possible that your 2.4 and 5 Ghz bands both have the same name and your phone and notebook will deal with it just fine by connecting to the fastest one (5 obviously) but I read somewhere it's still best practice to have them use different names... I can't even remember why that is but when I separated mine, my devices stopped have connectivity issues. |
BTW, I'm also adding certain options to do some power-saving... ie, it won't fallback to the hotspot if Wifi is lost, so you may have to reboot the device if the Wifi comes back... I'll test all this out for you when I have time... since it seems like you've settled on your options. Probably the easiest way for me to do that is by flashing my own clock with your firmware and checking everything works as expected.. but give me a few days and I'll have a working firmware for you. |
Thank you for the crash course. Next I might seek to flash the XY just to get the auto std/dls time switch (keeping everything else the same if possible) or just wait to see if they release new FW... THANKS AGAIN for the time and effort you put into this! |
Hi there, (share your first name, if you want). George |
Lol. That's a big ask even if I do know how to program for Android (I don't). You're better off search google for an old apk of a clock app... and just seeing which you one you like... Does it not have a clock built into it? BTW I've been playing with options... Looks like you can't have the dot... it's too weird, see here: https://youtu.be/5WkJ8hr8UjY So I removed it and it looks like it should be fine... maybe. https://youtu.be/gPlvR4lQD_0 I'll let it run a few days... I still think it might be a few pixels too long and Wed will be the real test... but err, maybe until March... M is a wider character than others... or we can add some "extra characters (can't just be spaces BTW) maybe like " . . . " so the date looks less insane when it scrolls... lol. But bad news about the battery... it can eat 3300 mAh a day because it's continuously searching for Wifi. That's terrible. ESPHome has an option to turn off Wifi periodically... so... I'll see how I can implement it... perhaps searching for Wifi when it expects to sync the time seems ideal... in which case, I would definitely say that it would be better to sync less often than every hour... But again, let me see how it goes... I'll need a few days. If you get your clock, I'll give you a firmware to work with just to see it in the meantime... |
I saw an update to the ESPHome code and that got me coding more than a few hours on these clocks. I've got it down to about 2000mAh in a day by turning off the Wifi if it can't find its hotspot in 2 minutes (configurable 1-5 mins actually). I'm currently on an ESPHome dev branch because that code won't appear into ESPHome properly until December so I'll give you a bin based on the dev branch after you reply here with my last question... And later, I'll update you to the proper ESPHome version 2023.12.1 or 12.2 when that code is available (the dev branch should be stable but... you never know). A) I really recommend a shorter date scheme. I did a quick test of a longer date ("MonMay15") and just can't fit. It scrolls like the 1st example above. As I said, I recommend Month + Date ("May 15") or Day + Date ("Mon 15")... B) If you're really set on having all 3 elements, let's put in a scroll with some spacers... like " . Mon May 15 . " so it doesn't smash into itself. You'll also have to set the date-display to 5+ seconds to get it to display fully once. So... A or B? |
About the wifi seeking, it seems to me it should seek at boot and every hour (or how often we set the sync rate) and quit seeking 1 minute after if not found. Just a thought, looking at the capital N I saw in the video...You may consider to use only the 6 lower pixels for capital letters, if it can be done. https://www.mediafire.com/view/5odwka27rdu9w1g/Screenshot_20231113_073008_Ted.jpg/file Edit: By the way, does the bigger size fit more stuff or it is just larger to be seen from longer distance? |
About the wifi, no. Turning on the wi-fi is expensive for power so it's better to just have that option permanently turn off the wifi until the next reboot. Anyone using this option is likely to be moving their clock between power-sources anyway and unplugging and plugging it back in it will cause a reboot. The option can be toggled with a special button press. Regarding fonts, you can look at previews of my fonts here: https://github.com/trip5/Matrix-Fonts - 6 pixels is not narrower. The 8 fonts are stretched out taller. As for that picture you linked to, I'm not sure why the N is actually wider than the M. That goes against standard font rules. |
b. https://www.mediafire.com/view/49fvvb0t8pk46es/20231114_091039.jpg/file Now if I could find someone to modify the one without seconds it would be great.
|
I did. The 8-series fonts are taller, not wider than the 6-series. The M & W are 5 pixels plus a space. The N is 4 plus a space. Most other characters are 3. Lol. Your entire commentary on the other thread was about power consumption. And quite frankly, by leaving the wi-fi off, I got it ridiculously low... I'm still running tests but it could run on a 10000mAh power bank for about a week (if the power bank isn't lying about its capacity). Also, coding timers with actions like that are not so easy. I stand by my idea that you can move it to a battery pack when you lose power and move it back to a wall plug when the blackout ends... and it'll get back on your network and once it's connected, it will stay connected. As long as it's connected to wifi, it will continue checking the time sync. |
In edit in my post before the last, I meant the difference between the 144x40mm unit and the one I ordered 96x26mm. Does the larger one fit more characters? As for the rest, you know best. By the way, can the original firmware be saved and flashed back at will? |
I don't know about the clock size. I imagine so. It looks like the same clock but with smaller stuff. The original firmware... hm. I've got mine uploaded here as a ZIP file. You'll need to install Python for WIndows and then install esptool through the command line, probably Check your device manager to see which COM port the clock shows up as and change COM13 below... if it's showing up as an "unknown device" Windows can automatically install the driver (you'll need to do this anyway to flash it). Then one of these commands will dump from the ESP chip a 4MB file (I think it's the first):
A bit complex, I realize but just in case your firmware differs from mine, it's the safest. I doubt its different but better safe than sorry. And yeah you can re-flash the original firmware with the tools I list above. |
https://www.mediafire.com/view/53zow970zv1autc/iMarkup_20231115_014811.jpg/file And to flash it back what is the command? |
My notes have this: From the saving part, whichever file has 4 megabytes is the correct one (it's probably the 4M file). But again, you can probably use one of GUIs I list above just fine. Flashing is easy. Saving flash is hard. |
Here you go. Check the readme for the full preview of what's what. Your timezone has been set using POSIX to Athens which should be fine for Daylight time... unless that time change goes through you mentioned. In which case, it'll be easy enough to change later. Edit: different BIN because I just realized I hadn't set the hotspot password... it will be the same as the hotspot name. BTW using a phone to connect it to it, wait a second, your phone should ask you to login. If it doesn't, go to Chrome (or whatever browser is on your phone/notebook) and go to http://192.168.4.1 and then enter your wifi information and it will connect to your wifi network. You should be able to connect to the clock on your local network with either its IP or http://matrixclock.local. |
Oh and the power consumption experiment is over. The XY-Clock can get ridiculous power-saving by turning off the wi-fi (70% saved) but this clock can also save 50% by turning it off. That's really good. |
Hi. |
I put the POSIX format right in there: I got a list of POSIX timezones here: https://gist.github.com/alwynallan/24d96091655391107939 - unfortunately it hasn't been updated in quite some time... it turns out the easiest way to get a locale's POSIX time rule is to extract it from a Linux installation... More here about POISX and how I decoded the rule: https://developer.ibm.com/articles/au-aix-posix/ I could build another with the new rule quite easily if the dates of the time switch aren't changing... we just change 2EEST to 3EEST I guess? I don't think Linux will catch this rule until your government makes it official... I couldn't find any 3EEST in that github gist above. |
And and worst case, it might be easier to build one with just EET and... there's a time offset option available so you can manually shift the time ahead or back. |
FYI, The last Sunday in October at 04:00 the time is adjusted to 03:00 and... |
So that rule looks right, even if I messed up the interpretation a bit... Let me know if that rule needs updating. I can't see anything through Google about Greece changing its Daylight time yet. |
"Let me know if that rule needs updating" We do not know if and when that will go through and you might not be available then to change it. That is why I suggest to upload a non Daylight savings bin. As you wrote it, how often it syncs? Thanks |
Sync interval is configurable through the UI. Up to you. Between 1 and 24 hours is possible. Here you go then... EET with no Daylight Savings Time configured: |
Surely you got it by now. How's it going? BTW, your YAML:
|
Actually I really do wonder if it's OK. I recently discovered that usually by leaving the I may have over-ridden that behavior with |
Hi there! |
@drgkt : Is it still in the mail? China to Greece seems to take awhile! BTW, I've been working on adding bilingualism to these clocks and I've been adding Greek to my font... The only question I have is... What are the common 3-5 letter abbreviations for Greek Weekdays? I think some of them have too long names to fit on the clock screen (Saturday doesn't fit either). With Google, it was easy enough to get the month abbreviations...
By the way, following the same method as above, the day of the week will be displayed just before the Month and Date of the month. Copy and paste, edit the next bit and get back to me and I'll some bilingual firmware for you (check out the main page for an animation of what it looks like in Korean).
|
Hi there. It finally came after New Year and I left it run a couple of days on stock FW. Caveats: Because of this, there is no point to save stock FW, but I want to do it for the experience.
|
[ deleted ] Here you go. Updated Firmwares and YAML. I tested it on my own clock real quick. Seems to work without crashing. Greek font that I recently made looks pretty neat. Let me know if any characters look out of place. It often takes a native to see if something looks off. I especially had trouble with γ and ζ and ξ - and I stylized the iota characters to my own taste so I'm not sure how they look to you. Any issues with Greek fonts should be handled over at https://github.com/trip5/EspHome-Led-PixelClock - you can zoom on the font pics if you have time and let me know if any seem even a little bit wrong. And I opened an issue for you or any other Greeks to let me know. |
Oh and wow. Good luck with the leg. |
OMG. You're not gonna be able to access the hotspot of those firmwares... I left the AP password as my own. The password in these firmwares match the name of the Hotspot created. (Also some minor fixes applied.) |
I know it's been awhile. I actually ended up writing these guides for beginners to ESPHome if they're helpful to you. They haven't been approved officially yet but I think they're pretty good: Try following this step-by-step to get Docker onto your computer: https://deploy-preview-4411--esphome.netlify.app/guides/beginners_guide_docker_desktop And this to compile the YAML: https://deploy-preview-4411--esphome.netlify.app/guides/beginners_guide_adding_devices If you find it helpful, could you leave a comment under here? esphome/esphome-docs#4411 |
Hi trip5
Thanks for the invite!
Waiting for the unit to arrive, let's start with hardware and software required, as well as flashing wiring instructions.
The text was updated successfully, but these errors were encountered: