Git Product home page Git Product logo

homebuttons's People

Contributors

mcarbonne avatar mrmp17 avatar nplan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

homebuttons's Issues

Problem when i first powered the Device with USB C

The Battery is not here already, so i powered the Device by USB-C. All went ok, was able to integrate with Home Assistant. The labels i was able to change. All ok so far. When i removed USB-C and repluged, Display showed Reboot, the Display flashed Black / white. And the Labels hav the Values, thadvi changet to. Problem now is, no Light, when i Push a Button, not changing to Temperature, when i Push for 30 Sec, no Reset is happening. Is this a known Bug. Is there a Solution for my Problem? Best Regards Daniel

[Feature] Add support for icons

Hello,

it would be great, when the display also support mdi icons.
This would save some space for letters on the display.

Thank you

Live information on screen

Hello,
Did you plan to add the capacity of live information on screen ? To preserve battery device can connect every 10 min to Mqtt and read retain topic with information to display (home mode, ext temp, alarm mode...)

Thank in advance for your reply

Network connection not successful

Hi,

I just received my delivery with 4 home buttons. I tried to set them up, but I'm experiencing issues. I was able to set up WiFi using a smart phone, then I could connect via a browser to configure MQTT settings. Settings are correct, confirmed by a MQTT client on the computer with the browser. Home Buttons display "B1...B6" on the epaper screen.

When I now press a button, the LED behind the button lights up for ~20 seconds, then the screen flickers a lot inverting the colors several time, displays "Network connection not successful" and then back to "B1...B6" once again. Any idea?

Best regards
Matthias

Unreliable connection and reponse time with FW 2.0.4 and WPA2-PSK/WPA3-SAE WiFi

Hi,

I've flashed the new 2.0.4 firmware, but there is still a delay of around 10 to 18 seconds before Homeassistant triggers/the MQTT connection is established and the button light goes off after I press a button. My setup consists of a TP-Link EAP610 located 2 meters away with direct sight and is secured with WPA2-PSK/WPA3-SAE.

When I use a temporary WiFi network from my Fritbox, which uses WPA2+WPA3 for security by default, it takes around 3 to 4 seconds to connect and send the MQTT message. If I drop the security to WPA2 (CCMP), it takes around 2 seconds.

I am willing to provide additional logs via UART, but I would need some guidance on how to do so.

v2.0.6 Issues

Hi,

I have 3 Home Button devices and all of them experience the same issues after upgrading to v2.0.6:

  • Button presses take longer than before (as opposed to the release notes)
  • After each button press, the LED lights up, but then the device display shows "restart"
  • The device restart seem also to happen on each update wake-up

@nplan, could you take a look please?

Best regards
Matthias

Text size

Hi.

I love the new feature of icons in combination with text. But as the text size depends on the length of the text, it makes my display a bit messy.

It would be great if the text size could be the same size independent of the length when the a button label is mixed.
It actually means the font should be always the smaller font in mixed mode.

Thanks.

Download the binary directly from GitHub

It would be nice to directly download the binary from GitHub without having the need to upload.

Maybe this could even be automated by adding a MQTT topic which will publish that a firmware update is available.
I just discovered yesterday, that there is a new firmware out and I was on the original first one from last year.

Toggle Icon

First of all congrats to this project. This seems to be exactly what I am looking for. One thing though. Is it possible to toggle the icons on the screen. E.g. when you switch the A/C on it would be nice to see the icon inverted or somehow marked as active.

[Feature] Keep awoken for x seconds after key press

I fully understand why the device needs to stay asleep as much as possible to reach this awesome 18 months battery life.

Nevertheless, I would like to benefit from the screen and not have it just like a nice clean label.

Most of the interaction happen just after the user presses a button.
I would therefore suggest to have the device stay awoken for a configurable account on seconds after a button press.

Here is my usecase:

I use the Home Buttons to control 3 windows and 3 covers.

  • Btn1 displays "Cover 1 closed"
  • User press Btn1
  • HA starts opening Cover1 and changes the label to "Cover 1 opening" (I know the text it too long - this is just to explain, while awaiting the midi icons 😉)
  • Btn1 gets the label over mqtt and update the screen.
  • HA sees the cover is opened and updated the label to "Cover 1 opened"
  • Btn1 gets the label over mqtt and update the screen.
  • x seconds (configurable as I know how long each action takes at max - you could even make it configurable for each button as one may be a slow garage door and the other one, a light) after the button press, the device goes to sleep as usual and restart the long sleep cycle pattern to save battery.

This way, we get the best of both worlds.
Long battery life and updates following user interactions (when they are obviously in front of the screen).

I would be ok if that decreases battery life by 3.
This behaviour would be optional.

As of now, I have buttons with a screen but need to wait 10" to see the cover state which is useless. A simple zigbee button would allow the same kind of control.

What do you think about it?

Configure MDI icons using home assistant: label is too long

Great feature to allow MDI icons!!! Fantastic!!! Thanks!

Anyway, sorry for bothering again, but I think I found an issue here... When configuring the labels using Home Assistant, I'm getting an error: "Value mdi:account-plus2 for text.home_buttons_xxxxxx_button_1_label is too long (maximum length 15)". Is this limit coming from Home Assistant or somewhere from the device firmware?

Release for 2.0.5?

If I see that correctly, a tag was created for v2.0.5, but no release has been created so far, also a pre-built image for direct download/upload is not provided yet. @nplan, could you please create a release with the image? Thanks!

Best regards
Matthias

Show value from HA on Label6

Hi, is there any way, how to show value from HA on HomeButton, for example Label6?
I tried, but the value must by text,

alias: Test
description: ""
trigger: []
condition: []
action:

  • device_id: dae885ba25a830e2a5256b6347ee2797
    domain: text
    entity_id: 9cf75aecefa3447ac9fd8758fbda26ac
    type: set_value
    value: states.sensor.battery_state_of_charge.state
    mode: single

does not work too
value: "{{states.sensor.battery_state_of_charge.state}}"

Thank you

Possibility to run on wall charger?

Hi!
Huge fan of your product.
I was wondering if I could permanently attach a usb C cable to the device and power it continuously via 5 (?) Volt?
Best, n

Update case files

Hey,

unfortunately I broke the the tab of may cases back. Could you update the 3d files so I can reprint it.
I Tank glueing will not last long.

Thanks

[Feature] - fahrenheit

Pretty simple; even though I'm British, I live in the US and it has taken me 16 years to convert to Fahrenheit - I can't go back now! :) Could there be an option to show the temperature in F instead of C? Even if it's just a compile option ... I couldn't see anything in the code that might do it now.

Update from v2.3.0 to v2.4.0 on original HomeButtons does not work using Online Flasher

Title basically says it all; I have a v2.3 original Home Buttons device, and just tried to update from v2.3.0 firmware to v2.4.0 firmware using the Online Flasher tool. The device went into boot mode fine, was recognized on my computer, connected, went through the motions of flashing - but when it was rebooted, it still showed v2.3.0 in the screen and in HomeAssistant.

A full image flash using the same tool worked fine, however - I did also click erase image, so I had to reconfigure. Device is working fine.

Connection not reliable

    > @Zixim Are the button presses reliable for you? Does the battery percentage become available right after you press a button? Please check that you really receive messages every 10 minutes in MQTT Explorer or a similar app. Maybe your Wi-Fi is not reliable enough. Which Home Assistant version are you using?
  • Yesterday button presses were reliable. Today it shows "wifi error" or "mqtt error" or it works.
  • When HA (Home Assistant) receives the button press, battery % is also updated as well as hum & temp.
  • I was running MQTT explorer all day yesterday, just to monitor the button's messages, and the interval definitely wasn't 10 minutes exactly. The delay varied from 10m to 30m, which led me to believe it would only send if a certain threshold was reached. My bad.
  • I'm fully certain that wifi is reliable. For now the button is in my lab/workshop, there is an AP in the same room. Also, I have dozens of other esp devices across the house - if wifi were spotty it would be pretty obvious.
  • HA is version 2022.11.4 which is latest at time of writing.

Originally posted by @Zixim in #10 (comment)

Improv Serial

I was wondering if you have heard of the Improv standard and if you would be interested in adding it to this project. The standard lets you provision a device to a Wi-Fi network via either serial or BLE, so you don't need to connect to the device's ad-hoc network.

It would be a great addition imo! I'm not really a fan of having to connect to ad-hoc networks to set up a device, since my phone usually gets upset at the lack of internet connection.

Network issues: unreliable connection and reponse time.

