Skip to content

Commit

Permalink
Truncated entity state length to 255 chars, fixes #19
Browse files Browse the repository at this point in the history
  • Loading branch information
Kaptensanders committed Feb 21, 2025
1 parent 34d29fb commit 413daa1
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 3 deletions.
12 changes: 11 additions & 1 deletion .devcontainer/ha_config/sensors.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,14 @@

- platform: skolmat
name: sodexo.mashie.com - Västra skolan
url: "https://sodexo.mashie.com/public/menu/Akademikrogen%20skolor/d47bc6bf"
url: "https://sodexo.mashie.com/public/menu/Akademikrogen%20skolor/d47bc6bf"


- platform: skolmat
name: skolmaten.se - Stadsskogen skola
url: "https://skolmaten.se/menu/18b53bff-437d-4bb8-a6a4-2380a039557d?school=82c5bb98-79c3-4ba0-a1e2-73b55944c9c5"





2 changes: 1 addition & 1 deletion custom_components/skolmat/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@
"iot_class": "cloud_polling",
"issue_tracker": "https://github.com/Kaptensanders/skolmat/issues",
"requirements": ["feedparser>=6.0.0", "beautifulsoup4>=4.12.2", "python-dateutil>=2.8.2"],
"version": "1.5.3"
"version": "1.5.4"
}
16 changes: 15 additions & 1 deletion custom_components/skolmat/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,21 @@ async def async_update(self):
if not self.menu.menuToday:
self._state = "Ingen mat"
else:
self._state = "\n".join(self.menu.menuToday)

# state can only be 255 chars, if longer, truncate each item equally
state = ("\n".join(self.menu.menuToday))
if len(state) > 255:
maxCourseLength = (255 // len(self.menu.menuToday)) - 5 # ...\n
courses = []
for i in range(len(self.menu.menuToday)):
if len(self.menu.menuToday[i]) >= maxCourseLength:
courses.append(self.menu.menuToday[i][:maxCourseLength] + "...")
else:
courses.append(self.menu.menuToday[i])

state = "\n".join(courses)

self._state = state

self._state_attributes = {
"calendar": self.menu.menu,
Expand Down

0 comments on commit 413daa1

Please sign in to comment.