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)
Today’s video is part 2 of our look at retrieving data from an API and displaying it in Home Assistant. We look at how to pull information from the YouTube API and display the latest video from any YouTube channel. We show you how to install a custom Lovelace card that lets you use Home…
((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…
https://youtu.be/QNiEH77bKO0 Code for Node-Red This little block of code is used in Node-Red as a part of Home Assistant. It works by sending a timestamp every minute which is compared to input datetime we created earlier. If those two match, then it fires the command to turn on the light to green. Code for YAML…
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…
Table of Contents Summary In this video, we introduce and review the Enbrighten permanent holiday lights. We explain why August is the perfect time to install holiday lights, highlighting the convenience of getting them up before the cold weather sets in. We cover the features of the Enbrighten lights, including RGB and white LEDs, support…
Video EMBED Post Severe weather can strike at any time, and having your smart home warn you the moment an alert is issued can make all the difference. With the updated NWS Alerts integration for Home Assistant, you can get real-time notifications, trigger automations, and display alerts directly on your dashboards. In this guide, I’ll…