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)
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…
Summary In this video, we explore the integration of smart home air quality sensors to enhance the safety, comfort, and overall well-being of living environments. We look into various types of sensors, including CO2, particulate matter (PM2.5 and PM10), and VOC sensors, explaining their importance and demonstrating how they can be monitored and controlled using…
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…
Table of Contents ►Description Want to take your Home Assistant to the next level? In this tutorial, I’ll walk you through setting up HACS 2.0 (Home Assistant Community Store)—the best way to install custom integrations, themes, and frontend plugins for your smart home. HACS 2.0 brings a new UI, faster downloads, and seamless updates, making…
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….
On this week’s (late) video we take a look at how to control your home assistant with an Elgato Stream Deck. You can use this cool device for a ton of things, why not control your house? We take a look at what else you can do with a Stream Deck (other than control a…