I had no success with getting the external port working with either an am2320 temperature probe or a sx1509 port expander.
It would see the address of both devices when scanning the bus, but would not receive data from them and I am pretty sure you are right - there is too much blocking code being used for the display to get the timing right for the second bus.
Iām using a SHTC3 temperature/humidity sensor and that is exactly what I see too - the device is discovered by the scan but then it wonāt communicate.
Yeah, the display blocks a lot, even with nothing being drawn it blocks. Ive not really looked into the component as to why, or how it could be improved just yet.
That said, im using an ld2410 presence sensor via the external port connection with no issues. But not i2c.
First of all, I wanna thank you for the amazing work you did with both the custom component and the config you did and published. It was a big help in getting my dial set up the way it is now.
I just noticed that you named it m4-dial everywhere and I was just curious as to why? isnāt it the M5-Dial? Just curious :))
Typoā¦ and then it was way too much effort to fix
Iāll take back what I said. I altered the display code so that its setup priority was LATE
(so it doesnāt start until after the HA API is connected, which requires the WiFI which always takes a second or so) and I still saw errors with the i2c bus starting, so I donāt think itās related. I was seeing the SHTC3 being correctly started about 10% of the time, so I suspect it was just one of those times that I saw before when I said it was related.
I took a look at the display code, and I think there are two main issues relating to blocking code with it - first in the setup, it blocks a few times for 100ms using delay()
which needs replacing with callbacks and second the obvious problem with the display redraw taking a very long time.
However, defining a i2c bus on port B:
i2c:
- id: bus_internal
sda: GPIO11
scl: GPIO12
scan: false
- id: bus_portb
sda: GPIO2
scl: GPIO1
scan: false
appears to work reliably.
Theres probably some opportunity to improve the gc9a01 driver - since it can supposedly support DMA. But thats not something i have any experience doing.
But from what i can tell from the m5dial specs, port a should be the preferred port for the second i2c.
but good that Port b works.
I ordered a second one of these the other day, and it just arrived. Looks like they now include the little power plug and a tiny allen key in the package - or maybe in my excitement in getting the first batch I missed it and threw them away.
That connector and key were not there in mine either
Good to see theyāre improving the experience. I had to purchase a connector from their store, and it came with a whole heap of other stuff I didnāt necessarily need.
Just wish the ports were standard plugs, and not the seed ones. Iāve got a whole heap but they donāt actually fit.
Note the perfect integration on BTicino 503 box, with 3D printed modelā¦
Looks great
This is beautiful. Is there any chance someone with limited knowledge could get this working? I have a preschool and would love to control the classroom media and AC with it. We have 3 AC units and itās a pain to control as you have to go to each unitās control panel. Iām hooking up the AC to HA in the next couple of weeks through a P1P2 module and would love one little dial to control it all.
Iām great at following instructions, but I have no idea how it works underneath.
Even if not, this thread was a great read and well done to you all for getting this far!
I wouldnāt recommend taking this on as your first ESPhome project.
But if you have played with some ESPhome YAML configurations before, I suggest get it working one piece at a time - display the AC setpoint, display the current room temp, then make the AC setpoint adjustable with the dial, and build from there.
Thanks.
Iāve ordered a dial and Iām going to play around with it while I wait for the AC stuff to arrive.
Iāve set up Bluetooth proxies, an earthquake sensor, a doorbell unit, and an NFC scanner using esp32s, but they were all really well documented, so it was just a case of copying and pasting or following instructions in VS. I have no idea what to do with a screen.
I have it and rushed to get the yaml on it. It works! I quickly removed it to make sure it didnāt start messing with things, but it showed up fine; there was just a notification about the device not being authorised to do service calls or something.
Can I just confirm that I need to go through the yaml and replace any entities with ones present in my HA instance? Or do I need to set things up on the HA side of things i.e set up automations from data coming from the dial entity?
If I just replace anything in entity_id with something relevant from my HA instance will it work?
Iām eagerly awaiting a climate control section I can stealš .
Hi, every one.
sorry in advance for my english.
i see the m5dial a month ago, and when i see it, i search information f itās possible to plug it on esphome and home assistant.
I have naturally found this forum (thanks a lot for your work).
This allow me to work on own integration. I will reproduise the home assistant climate interface.
I actually have this :
I think is not bad , for the moment itās just a display (no interaction) but the process is in progress.
I will publish my code when i will have a functional knob climate
Hello
Iām trying to use the Yaml to configure the M5Stack rotatory knob with this yaml file Link over the HA on esphome GUI
But Iām facing this issue:
Can you please help me in order to get this fixed ?
Thank you
The provided yaml files from dghast and myself are only examples of what we are using or testing on our systems, so they will have entities that are specific to our setups. It isnāt a ācut and pastā yaml that will just work - you will need to change many items to make it function on your setup.
The fault you are getting is the HA api key that dghast has specified in his secrets yaml file.
api:
encryption:
key: !secret m4dialencryption