Git Product home page Git Product logo

halandroid's People

Contributors

3v1n0 avatar barma-lej avatar cslush avatar erestes avatar gijalo avatar johnson145 avatar mincka avatar pixeldoc2000 avatar rosscullen avatar waazdakka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

halandroid's Issues

do not get values...

Hi,
thanks for this plugin!

I have installed as described (renamed even my mover) so that have now the 3 sensors like "sensor.landroid_mover_status" etc.
Can see in status sensor the changing attributes - so all seems to be fine.

Adding your card - I see only "Unbekannt" , "0,0 km" etc.

If I check the properties in card I see as sample "sensor.mower_distance" for the value - but as far as I understand this is should be an attribute, right?
What I made wrong? what is missing?
grafik

Thank you for your help!

What about getting it working using its mqqt?

Have you thought about getting it working using its mqqt? I've seen an successful integration of a recuperating system with the use of mqqt. That would avoid the cloud dependency.

Sensor causes warning

The definition of your template sensors create a warning in the logs since the last home assistant update:

Entity sensor.landroid_rasi_battery (<class 'custom_components.landroid_cloud.sensor.LandroidSensor'>) implements device_state_attributes. Please report it to the custom component author.

Honestly I don't fully understand it, adding attributes to a template sensor is still allowed according to the documentation.

Maybe you would want to look into that, could stop working at some point.

Issue with mower name

First device added after first installation of HomeAssistant. That has been a tough time!

I first couldn't get any information from sensor and I finally realized that your hardcoded the name you have to your mower, m500 (maybe the default one?) into each and any sensor name in both landroid.yaml and add_to_lovelace.yaml

Thus, if one has a mower called 'mymower', he should replace all 'sensor.landroid_m500' by 'sensor.landroid_mymower'.
I guest your package could be improved and that name retrieved by http and not hardcoded.

!secret landroid_ip

In the YAML is the IP defined as

value_template: !secret landroid_ip

Is this intended? Since for this we'd had to define it in the Secrets-File?

Update Landroid Cloud to Version 2.0.1

Hi,

after the Landroid Cloud Update to Version 2.0.1 there are the following Problems:

  • Entity not available: sensor.landroid_mover_status
  • Entity not available: sensor.landroid_mover_error
  • Entity not available: sensor.landroid_mover_battery
    Mover1
    Mover2

Automation errors

Hello

I installed this package a few days ago - just after I upgraded to HA 2021.11.

All works well - great work. Only issue is that I get the following error on the card when displaying the automations:

image

I have used the landroid.yaml and landroid_en.yaml from github.

When I try to run either of the two "missing" automations from the automations dashboard in HA I have errors returned in my log, such as:

Error while executing automation automation.mower_status_notificaion: Error rendering data template: UndefinedError: 'dict object' has no attribute 'from_state'
15:38:19 – (ERROR) Automation
Mower status notification: Error executing script. Error for call_service at pos 1: Error rendering data template: UndefinedError: 'dict object' has no attribute 'from_state'
15:38:19 – (ERROR) Automation
Template variable error: 'dict object' has no attribute 'from_state' when rendering '{{ trigger.from_state.state }} -> {{ trigger.to_state.state }} - {{ states('sensor.date_time') }}'
15:38:19 – (ERROR) helpers/template.py - message first occurred at 15:38:18 and shows up 2 times
Error while executing automation automation.mower_error_notificaion: Error rendering data template: UndefinedError: 'dict object' has no attribute 'from_state'
15:38:18 – (ERROR) Automation
Mower error notification: Error executing script. Error for call_service at pos 1: Error rendering data template: UndefinedError: 'dict object' has no attribute 'from_state'
15:38:18 – (ERROR) Automation

This is the section of my landroid.yaml which defines the two automations:

# Automations #######################################################
automation:
  - id: mower_notify_status
    alias: Mower status notificaion
    initial_state: false
    trigger:
      - platform: state
        entity_id: sensor.landroid_mower_status

    condition:
      - condition: template
        value_template: "{{ trigger.to_state.state != trigger.from_state.state }}"

    action:
      - service: persistent_notification.create
        data:
          title: 🏎️ Lanroid M500
          message: "{{ trigger.from_state.state }} -> {{ trigger.to_state.state }} - {{ states('sensor.date_time') }}"

  - id: mower_notify_error
    alias: Mower error notificaion
    initial_state: true
    trigger:
      - platform: state
        entity_id: sensor.landroid_mower_error

    condition:
      - condition: template
        value_template: "{{ trigger.to_state.state != trigger.from_state.state }}"

    action:
      - service: persistent_notification.create
        data:
          title: 🏎️ Lanroid M500
          message: "{{ trigger.from_state.state }} -> {{ trigger.to_state.state }} - {{ states('sensor.date_time') }}"

(as an aside - there is a typo in the alias of both automations - "notificaion" instead of of "notification")

Am I doing something wrong?

Missing Informations - Some Unknowns

Hi,

any ideas why i have so much unknown infos (Unbekannt)?
Also under "Mähen" on the Top left, i just have [object object]

Last update was 01.01.1970?

image

But i can see the pitch in the vacuum.mower
image

And as you can see, the battery also is available on the card...

Feature Request: Deactivate "Not mowing when raining" in continuous rain

Hi,
this is only a feature request and maybe also interesting for this package. :-)

Problem:
If you have a mowing time from 9 to 12 every day and you have the hole week raining weather. The mower runs the hole week not.

Maybe you can define days variable (example 3) for deactivating the "not mowing with rain". And activate this option again for example after 2 days normaly mowing.

I hope i explained the use case understandable.

Dependency of sensor.date_time

Hello,
Thank you for this great package.
I discovered through the error notification that there is a requirement of Time & Date integration with date_time otherwise the user will get a "- unknown" at the end of the message for mower_notify_status and mower_notify_error automations.

The sensor is referenced here:
https://github.com/Barma-lej/halandroid/blob/master/packages/landroid.yaml#L491
and here:
https://github.com/Barma-lej/halandroid/blob/master/packages/landroid.yaml#L491

I am not sure if that's really mandatory to have it here in the first place since the notification has already a time.
I leave it up to you if you prefer to remove the dependency or add the "Time & Date" integration as a requirement in the README.md.

Landroid bladetime not reseting

Hi
I went to reset my blade time stats in Landroid app thinking it would sync to my instance of your code. Sadly it does not. Worked up 6h on new blades and the old blade time still shows. Tried manually changing to 0 and it synced back to the wrong bladetime.

Am I doing it wrong?
SmartSelect_20210822-200437_Home Assistant
Screenshot_20210822-200504_Landroid

Do not get all the sensors

Hi!

Have followed your manual (all steps) but i do not get all the sensors when i created lovelace card.
Edited the landroid.yaml (eng) and switched names for "sensor.landroid_mower_battery", "sensor.landroid_mower_error", "sensor.landroid_mower_status" and replaced mower with my name in the app. I also edited the card and replaced every name there also. But in the lovelacecard i only get "status", "battery". for an example sensor.landroid_wifi only gets an !, the same for sensor.landroid_dist... When i click on the card i have all status inclusive distance. What have i missed. Thank you for very good work!

Installation KO

Hello,

When I add:
packages: !include_dir_named packages

I have this error (check config):
Package landroid setup failed. Component script cannot be merged. Dict expected in main config.

What is wrong ?
Thanks

Images not displaying

My apologies, as im the only one I'm sure it's not a bug, but, I can't get the images to display in my lovelace card so everything is crunched up.
I've tried everything from using the full path name to using relative names. The images all seem to have the right permissions (read for everything) and the directories are rwx
The images below show the issue and that it is managing to pull the data without problem.

Has anyone got any ideas?

image
image

Mower_zone does not match input options

I get the error when setting [input_select.mower_zone]
Invalid option: 7 (possible options: 0, 1, 2, 3)

This relates to the fact that Landroid is reporting mowing in zone 7 (it shows 1 in the app).
Not sure where this difference is coming from, maybe because I added and removed zones at some point.