When I click any button, the device fails to connect in a reasonable time.
Here is the UART output:

ESP-ROM:esp32s2-rc4-20191025
Build:Oct 25 2019
rst:0x5 (DSLEEP),boot:0x9 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:2
load:0x3ffe6100,len:0x524
load:0x4004c000,len:0xa70
load:0x40050000,len:0x2914
entry 0x4004c18c
[   448][D][esp32-hal-tinyusb.c:673] tinyusb_enable_interface(): Interface CDC enabled
[   450][D][esp32-hal-tinyusb.c:562] tinyusb_load_enabled_interfaces(): Load Done: if_num: 2, descr_len: 75, if_mask: 0x10
[   456][D][esp32-hal-cpu.c:244] setCpuFrequencyMhz(): PLL: 480 / 6 = 80 Mhz, APB: 80000000 Hz
[   485][D][main.cpp:940] setup(): [DEVICE] main task started.
[   486][I][main.cpp:239] main_task(): [DEVICE] woke up.
[   486][I][main.cpp:240] main_task(): [DEVICE] SW version: v2.0.3-beta
[   491][D][state.cpp:141] load_all(): [PREF] state load all
[   515][I][main.cpp:259] main_task(): [HW] version: 2.3
[   516][I][hardware.cpp:29] init(): configured for hw version: 2.3
[   547][I][display.cpp:50] begin(): [DISP] begin
[   549][I][main.cpp:284] main_task(): [DEVICE] batt present: 1, DC connected: 0
[   550][I][main.cpp:288] main_task(): [DEVICE] batt volts: 3.747301
[   554][I][main.cpp:340] main_task(): [DEVICE] usr awake mode: 1, awake mode: 0
[   561][I][esp32-hal-i2c.c:75] i2cInit(): Initialising I2C Master: sda=10 scl=11 freq=100000
[   570][W][Wire.cpp:301] begin(): Bus already started in Master Mode.
[   594][I][main.cpp:354] main_task(): [DEVICE] wakeup cause: PIN 5
[   595][D][buttons.cpp:16] begin(): [BTN] id 1 begun
[   595][D][buttons.cpp:16] begin(): [BTN] id 2 begun
[   599][D][buttons.cpp:16] begin(): [BTN] id 3 begun
[   603][D][buttons.cpp:16] begin(): [BTN] id 4 begun
[   608][D][buttons.cpp:16] begin(): [BTN] id 5 begun
[   613][D][buttons.cpp:16] begin(): [BTN] id 6 begun
[   618][D][main.cpp:171] start_button_task(): [DEVICE] button task started.
[   625][I][leds.cpp:9] begin(): [LEDS] begin
[   629][D][main.cpp:228] start_leds_task(): [DEVICE] leds task started.
[   635][D][main.cpp:190] start_display_task(): [DEVICE] display task started.
[   642][D][main.cpp:209] start_network_task(): [DEVICE] network task started.
[   649][D][network.cpp:30] connect(): [NET] cmd connect
[   675][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 0 - WIFI_READY
[   686][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 2 - STA_START
[   688][I][network.cpp:61] update(): [NET] connecting Wi-Fi (quick mode)...
[  1124][D][buttons.cpp:103] update(): [BTN] id 1 press: SINGLE
[  1695][D][network.cpp:44] update(): [NET] state machine changed to: 2
[  1696][D][main.cpp:510] main_task(): [DEVICE] BTN_1 pressed - state SINGLE
[  1698][D][leds.cpp:30] blink(): [LEDS] blink - led: 1, blinks: 1, bri: 225, hold: 1
[  2657][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 4 - STA_CONNECTED
[  5697][I][network.cpp:96] update(): [NET] Wi-Fi connect failed (quick mode). Retrying with normal mode... (status=0)
[  5701][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[  5705][W][WiFiGeneric.cpp:955] _eventCallback(): Reason: 8 - ASSOC_LEAVE
[  6221][D][network.cpp:44] update(): [NET] state machine changed to: 3
[  6368][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 4 - STA_CONNECTED
[  6729][I][network.cpp:111] update(): [NET] connecting Wi-Fi (normal mode): SSID: ********
[  6733][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[  6735][W][WiFiGeneric.cpp:955] _eventCallback(): Reason: 8 - ASSOC_LEAVE
[  6816][D][network.cpp:44] update(): [NET] state machine changed to: 4
[  6890][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 4 - STA_CONNECTED
-- 0:ttyUSB0 -- time-stamp -- févr./05/23 14:25:07 --
-- 0:ttyUSB0 -- time-stamp -- févr./05/23 14:25:22 --
[ 26811][W][network.cpp:143] update(): [NET] Wi-Fi connect failed (normal mode). Retrying...
[ 26815][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[ 26816][W][WiFiGeneric.cpp:955] _eventCallback(): Reason: 8 - ASSOC_LEAVE
[ 26825][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 3 - STA_STOP
[ 27346][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 0 - WIFI_READY
[ 27351][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 2 - STA_START
[ 27362][D][network.cpp:44] update(): [NET] state machine changed to: 3
[ 28257][I][network.cpp:111] update(): [NET] connecting Wi-Fi (normal mode): SSID: ********
[ 28259][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[ 28262][W][WiFiGeneric.cpp:955] _eventCallback(): Reason: 202 - AUTH_FAIL
[ 28269][D][WiFiGeneric.cpp:975] _eventCallback(): WiFi Reconnect Running
E (28184) wifi:sta is connecting, return error
[ 28291][E][WiFiSTA.cpp:278] begin(): connect failed!
[ 28301][D][network.cpp:44] update(): [NET] state machine changed to: 4
[ 30206][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 4 - STA_CONNECTED
-- 0:ttyUSB0 -- time-stamp -- févr./05/23 14:25:30 --
-- 0:ttyUSB0 -- time-stamp -- févr./05/23 14:25:40 --
[ 45004][D][main.cpp:600] main_task(): [DEVICE] network connect timeout.
[ 45053][D][display.cpp:98] update(): [DISP] update: page: 5; disappearing: 1, msg: Network
connection
not
successful
[ 45114][D][buttons.cpp:30] end(): [BTN] id 1 ended
[ 45115][D][buttons.cpp:30] end(): [BTN] id 2 ended
[ 45116][D][buttons.cpp:30] end(): [BTN] id 3 ended
[ 45118][D][buttons.cpp:30] end(): [BTN] id 4 ended
[ 45122][D][buttons.cpp:30] end(): [BTN] id 5 ended
[ 45127][D][buttons.cpp:30] end(): [BTN] id 6 ended
[ 45131][D][leds.cpp:14] end(): [ 45134][I][leds.cpp:80] update(): [LEDS] ended
[: [LEDS] ended[ 45140][D][network.cpp:36] d[ 45142][I][network.cpp:120] update(): [NET] disconnecting...
[ 45151][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 5 - STA_DISCONNECTED
[ 45155][W][WiFiGeneric.cpp:955] _eventCallback(): Reason: 8 - ASSOC_LEAVE
[ 45164][D][WiFiGeneric.cpp:931] _eventCallback(): Arduino Event: 3 - STA_STOP
isconnect(): [NET] cmd disconnect
[ 45172][I][network.cpp:124] update(): [NET] disconnected.
[ 45186][D][network.cpp:44] update(): [NET] state machine changed to: 1
[ 45427][D][display.cpp:56] end(): [DISP] cmd end
[ 48715][D][display.cpp:98] update(): [DISP] update: page: 1; disappearing: 0, msg: 
[ 52099][I][display.cpp:144] update(): [DISP] ended.
[ 52112][D][main.cpp:649] main_task(): [DEVICE] free stack: btns 628, disp 3620, net 8124, leds 696, main 18160, num tasks 12
[ 52113][D][main.cpp:654] main_task(): [DEVICE] free heap: esp 103100, esp min 2588, rtos 103100
[ 52121][D][state.cpp:135] save_all(): [PREF] state save all
[ 52136][I][main.cpp:51] start_esp_sleep(): [DEVICE] deep sleep... z z z

I did several attempts and it fails most of the time (maybe 9 out of 10, or even more).
The error pattern isn't always exactly the same but from what I have seen, "quick connect" very often fails because it did not get an IP address (but AP connection was successful). After that, falling back to "normal connect" sometimes work (but not always).

Enhancement: show Device Name on Sensor value screen

Hello everyone,

here is a proposal, you can decide if you want to implement it: I have 2 Homebuttons (maybe more in the future ;) ) and I would find it helpful, if the Device Name (e.g. HomeButtonsFDE97C) is shown on the E-Ink display in the same font size as e.g. "- Temp -" on the sensor value screen (holding one button > 4 seconds).
Especially if more than one Homebutton is used that are not mounted to a wall, it is helpful to put the buttons back to their place (especially if the Device Name contains information like "living room" or "kitchen").

Buttons labels not appearing in HA

Hi and thanks for the great piece of hardware and software!
I installed the latest 2.0.3 firmware and the device seems to work well.
I got temperature, humidity and some other reported to the mqtt server and available in HA,
but the button controls don't appear. "Awake mode" and "Sensor interval" controls do appear.
I tried changing the labels in setup mode hoping it will trigger something somewhere but it didn't. Pressing buttons neither.
I didn't have time to monitor the mqtt communications so far and maybe I'm missing some trivial point.
Thanks in advance,
F.

special (foreign) characters not displayed

Hi,
I've set up my 2 Home Buttons last night and found out, that the display cannot print special (foreign) characters (like ä ö ü ß).
If you put those caracters into the button description the will not show at all. So instead "Büro" it will just print "Bro".

It would be helpful to have the entire ASCII Latin set. Emojis would be nice too!

Nice to have: trigger MQTT autodiscovery / configuration menu

Currently, there is no way to trigger an MQTT autodiscovery message.
It would be nice to have a dedicated "config" menu, allowing to :

  • trigger autodiscovery
  • enter setup
  • enter wifi setup
  • perform a factory reset
  • reboot ?
    It might even replace the "10s/20s/30s" press behaviors.

This weekend, after an update of my MQTT broker, I had some issues with home assistant so I had to remove some devices.
It appears that there is currently no easy way to trigger the autodiscovery.
Looking at the code, I found only 2 methods:

  • perform a factory reset
  • update the firmware

Availability of HomeButtons to buy

Dear @nplan,
you convinced me with your great product and I would like to buy more 😁
The availability in Tindie is only one pcs. The link to Lectrons (https://docs.home-buttons.com/#where-to-get) is not actual, but on lectronz, the availability is zero.

For me it is not urgent. Will there be more devices available soon? It would be ok for me to preorder, so you can plan ahead.

Keep up your great work! :)

special chars limitations?

I'm trying to show the batter percentage on the screen - if I just publish it as a big text on its own 82% then it renders find. However small text _82% and icons mdi:lightbulb 82% (or mdi:lightbulb _82%) seem to not render the % symbol.

Is this a limitation of special char rendering? Or should this work?

[Feature] Safe Reset Button Combination to prevent accidential resets

It happens to me 1 to 2 times a month, that I accidentally reset the Homebuttons. Use Cases are:

  1. Homebuttons are on the Couch and I accidentally sit on it
  2. Homebuttons are mounted on a wall and I accidentally lean on it for too long
    Both cases lead to a reset, so that I have to re-configure the Homebuttons.

I would wish for a "Safe Reset Button Combination", which could be activated in the settings for people like me. The default behaviour is just a long-press of any button. When the "Safe Reset Button Combination" is activated, a long-press leads to the "Temperature, Humidity and Battery status" display, but not further (no Setup, no WiFi setup, no reset).

Possible "Safe Reset Button Combinations" could be:

  1. Button 1 and Button 6 need to be long-pressed simultaneously, but no other buttons are allowed to be pressed
  2. a random or pre-defined combination of the buttons needs to be pressed in sequence. The sequence is indicated by the Button-LEDs. Only if the buttons are pressed in the same sequence, how the LEDs were lit, the setup is unlocked

Probably 1 is the easiest to be implemented from the both scenarios, but I am open for any other solutions.

Keep up the good work!

[Feature] Charging confirmation on screen

Hello 👋,
first, I would like to thank you for this awesome project. Icons are working great!

Recently, my battery dropped below 40% and I wanted to recharge it. To measure the capacity and current going into the cell, I used a small USB meter to record the data.
I noticed that only little power was drawn and wasn't sure if the charging procedure had been started.

However, after about one minute, it started ramping up to 3.9W. It would be nice to see on the screen, if the device is receiving power and charging.

Maybe an overlay, similar to the ones on Android, would be nice:
FE6CK71IOT2W6Z4.jpg

Perhaps parts of the icon system could be re-used, to display this icon (and the current %):

https://pictogrammers.com/library/mdi/icon/battery-charging/

[Feature] Allow to fix the font size

I added a label on the six buttons. All have the same number of letters but the do not all have the same font size.

This is weird and quite ugly.

Can we get a bit more control on how labels are displayed ?

image

Example for Homebridge?

Hi! I bought Home Buttons and even though I have Homebridge instead of Home Assistant, it has MQTT plugins. My idea was to setup a switch in Homebridge and control it with Homebuttons, but I can't seem to make it work. I think my lack of understanding of how MQTT works is part of the problem, but also, I don't know how to make auto discovery work on Homebridge. I appreciate any pointers on trying to solve this, thanks!

[Feature] Status page

Hi,

it would be nice if we can have status pages if powered with usb etc.
and closable with one of the buttons?

Usecases are messages from dish washer etc.

What do you think about it?

best, Jörg

MDI icons do not display

Was very excited when I saw the icon feature, so I've just tried it out ... unfortunately, they do not display. They only show a document/question mark icon instead.

image

I tried it with the following labels:

  • mdi:play-pause Music
  • mdi:play-pause
  • mdi:bedroom (from the documentation, so I thought the icon would work)
  • mdi:bedroom Music

I clicked one of the buttons and the screen briefly said 'Downloading icons ...' but nothing changed. The device does have internet access.

Is there anything I can do to debug it?

[feature] Set button labels via MQTT

As a user, I would like to be able to set the button labels without touching the device.

Here's an example of commands I would expect to cause the label for button 6 to be updated within N minutes:

mosquitto_pub -h 192.168.0.109 -p 1883 -t "homebuttons/Home buttons/btn_6_label" -m "PARTY"
mosquitto_pub -h 192.168.0.109 -p 1883 -t "homebuttons/Home buttons/cmd/btn_6_label" -m "PARTY"

I saw that the device can subscribe to events, so I would expect that this should be possible even when operating in sleep mode.

Note: I am not currently using HomeAssistant and am not planning on doing so. I am interacting directly with the HomeButton over MQTT.

quick multiple presses not registered

I just realised pressing the buttons very fast ignores the first button press. I have not debugged this, but guess its due to the debounce functionality. Having the possibility to reduce the debounce timeout via mqtt would be great.

Mqqt Error: Mqtt Password Truncated

Hello Everyone,

Just received my Home Buttons Mini and was easily able to connect to my wifi network, but ran into a error/bug when trying to setup mqtt.

I have entered in all the settings for my Mosquitto Mqtt Server running in Home Assistant, but I would hit save and the OLED would display "Mqtt Error" and not work.

After trying this multiple times, I noticed the "Mqtt Password" text field only accepts 50 characters, but my randomly generated password in Mosquitto is 64 characters long by default, and the last 14 characters appear to have been lopped off. It looks like the max text box length and maybe memory buffers need to be increased to at least 64 characters so I can enter in the full password.

I have alot of sensors already using my 64 character password, so changing my password to something shorter is not a option.

Feat. request : export/import settings

For cases like updating from 2.3.0 to 2.4.0 with the original HomeButtons (flash full image, lose all settings), export/import of settings would be nice to have.

Possible to accidentally reset too easily.

Home Buttons Mini

To display sensor data, hold down any button for 3 seconds. Keep that button pressed for a further 3 seconds and the management screen is displayed.

The problem is that it takes just over a second for the screen to re-draw which means if you're waiting for the screen to finish re-drawing before releasing the button, it's easy to press a button for the full five seconds required for the management screen.

Once you're at the management screen, there is no obvious way to exit (yes, I know how because I've used the manual, but see this from the point of view of a user in the same household who hasn't). From here, pressing the 'WiFi Setup' button makes the whole switch non-functional until somebody who knows how resets the WiFi details.

I think what I'm asking for is a way of making the whole unit less susceptible to people messing about with the configuration.

Update failed

After updating my HomeButtons the device was unable to boot.

The only firmware that seems to boot is this one: '2301-112_v2.0.4_full_image.bin''
My device S/N is 2301-048 so this firmware is not exactly for my device since the MAC adres is different.

From the debug port i get the following:

ESP-ROM:esp32s2-rc4-20191025
Build:Oct 25 2019
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:2
load:0x3ffe6100,len:0x11b0
load:0x4004c000,len:0x8b4
load:0x40050000,len:0x2d88
entry 0x4004c198
[ 782][I][main.cpp:959] setup(): [DEVICE] starting...
[ 782][I][main.cpp:249] main_task(): [DEVICE] woke up.
[ 782][I][main.cpp:250] main_task(): [DEVICE] cpu freq: 240 MHz
[ 787][I][main.cpp:251] main_task(): [DEVICE] SW version: v2.0.6
[ 801][I][main.cpp:270] main_task(): [HW] version: 2.3
[ 802][I][hardware.cpp:29] init(): configured for hw version: 2.3
[ 834][I][display.cpp:50] begin(): [DISP] begin
[ 837][I][main.cpp:296] main_task(): [DEVICE] batt present: 0, DC connected: 1
[ 838][I][main.cpp:355] main_task(): [DEVICE] usr awake mode: 0, awake mode: 0
[ 842][I][esp32-hal-i2c.c:75] i2cInit(): Initialising I2C Master: sda=10 scl=11 freq=100000
[ 852][W][Wire.cpp:301] begin(): Bus already started in Master Mode.
[ 875][I][main.cpp:384] main_task(): [DEVICE] wakeup cause: RESET
[ 7152][I][display.cpp:69] update(): [DISP] ended.
[ 7158][I][main.cpp:53] start_esp_sleep(): [DEVICE] deep sleep... z z z
ESP-ROM:esp32s2-rc4-20191025
Build:Oct 25 2019
rst:0x5 (DSLEEP),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:2
load:0x3ffe6100,len:0x11b0
load:0x4004c000,len:0x8b4
load:0x40050000,len:0x2d88
entry 0x4004c198
[ 513][I][main.cpp:959] setup(): [DEVICE] starting...
[ 513][I][main.cpp:249] main_task(): [DEVICE] woke up.
[ 513][I][main.cpp:250] main_task(): [DEVICE] cpu freq: 240 MHz
[ 518][I][main.cpp:251] main_task(): [DEVICE] SW version: v2.0.6
[ 532][I][main.cpp:270] main_task(): [HW] version: 2.3
[ 533][I][hardware.cpp:29] init(): configured for hw version: 2.3
[ 565][I][display.cpp:50] begin(): [DISP] begin
[ 568][I][main.cpp:296] main_task(): [DEVICE] batt present: 0, DC connected: 1
[ 569][I][main.cpp:355] main_task(): [DEVICE] usr awake mode: 0, awake mode: 0
[ 573][I][esp32-hal-i2c.c:75] i2cInit(): Initialising I2C Master: sda=10 scl=11 freq=100000
[ 583][W][Wire.cpp:301] begin(): Bus already started in Master Mode.
[ 606][I][main.cpp:370] main_task(): [DEVICE] wakeup cause: PIN 5
E (6673) phy_init: load_cal_data_from_nvs_handle: calibration data MAC check failed: expected 58:cf:79:b3:94:5c, found 58:cf:79:b3:94:76

How to go from here, i'm unable to flash any other image

Button Lable change Iobroker via MQTT

Hi I tried your great Produkt. Alls works fine with my IObroker but to change the Button Labels I didi not find a working way.
Can you help me to get a working url Request ?

Regards Frodonet

Icons not displaying

Thanks for building these, am looking forward to getting it all setup and working.

I'm configuring directly via MQTT, publishing the btn label with value mdi:play-pause or mdi:lightbulb-auto-outline. The device is in online mode for now so as soon as I publish the label it goes into downloading icons and then shows the screen with the label as the mdi:file-question-outline icon.

Is there any logging via serial I can setup to get an idea of why the download perhaps failed?

Firmware version is 2.4.0 (might be nice to have that on a mqtt topic at some point)

[Case] Enhancement idea: add guided holes to reach buttons without disassembly

I received my "HomeButtons" today, a nicely built product !

I had an idea to improve the back plate design: add guides holes to reach reset and boot buttons:
front_view
back_view

Note: this is for illustration purpose only, I did not check dimensional accuracy at all.

Also, I noticed that step and STL files on github aren't up to date. I would be nice if you upload the last revision 🙏

Battery Level ?

Hi

It would be nice to be able to get battery level and charging status ;) Currently it's not reported by firmware in info page but not sure if it's hw or software restriction there :/
Out of it great fan of it, just received mine today 👍

Thanks

Vincèn

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.