Hello from a HomeSeer HS4 Refugee

Looks like a great add-on. Would you consider making this available as a docker image or including it as a HACS integration for those HA users like me that don’t run supervised HA and cannot use an add-on? Thanks

How does the concept of GlobalVariables work in HA? I have a script (below) that speaks when my doors are opened. It grabs the state of the opened door and stores it in a GlobalVariable to be used in speaking. How is this done in Home Assistant?

Sub Main(parms As Object)
	
	Dim zonerefs() As Integer = {124,125,126,127,128}
	Const DeviceNamePrefix As String = "Security EnvisaLink"
		
	For each zoneref As Integer in zonerefs
	If ((hs.devicevalue(zoneref) = "1") and (hs.DeviceTime(zoneref) < "1")) then
		hs.CreateVar("zoneopened") 
		hs.SaveVar("zoneopened",hs.devicename(zoneref).Replace(DeviceNamePrefix, String.Empty))
		hs.Speak("The $$GLOBALVAR:zoneopened: was just opened")
	End if
	Next
	 
End Sub

Hello fellow HS refugees!
Completely transitioned from HS after using it for years and investing $$$. HS4 and the lack of activity on the forums from Rich and other long time users had me worried. HA is mostly dialed in and have ZWave, BlueIris, Ubiquiti Wifi presence, Oregon Scientific sensors using an SDR (moved away from the flakey RFXCOM), NUT, mysensors Arduino devices, etc. up and running.

Anyway, one thing stumped me for the longest time and thought it might be good to share with other refugees. There was a very basic feature of Zwave on HS… on last level… but how do you do this in an automation? Initially I was using activity type “Device” as the action, but by using type “Service Call” with service “Light: Turn on”. This effectively performs the same action as “On last level” from HS.

Searched the forums and couldn’t find a solution, hopefully it helps someone.

Global variables don’t exist yet in HA. But there are a few alternatives. You could use the built in Input Text integration or the hass-variables custom component. Here are a few threads for discussion. Thread1 Thread2 Thread3. You can also use MQTT topics to store “variables”. This is what I use since I’m using MQTT extensively.

I’ve also used MQTT topics and that works well. And Node-RED has global variables you can set and query, if you want to go that route.

As mentioned, Home Assistant doesn’t currently support the concept of global variables. However, what you want to achieve doesn’t require a global variable in Home Assistant.

For example, you can create a Template Sensor that dynamically reports the names of entities that are on (i.e. open). Here’s one I use to report open doors. It also has an attribute called qty that reports the quantity of open doors.

sensors:
- platform: template
  sensors:
    doors_open:
      friendly_name: 'Open Doors'
      value_template: >
        {{ expand('group.doors_all')
        | selectattr('state', 'eq', 'on')
        | map(attribute='name')
        | list | join(', ') }}
      attribute_templates:
        qty: >-
          {{ expand('group.doors_all')
          | selectattr('state', 'eq', 'on')
          | list | count }}

It references group.doors_all which contains other groups (group.doors_interior, group.doors_exterior).

The resulting sensor.doors_open can be used in scripts and automations to report open doors. Here’s a simple automation that periodically reports any doors left open in the evening:

- alias: 'Scheduled Door Monitor'
  id: scheduled_door_monitor
  description: 'Report open doors in the evening'
  variables:
    qty: "{{ state_attr('sensor.doors_open', 'qty') }}"
  trigger:
  - platform: time
    at:
    - '20:55:00'
    - '21:55:00'
    - '22:55:00'
  condition: "{{ qty > 0 }}"
  action:
    - service: rest_command.speak
      data:
        audio_clip: 1
        content: >
          {% set plural = 's' if qty > 1 else '' %}
          {% set prep = 'are' if qty > 1 else 'is' %}
          Attention, there {{prep}} {{qty}} door{{plural}} left open,  
          {{' and '.join(states('sensor.doors_open').rsplit(', ', 1))}} door{{plural}},  
          {{prep}} open.
        content_type: 'text'
        volume: 80

The template is designed to produce a grammatically correct phrase because it’s intended for TTS. There’s an added touch that includes the word “and” in the appropriate place when there are two or more entities (for more information, see this post: Apples, oranges, and bananas). The template will produce phrases like this :

Attention, there are 3 doors left open, Front, Rear, and Garage doors are open.

Attention, there is 1 door left open, Rear door is open.

2 Likes

Just stumbled on this thread searching for HA and kubernetes support; very similiar story to others. I started using HS since HS1 around 2001 to automate some original X11 lighting for some pets, then upgraded through HS4 over the years and spent loads of money on upgrades and plugins. However last year transitioned everything entirely over to HA and have been very happy. The absolutely rock solid integration with Google Assistant and their devices has been wonderful.

While automations took a bit of getting used to after HS and their Events were pretty simple, I’ve realized how much more powerful they are. I think I see a few familiar faces in here as well since I was a member of the HS forum since 2002 under a different username. I used to write plugs for HS2 back in the day, and been tempted to get my feet wet again with some integrations :slight_smile:

Welcome to HA and this thread. I started using HA on Docker but transitioned last year to Kubernetes , specifically k3s with Rancher and Longhorn. See this thread for the details. It’s been rock solid. I still have most of my ZWave network on HS3 and use the HomeSeer Custom Integration for HA. I hear good things about the ZWaveJS integraton but will wait for it to mature a little bit more before moving from HS3.

1 Like

