-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Managing two iBoost+ #9
Comments
Hi, The easy way would be to have 2 sets of hardware and hard code the addresses for each one. To do this run the normal configuration and look at the packets in the monitor. After the "Got Packet", the next 2 values are the address. You should be seeing 2 different addresses. Make a note of the 2 addresses, then modify the iBoost.h files on each of the 2 receivers as follows: |
Good, that sounds doable, thanks. Will that fix it for sending (e.g. to request a boost) as well as for receiving? I'd already thought that making two sets of hardware would be the way to go, if only because careful positioning of them in relation to the iBoost+s might enable selection of the target iBoost+. The parts for two devices are already ordered from Aliexpress :) |
Yes it will fix it for the boost. |
Excellent! Thank you |
OK, I have built this and have it working and it connects to one of my two iBoost - excellent :) Now to ensure it connects to the same iBoost each time. You said above "run the normal configuration and look at the packets in the monitor. After the "Got Packet", the next 2 values are the address." I'm new to ESPhome but I've had a look around and I can't see any 'monitor' option where I can look for packet data. Have I overlooked it or are you meaning to monitor some other way? Thanks PS I have an RTL-SDR - can I use that with some software (which?) to investigate this? |
When you build and upload from the command line, you should see the monitor output after the upload has finished. |
Thanks for that. Running on the esphome container command line esphome run iBoost.yaml I'm seeing no packet information. It goes from installing firmware to connecting to wifi then receiving iBoost data. Looking it iBoost.h I see some places where packets should be printed but perhaps I'm not hitting those parts of the code. |
Ah, iBoost.h lines 240/241
Is this why I am not seeing any packets displayed? Do I need to connect GDO0 and D1 and enable this code? |
No it will just poll for the data. If it doesn't receive anything, it is usually down to the xtal on the receiver being off frequency. You should still see the radio ok message though. |
It is receiving data and it is appearing in HomeAssistant so all is good from that point of view. Curiously it is receiving data from only one IBoost+ and that it the one that I am most interested in controlling (connected to the immersion in my OSO tank). So that is fortuitous but probably unreliable - if I send a boost command that might be the one time it connects to the other iBoost+! I've realised that no Serial.print or Serial/println commands are working at all, even extras that I have added for debugging purposes. I am using an Amica NodeMCU. I have been googling and tried out a few things such as setting Serial.begin(9600); but no better (also tried 115200). In iBoost.yaml I have tried setting board: to either nodemcu or nodemcuv2. Perhaps my board has some compatibility issues, needs different initialisation, or is faulty. Are there any known good ESP8266 you could advise I buy in place of this? Thanks |
Have you tried uploading via the usb rather than over the air? |
Got it! I spent some time tinkering yesterday and trying to work out what was going on. (Remember I'm a newbie to this :) I was leaning towards the idea that what I was seeing on the console was not what was being sent to USB, but could not work out how to access that. I failed in uploading over USB because that option was not offered, only OTA. Following your nudge this morning I looked again and found that commenting out the wifi information from iBoost.yaml forced uploading to occur over USB. So now I am seeing Got packet,75,f5,22,00,00 (etc) I'll hardcode that address (then re-enable wifi) and it should be all done. Thanks for your work on this. |
So, I now have two iBoost+ with two "Buddy" controllers, all working nicely. Thank you JNSwanson :) I had to a do a little more than just update lines 270/271 to set the address of each iBoost+ Of course I had to change the sensor names in at least one of the installations to avoid a clash. In yaml I simply added a suffix of OSO to the names of the sensors for my OSO tank and TS to the names of my sensors for my Thermal Store tank. I also had to update line 250. Lines 270/271 set the transmit address but have no effect on the receive address, so I was receiving data from both iBoost+ into both boards and both sets of sensors! I just extended the condition to include my hard-coded addresses. if (pkt_size > 0 && radio.crcok()) { // We have a valid packet with some data became if ((pkt_size > 0) && (radio.crcok()) && (packet[0] == 0x75) && (packet[1] == 0xf5) ) { // We have a valid packet with some data or if ((pkt_size > 0) && (radio.crcok()) && (packet[0] == 0xb4) && (packet[1] == 0xf0) ) { // We have a valid packet with some data I also found that tuning the crystal made a big difference to signal strength and was easy to do - just bracketing the starting frequency and recompiling a couple of times to check the result. Finally, for a laugh, for those of you wondering about how to make an enclosure, here is my minimalist solution: |
I have two iBoost+. Each one is connected to a different phase of my 3-phase power supply and each one is connected to different immersions in different tanks, i.e. they operate completely independently. However they are sited adjacent to each other, both mounted on the same wall.
With this project, which does not seem to feature pairing, will I be able to target each iBoost+ independently, or will it be a matter of luck/chance whichever iBoost+ the ESP board connects to?
Perhaps I will be lucky and my two iBoost+ are both detuned but in opposite directions and I'll be able to make two ESP-Home-iBoost kits and target one at the precise frequency of each iBoost+??!
Perhaps I can relocate the iBoost+ so that they are a bit more widely separated than they are now, and mount the ESP-Home-iBoost directly on the case of each iBoost+ so that each ESP might talk to the iBoost+ on which it is mounted.
Any other thoughts?
Thanks
The text was updated successfully, but these errors were encountered: