0 votes
asked in Touch Interface by (180 points)
edited by
My Weatherstation shows a wrong moon icon. Black and white are reversed. I think a Full Moon should be full white not full black.

Here you can see the icon for New Moon instead Full Moon (german Vollmond). Look at the age (german Alter) and Illum (german Fläche)


I think i need an inversed (negativ) moonphases font.

Regards Jörg
commented by (180 points)
edited by
It works to change the calculation of moonAgeImage. Than it will pick the right (for me) icon. Now 100% illumination is a full white circle.

Change the line:

moonAgeImage = String((char) (65 + ((uint8_t) ((26 * moonAge / 30) % 26))));


moonAgeImage = String((char) (98 + ((uint8_t) ((26 * moonAge / 30) % 26))));

Greetz Jörg

1 Answer

0 votes
answered by (3.2k points)
Are you in the southern hemisphere?
commented by (180 points)
No, i'm not. But the original sketch produces a full black moon at 100% illumination, etc.
For me it looks better if a Fullmoon is a full white circle.
commented by (3.2k points)
Ahh, I understand now. But if I recall there is an issue with the moon fonts when the moon approaches 100% as I submitted a issue on github. It is easy for those who know to fix it themselves, looks like you've done that.
commented by (8.1k points)
Picking the moon image should be based on the illumination rather than the age. I pushed a small not 100% accurate fix with https://github.com/ThingPulse/esp8266-weather-station-color/commit/2133809f99861e4c17d33db6979804b67cf641f1.

If we didn't have this memory issue reported in https://github.com/ThingPulse/esp8266-weather-station/issues/144 we could profit from more accurate calculations in the SunMoonCalc.c class.

Welcome to ThingPulse Q&A, where you can ask questions and receive answers from other members of the community.