Copy of my German to English translation

Hi @Barma-lej
Once again, great job on Halandroid! Below is my translation from German to English for anyone that may be looking for it.

Simply find and replace the words (using something like Notepad++) in your landroid.yaml file (packages folder) and in your "add_to_lovelace.yaml" file (or your Home Assistant Lovelace Raw Configuration file, if you have already the code added to Lovelace).

German English
Akku Status Battery Status
Akkuladung Battery
Akkuspannung Battery Voltage
Akkustatus Battery Status
Akkutemperatur Battery Temperature
Aktualisiert seit Last Update
Arbeitszeit Total Time
Batteryen Battery Charge Cycles
Benachrichtigung Notification
Entlädt Discharging
Fehler Error
Ges. Distanz Total Distance
Gesamte Arbeitszeit Total Time (hours)
Gesamte Distanz Total Distance
Gieren/Рысканье Yaw
Information Information
IP-Adresse IP Address
Klingenarbeitszeit Blade Time
Lädt Charging
MAC-Adresse MAC Address
Mähen Mow
Mähen beenden Stop Mowing
Mähen pausieren Pause Mowing
Mäheroboter Robotic lawnmower
Mähplan Schedule
Nicken/Тангаж Pitch
Regenverzögerung Rain Delay
Rollen/Крен Roll
Seriennummer Serial Number
Stop & Nach Hause fahren Stop & Drive Home
WLAN Qualität WIFI Quality
Zeiterhöhung Time Increase

PS: take care when finding and replacing the word "Mähen" as it exists a few time as part of 2 words.

input_number.mower_timeextension - missspelled in helper definition

Hi,
Just installed the new integration version for Landroid - noticed a typo in configuration of one of the config parameters.

In helpers the entity is setup as:
input_number.mower_timeextension
but in the card it is referenced as:
input_number.mower_time_extension

Correcting the helper name fixes the issue.

Regards,

Translatations in landroid.yaml not used?

Hi again
I translated the word in the configure section at the end of landroid.yaml, but all the occurrences which are hard-coded in add_to_lovelace.yaml are not replaced. Is that a bug?

Landroid.yaml German time format instead of English

