import lacrosse
#Get the latest temperature value from a device named 'temperature'
# First setup your La Crosse View app
email = '{{EMAIL}}'
password = '{{PASSWORD}}'
print("Logging in...")
token = lacrosse.lacrosse_login(email, password)
print("Getting locations...")
locations = lacrosse.lacrosse_get_locations(token)
print("Getting devices...")
devices = lacrosse.lacrosse_get_devices(token, locations)
print(devices)
# for device in devices:
# if device['device_name'] == 'temperature':
# weather_data = lacrosse.lacrosse_get_weather_data(token, device)
# print("Current temperature is: {} {}".format(weather_data['Temperature']['values'][-1]['s'], weather_data['Temperature']['unit']))
Full Code
import lacrosse
import time
import os
import sys
import re
from paho.mqtt import client as mqtt_client
##Log in Information for Lacrosse
email = '{{YOUR EMAIL}}'
password = '{{YOUR PASSWORD}}'
##Configure MQTT Client
broker="{{MQTT BROKER}}"
port=1883
mqtt_user = "{{MQTT USER}}"
mqtt_pass = "{{MQTT PASSWORD}}"
client_id = "WeatherStation"
topic = "homeassistant/sensor"
sub = "lacrosse"
def connect_mqtt():
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("Connected to MQTT Broker!")
else:
print("Failed to connect, return code %d\n", rc)
# Set Connecting Client ID
client = mqtt_client.Client(client_id)
client.username_pw_set(mqtt_user, mqtt_pass)
client.on_connect = on_connect
client.connect(broker, port)
return client
# Get the latest temperature value from a device named 'temperature'
# First setup your La Crosse View app
def publish(client,name,finaluom,data):
time.sleep(1)
topicpart = name.replace(" ","_")
fulltopic = topic + "/lacrosse_" + topicpart
statetopic = fulltopic + "/state"
data = float(data)
#print(fulltopic)
#Initialize
config = fulltopic + "/" + "config"
##convert UOM to Match Home Assistant
if finaluom == "degrees_fahrenheit":
finaluom = "°F"
if finaluom == "relative_humidity":
finaluom = "%"
if finaluom == "degrees_celsius":
data = (data * 9/5) + 32
finaluom = "°F"
if finaluom == "kilometers_per_hour":
data = (data * .621371)
finaluom = "mph"
configdata = '{"name": "' + name + '","state_topic": "' + statetopic + '", "unit_of_measurement": "' + finaluom + '", "value_template": "{{value_json}}"}'
result = client.publish(config, configdata)
result = client.publish(statetopic, data)
# result: [0, 1]
status = result[0]
#if status == 0:
#print(f"Send `{data}` to topic `{statetopic}`")
#else:
#print(f"Failed to send message to topic {topic}")
#print("Logging in...")
token = lacrosse.lacrosse_login(email, password)
#print("Getting locations...")
locations = lacrosse.lacrosse_get_locations(token)
#print("Getting devices...")
devices = lacrosse.lacrosse_get_devices(token, locations)
#print(devices)
client = connect_mqtt()
for device in devices:
StationDevices = device['sensor_field_names']
weather_data = lacrosse.lacrosse_get_weather_data(token, device)
#print(weather_data)
for sensors in StationDevices:
if device['sensor_type_name'] == 'Weather Station Display':
temp = "Display" + str(locals()['sensors'])
if device['sensor_type_name'] == 'LTV-WSDTH04':
temp = "Station" + str(locals()['sensors'])
if device['sensor_type_name'] == 'Rain 2.0 Sensor':
temp = str(locals()['sensors'])
value = weather_data[locals()['sensors']]['values'][-1]['s']
value = float(value)
uom = weather_data[locals()['sensors']]['unit']
#exec("%s = %d" % (temp,value))
label = re.sub(r'((?<=[a-z])[A-Z]|(?<!\A)[A-Z](?=[a-z]))', r' \1', temp)
publish(client,label,uom,value)
Here is the code mentioned in the video for the last step: Today’s video is a part 2 to last week’s review video on the Roborock S5 MAX. This method should work for ALL Roborock vacuums (possibly even the Xaiomi ones). Please leave feedback if this worked for your model of vacuum. We look at…
((YOUTUBE VIDEO)) Here is an example automation you can use for your Home Assistant instance. You can adjust the time pattern to what ever refresh value you want. Just make sure you have included each of your Z-wave devices that do no refresh. Now make sure that you only include line powered devices, batter devices…
Video Forget just checking stats — this integration lets you command your Tesla. Start the climate, unlock the doors, change the charging rate — all without ever opening the Tesla app. With the new official Tesla Fleet integration in Home Assistant, you can now control core vehicle functions directly from your dashboard, phone, or smartwatch….
Video Is your smart home split across ecosystems? MatterBridge turns your existing Home Assistant entities into native‑looking Matter devices so you can control Zigbee, Z‑Wave, Wi‑Fi, and MQTT devices from Apple Home, Google Home, or SmartThings. This guide walks you through setup plus copy‑paste configs you can use immediately. What MatterBridge Does Requirements 1) Install…
Favorite HACS Components In my video, I mentioned that I have a number of favorite HACS integrations and Lovelace UI elements. All of these elements are available in the HACS store. NWS Alerts https://github.com/finity69x2/nws_alerts I mentioned this in my Severe Weather alerts video. This is the central component that pulls down alerts from the National…
References / Resources Home Asisstant Supervised on RPi 4 – https://community.home-assistant.io/t/install-supervised-supervisor-on-raspberry-pi4-with-docker-installation/291186/4 Home Assistant Supervised GitHub – https://github.com/home-assistant/supervised-installer#supported-machine-types Kiosk Browser for Ubuntu: https://obrienlabs.net/setup-kiosk-ubuntu-chromium/ Up to date installer: https://peyanski.com/how-to-install-home-assistant-supervised-official-way/#Home_Assistant_Supervised_method Install Home Assistant with Docker So first we need to make sure our system is up to date sudo apt-get update && sudo apt-get upgrade Then we need…