Thanks! I’ve got HA running on a Dell all-in-on miniPC and runs great, but have a 12 node kubernetes setup I’ve been toying with moving it too. However it’s an arm64 cluster, so a bit limited on some of the helm charts I wanted to use and have to go a different route with deployments. I wish I had seen k3os before I installed Ubuntu on all my nodes over the last 6 months. I am on the fence about moving HA over to k8s as have been spoiled by Supervisor. I am definitely going to have to check out your thread on this, thank you :slight_smile:

I moved everything entirely over, and retired my old HS Z-NET devices last year. While some things for me over the years have been solid (like Insteon and Zigbee), Zwave for me with about a dozen nodes has always been hit or miss even with HS, and a single HA and Z-Wave JS with a USB Zwave stick replacing the two Z-Net devices I had been running with similar if not the same performance.

I was initially a bit worried as started around the 0.1xx days, and things broke every release. However while it still occasionally happens (like Insteon broke with 2021.7.0), the community here being so much larger meant there were manual fixes within a few days, and 2021.7.3 pushed the fix this am. With HS I’d get frustrated as while (overall) upgrades went well, if something broke, it could be months, if ever before things were fixed. The lack of focus on security was also a battle that happened for YEARS. I was pleasantly surprised when firing up HA that no only was adding certs simple (with several options), native 2fa was built in without having to beg for it. After the 2021.7.0 upgrade I missed the breaking change about whitelisting proxy referrers, and this tripped me up a bit, but yet again another example of HA looking how to make things more secure which I suspect will never be on the HS radar. Now to get some U2F Fido support :smiley:

Lastly as I mentioned in my previous post, the Google Assistant integration (well Nabu Casa cloud) was the final nail in the coffin for me. I had nothing but problems with HS3 and HS4 with “I cannot talk to Homeseer right now”, to the point it became a joke with my family. No end of forums posts for help and such and other people going “Me too!” and every couple weeks “See if this fixes it”. I can count on one hand in the last year+ with HA how many times I heard that with HA, it’s $5 a mos for me is totally worth it.

I honestly loved them and filled the automation niche for me for years, but the shear quantity of integrations, it’s all open source (so no more fears of what if HS folds, or a developer passes away which has happened in HS), and the lack greed of the 3rd party developers here for major upgrades is really really nice. Ok, done bashing HS for now.

A post from Rich, the owner of HST:

https://forums.homeseer.com/forum/homeseer-products-services/system-software-controllers/hs4-hs4pro-software/1485154-an-update-from-the-owner-of-homeseer

Yeah, read it yesterday. Sad story :’(
Damn, that concordseer guy is really an ass, even ‘hijacking’ that thread.

1 Like

Yeah, he tried to go after me a while back for starting this thread. I just put people like that on ignore.

2 Likes

In HS3/HS4 I used a plugin called weatherXML which tied into NOAA and gave me the option to speak the ‘Detailed Forecast’ for the day. I see HA has NWS which is tied to the same service, but I don’t see an option to grab a detailed forecast.

Essentially, I would like to have these forecast spoken on a daily basis. Thoughts?

https://forecast.weather.gov/MapClick.php?lat=26.1223&lon=-80.1434#.YP32HujYqHs

For anyone looking for this, it’s actually stored in the NWS attribute under detailed_description.

Template example:
{{state_attr('weather.kfxe_daynight','forecast')[0].detailed_description}}

Does anyone know of a Speaker Client alternative other than Music Player Daemon? Trying to get TTS working on my Windows PC as I’m not liking the fact I cannot disable the Playback Sounds on my Google Home/Mini like I can on my Chromecast Audio. Super annoying!

Hi,
I’m also a HS4 user that is now setting up (a parallel) HA system.
The ONE thing that I loved in HomeSeer are the device view with the location1/2 filters. These make it so easy to get instant access to devices based on room/type etc.

That I have not found in HomeAssistant (yet?).

What do I mean with that? A page where I see all my devices with an easy way to filter by 2 fields that I have defined. In HS they are called location1/2. You can rename them to things like “Floor / Type”.

Is there anything similar in HA?

PS. we should make Jon00 migrate to HA :slight_smile:

1 Like

The default Devices, Entities and Areas pages should give you enough options to search, view and sort devices and entities any way you want. Moreover, you can build any custom view in the Dashboard to group and view any entity in any way you want.
In the default HS3, you had one device view with a couple of sorting / filtering options. In HS4 there were additional options. In HA, the choices are endless.

My HA devices page allows me to SORT on: Device, Manufacturer, Model, Area, Integration, Battery
No filtering options except for “Show disabled devices”

In homeseer lists all devices with below each device a list of entities.
Example:

And for each entity and device you see:

  • name
  • area
  • custom field (“location2”)
  • value / state
  • date/time last change <— VERY valuable

On top of the page you can filter for “area” and the other custom field that I use to separate devices in specific categories. Examples:

  • doorsensors
  • energy
  • temperature sensors
  • battery
  • charts
  • remote
  • lights

Is it possible to create a page that provides this type of info?

Here are a few simple temperature cards from my dashboard:


Clicking on the temp shows a history graph
image

Hovering over the graph gives you the time interval of the graph:
image

I have to agree with Dirk (@duittenb) on his assessment. I too run HS4 and HA in parallel and, for me, it’s much easier to find what I’m looking for in HS4 using the Devices location/location2 sorts and categories then it is to scroll through almost 700 entities on the default overview page. I know I can make as many custom pages as I wish, I just don’t think I should have to do that just to make HA usable.

1 Like