Page 6 of 16 FirstFirst 1234567891011 ... LastLast
Results 51 to 60 of 152

Thread: My HGI80 equivalent Domoticz setup without HGI80

  1. #51
    Automated Home Guru
    Join Date
    Feb 2016
    Posts
    191

    Default

    @shutty

    As Bruce has said it's all work in progress at the moment, but if you're happy to dive in here's some info which should get you started:

    RFBee firmware: I suggest trying the master branch from my Github area, but you may have to try altering the baud rate to 74880 or 250000 to get sending to work OK. I'm sure I've got it to work on the default 115200, but I tested it again yesterday and had to change the baud rate to get sending to work. I've paused on further work on the firmware at the moment until some more hardware turns up, as I wasn't able to get to the bottom of some problems with *INCOMPLETE errors in some of the messages from HR80s. I hope to be able to do some more troubleshooting on these messages with my new toys in a few weeks.

    Domoticz: I can't remember how far you got with your HGI80, but to use the RFBee in Domoticz you follow the approach on the Domoticz Evohome wiki for the HGI80 and add it as new hardware device. As you don't have an evohome controller, you probably won't get any devices appearing automatically in your devices list, but if you choose the 'All sensors' function from hardware page you should see your HR92s appear as temperature sensors. However, there's still a lot of work to do to get Domoticz working properly if you're not simply removing a controller from a working system and replacing it with an RFBee + Domoticz. If you were simply replacing an existing controller, the RFBee + Domoticz could just copy the device ID of the controller and all the device binding would still exist. In your case we're going to have to set-up all the device binding functions from scratch in Domoticz too. I think a far quicker solution that you'll be able to easily develop further yourself might be to use some Python scripts as these will be able to perform the device binding and programming.

    I'll sketch out a Python script to get you started with device binding and setpoint control if this sounds OK to you? Once this is running OK, you might also be able to use Domoticz to at least monitor your HR9s until further functionality has been added to allow control.

    Dan

  2. #52
    Automated Home Lurker
    Join Date
    Mar 2017
    Posts
    8

    Default

    Quote Originally Posted by DanD View Post
    @shutty

    I'll sketch out a Python script to get you started with device binding and setpoint control if this sounds OK to you? Once this is running OK, you might also be able to use Domoticz to at least monitor your HR9s until further functionality has been added to allow control.

    Dan
    Many thanks Dan, sounds like a plan... do you have any documentation on the messaging structure to & from the HR92's that you have discovered to date or is this on a site somewhere.

  3. #53
    Automated Home Guru
    Join Date
    Feb 2016
    Posts
    191

    Default

    @shutty

    I've just added v0.1 of the simple Python script Evohome_Controller to my Github area. This is a very basic prototype and all it achieves at the moment is to bind and sync with a single HR92. I've put a few comments in the code which hopefully explain the basics.

    Here's how to test it out:

    Start the script and it should print out each message it receives via the serial port (check that it's using the correct baud rate for your RFBee).
    Put your HR92 into binding mode (a single press, followed by a long press displays BIND and then another press starts binding). If it seems to sit displaying BINDING for a long time try a quick press again. If this doesn't work, start the process all over again (the code is a little temperamental).
    You should see the code recognise the BIND command and then send a response.
    It then listens for the SYNC request and then sends a response.
    It continues forever printing each message received and listening for BIND and SYNC messages.
    That's it!

    Just quit out of the Python program with Ctrl-C.

    You'll eventually get a NO_SYNC warning on your HR92 as it's not getting any regular SYNC message from the controller.

    I'll hopefully have some time over the next few days to add in the setpoint command and a periodic SYNC to keep the HR92 happy. If you begin to get some ideas on how to expand/improve the script, just clone my code and submit them as pull requests and we can begin to collaborate on developing the code. Happy for anyone else to join in too!

    do you have any documentation on the messaging structure to & from the HR92's that you have discovered to date or is this on a site somewhere
    Sorry, no. There's some info over on the domoticaforum.eu, but it's pretty limited. I've just been focussing on expanding the Domoticz code rather than documentation. I think these new Python scripts will be more readable than the C++ code and should help to explain things a little more as each control message will simply be written in the following form in the script:

    Code:
    AA --- BB:BBBBBB CC:CCCCCC DD:DDDDDD EEEE FFF GG......
    
    KEY:
    AA: message type I, RQ, RP or W
    ---: This will always be '---' as it's not used by the Evohome system (it was used in previous systems and held a sequential message number)
    BB:BBBBBB, CC:CCCCCC, DD:DDDDDD device type and IDs (decimal, --:------ is used if not applicable)
    EEEE: Evohome command (Hex)
    FFF: length of GG.. payload in (8bit) bytes (decimal)
    GG...: payload ie. the parameters that go along with the Evohome command
    Dan
    Last edited by DanD; 19th March 2017 at 11:49 PM.

  4. #54
    Automated Home Guru
    Join Date
    Feb 2016
    Posts
    191

    Default

    @shutty

    I've added v0.2 of my Evohome_Controller script to my Github area. The script can now handle multiple HR92s and has a basic command interpreter. With this version, you should be able to bind all your HR9s to the script controller and define each zone's setpoint. I've put some simple instructions for use in the README, but I'm sure I'll have missed out something important so just drop me a note if you get stuck. It's still very basic, but you'll see from the code that there's a lot of complexity to building just simple controller functions. We've got a long way to go to be able to build weekly schedules etc, but it's a start. Hopefully we can work out the main functions with this Python prototype and then integrate the functionality into the Domoticz Evohome code.

    Dan

  5. #55
    Automated Home Lurker
    Join Date
    Mar 2017
    Posts
    8

    Default

    Many thanks Dan, this is just the start I needed...although struggling to get the HR92 to accept and move off binding mode, although the script seems happy enough.
    I have tried with and without the id in the zone info and I have had it say binding complete in the code, although I can see your placeholder saying that you need to add code to check the bind has successfully completed. Regardless of that, if it was working for you, I wonder if the HR92 is missing something.. (These are brand new and never setup on a controller before, could they be missing a "base" config item that you are not sending, ie.. your test ones already had it) ?
    This example has the id in it, 04:137538...(Note, I need to look at your latest upload handling sync , it is not processing anything for me, had a quick play with the timing sync but nothing)
    many thanks
    Code:
    C:\Python27>evorunsetup.bat
    
    C:\Python27>c:\python27\python.exe c:\python27\evohome_controller_setup.py
    Zone 1:(04:137538):(Zone1):(8.5:0352)
    ControllerID=0x055555 (01:087381)
    # EvohomeWirelessFW v0.8 Copyright (c) 2015 Hydrogenetic
    
    # Licensed under GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+>
    
    ---  I --- 04:137538 63:262142 --:------ 1FC9 006 0030C9121942
    
    Send:(I --- 01:087381 --:------ 01:087381 1FC9 018 0023090555550030C905555
    5001FC9055555
    )
    
    ---  I --- 04:137538 --:------ 63:262142 12B0 003 000000
    
    ===========================================================================
    without id in zone info
    ===========================================================================
    C:\Python27>evorunsetup.bat
    
    C:\Python27>c:\python27\python.exe c:\python27\evohome_controller_setup.py
    Zone 1:(04:123456):(Zone1):(8.5:0352)
    ControllerID=0x055555 (01:087381)
    # EvohomeWirelessFW v0.8 Copyright (c) 2015 Hydrogenetic
    
    # Licensed under GPL-3.0+ <http://spdx.org/licenses/GPL-3.0+>
    
    ---  I --- 04:137538 63:262142 --:------ 1FC9 006 0030C9121942
    
    Send:(I --- 01:087381 --:------ 01:087381 1FC9 018 0023090555550030C905555
    5001FC9055555
    )
    Binding complete for Zone 1:(04:137538):(Zone1)
    Zone_INFO:1:(04:137538):(Zone1):(0352)
    ---  I --- 04:137538 --:------ 04:137538 30C9 003 0008BB
    
    Send:(I --- 01:087381 --:------ 01:087381 30C9 003 0008BB
    )
    --- ◄Unknown header=0xFF
    Last edited by Shutty; 21st March 2017 at 10:05 AM.

  6. #56
    Automated Home Guru
    Join Date
    Feb 2016
    Posts
    191

    Default

    @shutty

    Great, thanks for giving it a try. My initial thoughts are that it looks like your RFBee isn't actually successfully sending messages yet. Do you see the message shown in the Send : (XXXX) echoed straight after or sometimes one or two messages later? I would have expected the first message after the Send row to be the same message in your example output.

    I don't think there should be any problem with your HR92s being straight out of the box, as I've completely reset mine during testing.

    Here's some example output from my setup:

    Code:
    Send:(I --- 01:087381 --:------ 01:087381 1F09 003 FF0BB8
    
    )
    Send:(I --- 01:087381 --:------ 01:087381 2309 006 00035201046A
    
    )
    Send:(I --- 01:087381 --:------ 01:087381 30C9 006 0008280107A1
    
    )
    ---  I --- 01:087381 --:------ 01:087381 1F09 003 FF0BB8
    
    
    ---  I --- 01:087381 --:------ 01:087381 2309 006 00035201046A
    
    
    ---  I --- 01:087381 --:------ 01:087381 30C9 006 0008280107A1
    Dan
    Last edited by DanD; 21st March 2017 at 10:14 AM.

  7. #57
    Automated Home Ninja
    Join Date
    Aug 2016
    Posts
    488

    Default

    Well, it's been a long time coming (for which I wholeheartedly apologise), but I'm now ready to publish version 2 of my firmware. See: https://github.com/codeaholics/evofw2

    Right now, I can only make it reliably work at 38,400 with Domoticz, so if you're planning on using it on an actual SCC board, you'll need a hacked Domoticz for it to work properly.

    Any questions, give me a shout.

    Oh, and this is heavily based on EvohomeWirelessFW by GitHub user fullTalgoRythm. I need to add full credits and acknowledgments, licensing terms (do what you like; don't sue me), etc.

  8. #58
    Automated Home Ninja
    Join Date
    Aug 2016
    Posts
    488

    Default

    Quote Originally Posted by DanD View Post
    Code:
    AA --- BB:BBBBBB CC:CCCCCC DD:DDDDDD EEEE FFF GG......
    I note with interest that the messages sent by Domoticz to the HGI80 are in a slightly different format to those sent by the HGI80 to Domoticz (at least, as generated by the firmware I based mine on, and reading the Domoticz message parsing code). Specifically, the former is missing the first field (which is useless, and contains "---"). I presume that the HGI80 is cool with this, but I've never seen one so I don't know!

  9. #59
    Automated Home Guru
    Join Date
    Feb 2016
    Posts
    191

    Default

    @dty

    Congratulations on your firmware! I'm really interested to take a look at it and see if I can use it to help fix some of the problems we're having with the original FullTalgoRythm firmware.

    If I've understood your comment correctly about the '---' bit of the messages. The first '---', which I didn't show in my message decode, is the RSSI (Received Signal Strength Indicator) and hence it's not actually part of the message at the sending end. It's just calculated by the HGI80 and printed at the start of its messages and Domoticz doesn't do anything with it.

    Dan

  10. #60
    Automated Home Ninja
    Join Date
    Aug 2016
    Posts
    488

    Default

    Quote Originally Posted by DanD View Post
    I've paused on further work on the firmware at the moment until some more hardware turns up, as I wasn't able to get to the bottom of some problems with *INCOMPLETE errors in some of the messages from HR80s. I hope to be able to do some more troubleshooting on these messages with my new toys in a few weeks.
    Could it be that the MCU can't keep up with the bit rate? Seems unlikely, but if you think about it, at 8MHz, being interrupted 38,400 times a second, you only have just over 200 clock cycles to deal with the interrupt. And if you use them all, you have none left for anything else! This is why, in my firmware, I make a concerted (and sometime contorted) effort to keep my interrupt handlers as lean as possible and offload work to the main loop via ring buffers.

    Assumptions: you're running at 8MHz, and using the FullTalgoRythm technique of being synchronously clocked.

    What MCU is on the RFBee?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •