philibertc / micronova_controller Goto Github PK
View Code? Open in Web Editor NEWAllows you to easily control via MQTT any Micronova equiped pellet stove. (MCZ, Extraflame, Laminox, and many others brands!)
Allows you to easily control via MQTT any Micronova equiped pellet stove. (MCZ, Extraflame, Laminox, and many others brands!)
Hi,
First of all, thanks for putting this project together!
I'm trying to use this project to control/monitor the aforementioned pellet stove, but am struggling to find the right connections.
The control board I have is the one listed in this PDF on page 40, 'board code' (whatever that may mean) 00227575.
Here's a picture of the board (sorry for poor quality, I took it from a webshop since mine is in the stove and I don't want to spend time disassembling it):
As you can see the 'Seriale' connector is positioned otherwise than in the readme of this repository.
In my stove, there is also a cable connected to it (tested all 3 wires, it's just an extension cable), which has a panel mount connector (exactly the same type as on the board) on the rear of the stove:
I also noticed that the extension cable only has 3 wires, while the board connector has 4 pins.
I measured all 4 pins with my DMM, and got the following results (numbering following your drawing of the connector in the readme):
I also measured all pins with my oscilloscope, but no obvious digital signal is visible.
So I'm at a loss as to which pin is the serial data pin, can someone help me out?
Hello,
could you help me to add compatibility for this board?
https://it.aliexpress.com/item/1005001970616935.html?gatewayAdapt=glo2ita&aff_fcid=56c564640e8546c3b341b78030ca809e-1645366026748-07392-_AOI1W4&tt=CPS_NORMAL&aff_fsk=_AOI1W4&aff_platform=shareComponent-detail&sk=_AOI1W4&aff_trace_key=56c564640e8546c3b341b78030ca809e-1645366026748-07392-_AOI1W4&terminal_id=ca5e0087d8a249f4b348a3734cd59a20&afSmartRedirect=n
The breakout board can convert from 5V to 3.3V and also adapt the signal but need TX and RX pin, in this board we have only one serial PIN so i don't know how can i adapt this...
Best Regards
Stefano
Hello @philibertc , a short while ago I received your pcb. Installing the Wemos and the firmware was no problem, so far so good. Only I have a problem getting values from the stove. I've tried the test scripts and I am able to turn the stove ON and OFF with the onoff test script, but when trying to read one value or all values I never get any response. I added some extra serial output to verify the script is running, it is. But not one value is received.
Your pcb is connected to the Micronova pcb and powered over usb from my laptop. The 3.3v power connection is not used. In the photo you can see the setup I am testing with. The stove is a Tim Sistem Aquas 15.
Do you have any suggestions what to do next to solve this problem? I am able to do any test you suggest. Do I need to check my pcb for a problem?
Hope to hear from you. Thanks!
Hans
I have not good wifi in house.
And sometimes esp is looping
I see in serial console:
Attempting MQTT connection...failed, rc=-2 try again in 5 seconds
user
pass
Attempting MQTT connection...failed, rc=-2 try again in 5 seconds
user
pass
Attempting MQTT connection...failed, rc=-2 try again in 5 seconds
user
pass
...
` int y=0;
while (!client.connected())
{
Serial.println(mqtt_user);
Serial.println(mqtt_pass);
Serial.print("Attempting MQTT connection...");
String clientId = "ESPClient-";
clientId += String(random(0xffff), HEX); //Random client ID
if (client.connect(clientId.c_str(), mqtt_user, mqtt_pass))
{
client.setBufferSize(1024);
Serial.println("connected");
}
else
{
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds");
//Wait 5 seconds before retrying
delay(5000);
y++;
if (y==5) // after the 5th attempt we are disconnect and reconnect wifi
{
y=0;
Serial.println("Try disconnect");
client.disconnect();
wm.disconnect();
delay(5000);
wm.autoConnect(mqtt_topic);
delay(5000);
}
}
}
Successful logs:
`Attempting MQTT connection...failed, rc=-2 try again in 5 seconds
user
pass
Attempting MQTT connection...failed, rc=-2 try again in 5 seconds
user
pass
Attempting MQTT connection...failed, rc=-2 try again in 5 seconds
user
pass
Attempting MQTT connection...failed, rc=-2 try again in 5 seconds
user
pass
Attempting MQTT connection...failed, rc=-2 try again in 5 seconds
Try disconnect
*wm:AutoConnect
*wm:Connecting to SAVED AP: mikrotik
*wm:AutoConnect: SUCCESS
*wm:STA IP Address: 192.168.1.54
user
pass
Attempting MQTT connection...connected
Creating topics for HomeAssistant
HomeAssistant topics created.`
Hi,
Currently im using your tool to fill my Home Assistant. It seems there is not really a good database of addresses available. I have an Artel Hydro stove and would like to share my address list based on the board in it. Maybe it would be awesome to build up a database of addresses?
Im about to adding more stuff which is interesting like fan speed, settings like amount of added pallets per time slot etc so you can combined with water temperature see if your stove needs to be cleaned over time etc.
Hello @philibertc , I was here doing some tests and I noticed that there are missing states or possibly different states in your firmware. In the case I had a failure in the ignition and it continues to report loading pellets. Can you give me tips on how to solve this problem? My salamander is a crystal cadel with n100 board.
The machine shows a failure to ignition, alarm 5
Thank you very much for your attention
Hi everyone!
edit: pinout proved to be standard in the end; the serial pin also carries 5v. "Off" now also works after editing the INO to bypass conditions
I have a luisella (extraflame) stove with 4-pin connector on on the back, but i can't get it working with the esp...
Before i take the stove off the pipe to have a look at the card internally; i thought i'd ask here; maybe i'm missing something obvious, i'm rather new to arduino ;)
i got the PCB from tindie, and have an ESP8266 wemos D1 mini fitted. Soldering all components went smooth. don't think i made an error there. (pics attached)
Programming the ESP doesn't work when it is fitted tot the PCB board however... it has trouble connecting, and the led starts blinkin erratically.
Once I remove it from the pcb, uploading the code works just fine. Can anyone comfirm the same behaviour?
i use the micro usb port to power the ESP.
Wifi setup works fine, I have a broker set up (mosquitto in a docker container) and can see the "pong" appear nicely every 25s.
I checked the serial port on the stove before connecting (good thing i did ;)), and when measuring the voltages i noticed a difference in pinout, I found it to be: (gnd - 5v - 20v - ser) instead of the documented (gnd - ser - 20v - 5v)
I hooked up the board, but nothing comes up other than the pong
-I tried the 2sec on/off program, but no reaction from the stove
-Test read.ino with a serial monitor running doens't show anything messages.
anything else you can think of? anyone found serial messages to be turned off in some admin menu-thing on the stove itself?
thanks!
J
Hello philibert.
All works so fine with my Extraflame Luisella. Thanks to you. But how I could make it works with Alexa. I try with fauxmo code but I’m a novice with all of this.
Could you help me?
Thanks by advance!
It would be wonderfull to make it works with ESPHOME, that is also integrated with HomeAssistant:
https://esphome.io/index.html
Good morning,
I came across your amount when I was looking to make my pellet stove smart. Unfortunately, my oven (MCZ Ego Air 2017) does not have a CN 13 port installed. Is it still somehow possible to integrate this model into the iobroker via mqtt? There is an original Wifi module for this oven (unfortunately very expensive). Thanks
Hey @philibertc
I have a pellet stove (L'Asolana Marina) which clearly has a Micronova controller board, but i'm unable to access the PCB for interfacing with it. But it has a SUB9 connector on the back with has 3 connected pins (GND,20V,Serial).
I would like your circuit, but the optocoupler that is connected to RX_ENABLE
needs 5V which i do not have with the 3P-connection. Since its only driving a optocoupler, i was thinking about using a step-down board and use the 20V to drive this optocoupler. Do you think this will work or is it too dangerous to try it? Any ideas?
I would use a circuit like this:
The official micronova WIFI board pcb front pcb back also only connects 3 pins and seem to directly convert the 20V down as well.
Thanks in advance :)
Hi there,
I'm developing my own PCB because and I'm using your project as a base, thanks for that !
I'm just wondering why you picked a 500 ohm resistor, let me try to explain:
Since an optocoupler is just a LED it is designed to have 20mA over the IR LED
This means the ideal resistor should be:
I'm guessing the led emits enough IR to activate the collector and thus work.
Or I'm I missing something?
Hi everyone!
Sorry but I just can't figure out how and which firmware I have to load on the ESP board, I have a weemos d1 mini and I've always configured everything with ESP HOME from the Home assistant.
Can you kindly give me a hand?
Of course I already have an mqtt server up and running.
I tried using the Arduino IDE but having never used it, I really have no idea how to do it.
A thousand thanks.
Hi there !
First of all, thank you for the work you provided on this integration !
I recently bought a jolly mec stove, and cannot say I'm convinced by the terrible micronova app I've got with the wifi module.
My first question would be, when you speak about the micronova board, are you speaking about the wifi module ?
Is there anything I can do to connect my stove and monitor/manage it remotely using your app and do I still need the custom made board to do so ?
In any circumstance, I'd like to be able to achieve the following
If I could reach out to you on any discord chan to discuss this brielfy, this would help me alot I guess. ;)
Thanks !
when you can buy the kitpcb?
hi. You work Is fantastic.
Can you add code to modify tech params to avoid using the display?
bonjour j'ai besoin d'un peu d'aide donc j'ai utilisé le fichier de philibert, et j'ai voulu activer le reglage de temperature, donc j'ai activé toutes les parties "tempset", mais cela ne remonte pas dans le broker, c'est peut etre du a la ligne 57 ?
hello I need a little help so I used the philibert file, and I wanted to activate the temperature setting, so I activated all the "tempset" parts, but it does not go back to the broker, it may be due to the line 57 ?
"uint8_t stoveState, /tempSet,/fumesTemp, flamePower, waterTemp, tempSet /, waterSet/;"
thansks
I'm wondering why you choose to use a GPIO to enable the RX from the 1wire RS232?
I would be interested to know the reason behind this.
Hey all
I own a 2013 Nordica Extraflame Teodora stove (basically this one: https://www.lanordica-extraflame.com/en/products/pellet-stoves/teodora-evo).
I've just downloaded this wonderful code on a D1 mini and realized the connection with the help of the tindie board (thank you philipertc!)
The D1 is powered via usb.
I receive the "connected" ping, and I'm able to turn on the stove sending the ON command on micronova/onoff.
However I can't see any status and I'm not able to turn off the stove.
I'm using homeassistant as interface and MQTT analyzer on iphone to see the traffic.
This is my ha conf.yaml:
`switch:
How to do some debug and understand why I can't see parameters populated?
Thank you
Hello @philibertc, what is the inconvenience of using the 5V output of the micro nova board to power your pcb and the wemos d1 mini? So it would be possible to power everything without the need for external power. I look forward to feedback, thank you very much for your attention...
Hello everyone, today was the day. I used the controls in Homeassistant.
Basically it works - but:
Pellet stove used:
ITC Layma 18kW
Micronova Mod0047 EVO
Addendum to the interference suppression, as soon as I use the 18V from the motherboard, my WLAN quality drops, now I use an interference suppression board (filtering / smoothing the input voltage), the WLAN reception is good.
Thanks for your work, I tried to apply it to my Pellets Ecoteck stove with micronova board of the year 2010. With your code I didn't have any messages in the Serial Monitor, so I modified the code to understand what happens. I found that in my case, in the checkStoveReply function the rxCount variable is always zero. How has this ever happened to you? Perhaps the firmware of my board does not support communication, even if the serial connector is present.
I thank you in advance.
Hi there,
QA strikes again ;-)
Since the penultimate change to the source code, I have had the symptoms that I cannot switch off the oven if it has been running for a long time.
I can shift gears, but it continues to burn stubbornly.
The water temperature and room temperature are updated and are valid.
Only the switch on / off and the power requirement are frozen.
When I switch off the oven on the display, everything is updated and works again.
Regards
Gerald
Turning the stove on works fine over writing 0x01
to RAM 0x21
, turning it off (sending 0x06
to RAM 0x21
) seems to be problematic. My stove enters "turning off mode" but takes pretty long to do so (~50min), so this is not the procedure used by programs or the power button which takes around 10min. Searching around in the internet told me that i am not the only one which has this issue. The stove also has a infrared control, which seem to write commands to RAM 0x58
. So sending 10 times 0x5a
to RAM 0x58
with a delay of 100ms
turns the stove off safely.
You should consider changing your code to this method as well, since it seems the better way and also should work for all stoves.
There are other "IR commands" that can be written to 0x58
with a delay of 100ms
. To set power and temp, send it at least twice, for the power button (longpress) at least 10 times.
State | Description |
---|---|
0x54 | Power + |
0x50 | Power -, |
0x52 | Temperature + |
0x58 | Temperature - |
0x5a | Power ON/OFF |
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.