{{ "%0d Tg. %0.02d Std. %0.02d Min." | format(t // 1440, ((t % 1440) // 60), t % 60) }}

{{ "%0d Tg. %0.02d Std. %0.02d Min." | format(t // 1440, ((t % 1440) // 60), t % 60) }}

{{ "%0d Tg. %0.02d Std. %0.02d Min." | format(t // 1440, ((t % 1440) // 60), t % 60) }}

It is really just cosmetic change, and I am not sure how this could be resolved differently, but an English version of the Tg., Std., should be implemented like:

{{ "%0d D. %0.02d H. %0.02d Min." | format(t // 1440, ((t % 1440) // 60), t % 60) }}

Not all entities available with M500 Plus

Hi,
I current try to add the halandroid to my HA installation. And with my Worx Landroid M500 Plus I did't get alle entities. Only these few
image

image

I hope I configured all correct. landroid_cloud is also added and configure like in the documention. Firmware is 3.24.

When I try to start the mover I get this error:
image

Or is the M500 plus not supported at the moment?

Not all entities available

Hi there,

I have followed all the installation instructions and in the end i got into this stage with missing components. I can however start, stop, send home and can see the battery charging, etc. But missing the dashboard entities:

Screenshot 2021-06-23 at 15 32 49

Have not much an idea on how i could fix this, as i have no errors in the log file and all configuration files are looking good as per instructions.

Here is the system info:

Screenshot 2021-06-23 at 15 38 51

Any help would be much appreciated

Mismatching icon size

Yo!

Great card, is there a fix or suggestion to fix this icon size mismatch? Looks ugly 😛
IconSize

Invalid config for [template] with my landroid

Hi everybody,

I need you ... I'm having an issue when I restart HA.

I have this issue reported in logs :

Invalid config for [template]: expected dictionary for dictionary value @ data['sensors']. Got [OrderedDict([('name', 'Landroid IP'), ('unique_id', 'landroid_ip'), ('state', None), ('icon', 'mdi:ip-network')]), OrderedDict([('name', 'Landroid SN'), ('unique_id', 'landroid_sn'), ('state', '201930198601008203B0'), ('icon', 'mdi:numeric')]), OrderedDict([('name', 'Landroid MAC'), ('unique_id', 'landroid_mac'), ('state', '98:D8:63:46:1C:36'), ('icon', 'mdi:barcode')]), OrderedDict([('name', 'Landroid Bladetime'), ('unique_id', 'landroid_bladetime'), ('state', "{{ state_attr('sensor.landroi.... (See /config/packages/landroid.yaml, line 66).

With this issue, i cannot see any blade time, id, s/n, tilt, pan and many other informations. But I can see batery level, landroid version, state (idle, mowing, ...) and errors.

I precise that I've the original landroid.yaml file. I haven't change anything in this file.
Landroid repo installed with HACS, on HA core-2021.10.6 on a Docker container on my DS918+ Synology NAS running Python 3.9.7

Do someone have an idea ?

Sorry for the poor english i'm using cause I'm French =)

missing zones for L1000

I have connected - all looks fine, but zones for L1000 are not visible.

Maybe the syntax was changed?
this is from DeskApp:
grafik
this from HA:
grafik

And - I did't found the time planer - where it is located?
This is also a new one (if I remember right) - here I can define two time windows for every day:
(again from DeskApp):
grafik

THANKS!

Mower error sensor

First of all, thank you for the work done on the update.
how can i get the mower error sensor back, i used it as a trigger with the house alarm.
a thousand thanks

Landroid Integration 2.1

After updating - nothing works :(

image

Logger: homeassistant.loader
Source: custom_components/landroid_cloud/init.py:10
Integration: Landroid Cloud (documentation, issues)
First occurred: 12:18:04 (1 occurrences)
Last logged: 12:18:04

Unexpected exception importing component custom_components.landroid_cloud
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 599, in get_component
cache[self.domain] = importlib.import_module(self.pkg_path)
File "/usr/local/lib/python3.9/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 680, in _load_unlocked
File "", line 850, in exec_module
File "", line 228, in _call_with_frames_removed
File "/config/custom_components/landroid_cloud/init.py", line 10, in
from pyworxcloud import WorxCloud, exceptions
File "/usr/local/lib/python3.9/site-packages/pyworxcloud/init.py", line 24, in
from .utils import (
File "/usr/local/lib/python3.9/site-packages/pyworxcloud/utils/init.py", line 7, in
from .location import Location
File "/usr/local/lib/python3.9/site-packages/pyworxcloud/utils/location.py", line 6, in
class Location(LDict):
File "/usr/local/lib/python3.9/site-packages/pyworxcloud/utils/location.py", line 9, in Location
def init(self, latitude: float | None = None, longitude: float | None = None):
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'

Logger: homeassistant.loader
Source: custom_components/landroid_cloud/init.py:10
Integration: Landroid Cloud (documentation, issues)
First occurred: 12:18:04 (1 occurrences)
Last logged: 12:18:04

Unexpected exception importing component custom_components.landroid_cloud
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 599, in get_component
cache[self.domain] = importlib.import_module(self.pkg_path)
File "/usr/local/lib/python3.9/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1030, in _gcd_import
File "", line 1007, in _find_and_load
File "", line 986, in _find_and_load_unlocked
File "", line 680, in _load_unlocked
File "", line 850, in exec_module
File "", line 228, in _call_with_frames_removed
File "/config/custom_components/landroid_cloud/init.py", line 10, in
from pyworxcloud import WorxCloud, exceptions
File "/usr/local/lib/python3.9/site-packages/pyworxcloud/init.py", line 24, in
from .utils import (
File "/usr/local/lib/python3.9/site-packages/pyworxcloud/utils/init.py", line 7, in
from .location import Location
File "/usr/local/lib/python3.9/site-packages/pyworxcloud/utils/location.py", line 6, in
class Location(LDict):
File "/usr/local/lib/python3.9/site-packages/pyworxcloud/utils/location.py", line 9, in Location
def init(self, latitude: float | None = None, longitude: float | None = None):
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'

Error in landroid.yaml

Can I ask, please, for solution of this error? I made every step of installation and after checking of configuration I got this error. "Error loading /config/configuration.yaml: mapping values are not allowed here in "/config/packages/landroid.yaml", line 25, column 67"
Thank you.

script error set multizone

Hello Barma-lej

at first thanks for your great work!
Every think is working fine without setup from my multizone
If I select a zone number, then I get this script error: script/mower_setzone
can only concatenate str(not "int") to str...

  • service: landroid_cloud.setzone
    data:
    id: "{{ state_attr('sensor.landroid_mower_status','id') }}"
    zone: "{{ states('input_select.mower_zone') | int(0) }}"
    What I have understand here, it must be a str, but I'm to stupid to change it...

Can you or any other person here help me?

I use Home Assistant 2022.4.0

Originally posted by @infohannes in #39 (comment)

Many entities missing

I have followed the install instructions a number of times without success. Any pointers on this issue?
image

small improvements

  • you have "landroid_mac" listed twice in both exclude lists
  • battery level still contains 2 German strings, so not everything is English by default. (Lädt && Entlädt)
  • typo: "Lanroid" should be "Landroid" I presume

Landroid Cloud integration

Hi,
I try to add Landroid Cloud integration
I have this error : "Can't load integration flow: undefined"
Log information is :
...
2022-10-21 18:14:16 INFO (SyncWorker_6) [homeassistant.util.package] Attempting install of pyworxcloud==2.1.23
2022-10-21 18:14:21 ERROR (SyncWorker_6) [homeassistant.util.package] Unable to install package pyworxcloud==2.1.23: ERROR: Cannot install pyworxcloud because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
...

My system is:
Version | core-2022.5.5
Type d'installation | Unknown
Développement | false
Supervisor | false
Docker | false
Utilisateur | pi
Environnement virtuel | false
Version de Python | 3.9.2
Famille du système d'exploitation | Linux
Version du système d'exploitation | 5.15.32-v7l+

An idea ?
Thanks

Landroid sensors disappeared since upgrade to HA 0.115

Maybe it's just me but my sensors have disappeared since upgrading to Home Assistant 0.115 (and 0.115.1) Nothing coming up in the regular logs (haven't tried to debug it).

Anyone else having similar issue(s) since upgrading HA this week or maybe its an issue on my side? Thanks!

Can´t get this to work

Hi
Thanks a lot for all your work. I followed your install instructions manualy and via HACS but get always the same errors. Since there are now errors up to the point form MTrab I post this here

Most errors say
int() argument must be a string, a bytes-like object or a number, not 'NoneType'

[548149954208] Error handling message: Unknown error
18:22:07 – (FEHLER) Home Assistant WebSocket API (benutzerdefinierte Integration)
websocket_api script: Error executing script. Unexpected error for call_service at pos 1: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
18:22:07 – (FEHLER) Worx Landroid Cloud (benutzerdefinierte Integration)
Mower set rain delay and time extension: Error executing script. Unexpected error for call_service at pos 1: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
18:22:07 – (FEHLER) Skript (benutzerdefinierte Integration)

Can you give me a hint?
Really appreceated.
Thanks Chris

NoneType error when trying to control mower

On Home Assistant 2022.4.4 (fresh install) - I was/am getting this error when trying to setup this integration for the first time:

  File "/config/custom_components/landroid_cloud/__init__.py", line 216, in handle_start
    ID = int(call.data["id"])
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

All of the images/etc and statuses are correct otherwise.

I have a solution that got me past this error that I am not sure is correct - I will create a pull request shortly.

cutting zone

I wanted to know if it was possible to know in which area it is cutting, the status only tells me that it is in mowing, while in the app it tells me in which area it is cutting

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.