Starlink is Elon Musk’s internet of the future. It is currently in beta testing. The app for starlink has some wonderful stats that I would love to integrate directly into my HA.
https://github.com/ChuckTSI/starlink_dishy_grpc_web I also found a version that takes those grpc scripts and converts the output to json, at that point it should be fairly easy to parse into HA. But I haven’t had time to play with it yet.
I took a crack at creating this. https://github.com/archerne/hastarlink It seems to work on my HA install at the moment. If anyone else would like to try and let me know if it works for you, that would be great. Thanks!
Nice work!!! It is working. Could you please fix rounding on Ping Latency and Speeds represent in Mbps ?
Also somewhere i saw that there is availability to get the number of satellites, dish is connected to.
Speeds have been updated to Mbps, and numbers have been rounded to 2 decimal places. **This might cause your Downlink Throughput and Uplink Throughput entities to recreate, and give them new names (sensor.downlink_throughput_2), this is because the unit of measurement changed. Also remember that the throughput is just what your dish is currently using, not the max speed it can get at that point. The dish can only connect to one satellite at a time.
Every 15 minutes (probably can set this to be longer until motion on land is enabled but if you’re on a boat with the maritime plan this’ll work today, I have a High Performance dish on residential so almost the same thing)
I setup this automation in automations, “Start with an empty automation”, then hit the 3 dots and selected “Edit in YAML” saved it and restarted my Home Assistant. Now the map shows home as wherever the dish is. Next up is Auto Time-Zone but that seems to be waiting on: Ability to set timezone when location updates worst case I’ll find a way to just update the time zone each time it updates the location as another part of the automation.
alias: Set Location by Starlink
description: read Starlink GPS and set the location of home to match
trigger:
- platform: time_pattern
minutes: /15
condition: []
action:
- service: homeassistant.set_location
data_template:
latitude: |
{{ states("sensor.dish_latitude") }}
longitude: |
{{ states("sensor.dish_longitude") }}
elevation: |
{{ states("sensor.dish_altitude") }}
mode: single
Apologies for the perhaps silly question, but I can’t seem to be able to configure the integration on my Home Assistant instance. I’ve added the custom repo in HACS, downloaded the custom components from HACS, however when I try to add the integration via the Home Assistant integrations page I just get a generic “Unknown error occurred”.
Would you have any tip on how to enable verbose logging for this integration so I can better understand what is not working?
Needless to say that I can get to 192.168.100.1 just fine, and I have the Gen. 1 round dish.