Thanks for working on this !
Congrats on getting engaged @arbreng . Thanks for all the work. I have a question for anyone in the this thread though. Is there a way to get the mqtt bridge working on an old android phone or tablet rather than having to buy another Raspberrypi W? Cheers
In theory, it will work in any environment that pyBluez works in. If you can get a python REPL running and successfully scan for Bluetooth devices, then it will be worth the trouble getting the rest of the dependencies installed and test it out.
There is actually an app that creates a python environment in Android both python 2 and 3. It is also capable of communicating through the Bluetooth. Now just trying to figure out which components I need from anova master.
Very cool. Thanks for sharing this.
I’ve checked out your PR but seems closed for no activity
Hope you didn’t stop with the anova integration…
Quick update, over the weekend I merged some minor changes to my AnovaMaster MQTT bridge to allow setting temperature in both Celsius and Fahrenheit. The bridge still doesn’t allow setting temperature units, but will set the temperature in whichever unit the Anova is currently set to. Very grateful to the user who contributed that, thanks!
Hi All, I’m curious if anyone has tried to look at the data that comes across on TCP port 9988? I can’t tell what it is from looking at it with netcat (it’s encoded or binary), however it does repeat and I believe it may change with time and temperature.
Also port 80 is accessible with the user/password admin/admin… but there’s no index page, so not sure if everything there was delete.
It turns out Mark Furneaux did some excellent work last year reverse engineering their data stream protocol… you can watch the video of how he did it here: https://www.youtube.com/watch?v=xDDPFHhY7ec
I posted some instructions in the comments of that video today for how you can decode the stream of data on 9988 using netcat and Mark’s script (this captures 500 bytes and decodes them)…
curl -O https://gist.githubusercontent.com/TheUbuntuGuy/225492a8dec816d49b70d9c21811e8b1/raw/47f591fbe370f47e58d7813bd61a3af72679729c/fuckuanova.py
nc hf-lpb100 9988 | xxd -plain -l 500 | tr -d '\n' | sed -e $'s/1668/16\\\n68/g' > rawdump.txt # replace hf-lpb100 with your anova's IP or hostname...
python3 fuckuanova.py
Thanks @stibbons for your work. I am newbie. Just got this working on rpi zero w following your instructions. I wanted the rpi to autostart this each time it is rebooted. Here is my autostart script. It should work on debian/raspbian. Created this file named anova.service in /etc/systemd/system and then issued commands daemon-reload, enable service and start service.
[Unit]
Description=Anova mqtt to homeassistant
After=multi-user.target
[Service]
Type=idle
WorkingDirectory=/home/pi/anovamaster
ExecStart=/home/pi/anovamaster/venv/bin/python run.py
[Install]
WantedBy=multi-user.target
@stibbons thanks for this! I got it running, but I can’t seem to adjust the temperature up in HASS. Down works fine. Anytime I try to go up it defaults to 35 F and I can’t go higher (and nothing changes on the Anova).
EDIT: NM, i had to add a min_temp and max_temp to the HASS configuration.yaml portion. So mine looks like this:
climate:
- platform: mqtt
name: Sous Vide
modes:
- disconnected
- stopped
- running
current_temperature_topic: anova/status
current_temperature_template: "{{ value_json.current_temp }}"
temperature_state_topic: anova/status
temperature_state_template: "{{ value_json.target_temp }}"
mode_state_topic: anova/status
mode_state_template: "{{ value_json.state }}"
mode_command_topic: anova/command/run
temperature_command_topic: anova/command/temp
min_temp: 77
max_temp: 210
temp_step: 0.5
Hey all. Just a quick note to say that I’ve just merged a pull request that added control of the timer to AnovaMaster. The timer can be set, as well as turned off, and the daemon reports full timer status. There’s no real update mechanism apart from just downloading the repository again, sorry.
When I get a chance, I intend on trying to package this code a little bit nicer, and include a systemd service file to make running it a little simpler. Also hopefully eventually port it to python3.
Hello! First I would like to say thank you for your work, your component has renewed my interest in my Anova and now it isn’t collecting dust anymore.
Unfortunately I have some problems with getting it to work properly. I manage to get the code installed on a raspberry pi w, and also to have connect to my Anova, sometimes.
The problem is that I get an error message after a while:
Traceback (most recent call last):
File “run.py”, line 29, in
main()
File “run.py”, line 16, in main
my_anova.run()
File “/home/pi/anovamaster/AnovaMaster/AnovaMaster.py”, line 146, in run
self._anova.start_timer()
File “/home/pi/anovamaster/venv/local/lib/python2.7/site-packages/pycirculate/anova.py”, line 172, in start_timer
return self.send_command_async(“start time”)
File “/home/pi/anovamaster/venv/local/lib/python2.7/site-packages/pycirculate/anova.py”, line 73, in send_command_async
_, output = self._read()
TypeError: ‘NoneType’ object is not iterable
Exception in thread Thread-2 (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File “/usr/lib/python2.7/threading.py”, line 801, in __bootstrap_inner
File “/usr/lib/python2.7/threading.py”, line 1073, in run
File “/home/pi/anovamaster/AnovaMaster/RESTAnovaController.py”, line 44, in
File “/home/pi/anovamaster/AnovaMaster/RESTAnovaController.py”, line 39, in timeout
<type ‘exceptions.AttributeError’>: ‘NoneType’ object has no attribute ‘timedelta’
After I get this error I can’t seems to re-run the script “run.py” because I get the above error message all the time. Another strange thing is that I dont get any messages in the console or in the log file, anovamaster.log, only “Apr 14 16:15:14 Unknown status:”
Any idea what could be wrong?
Any chance that this could work on something like an ESP32 rather than a pi (since I have a EPS32 lying around …) ?
Thank you!
I just got all this running on a pi zero W attached to a sonoff basic for power. Nice and compact and allows me to keep the pi nearby and control some other device in my kitchen.
I had this because I had a retained mqtt message to running for the timer_run command. Cleared that and the error went away.
Any tips on getting this to connect? it tool a lot of scans to get the BT mac of the anova. after I got that I’ve not been able to get it to connect. could this be range issue?
i noticed occasionally I need to restart the BT and Anova service for things to reconnect.
has anyone updated to 0.96.x with this setup? does everything still work with all the new climate 1.0 changes?