Moin Zusammen,
ich bräuchte nochmal euer Schwarmwissen … ich bin glaube ich zu blöd …
Ich möchte mein OVMS (Überwachungsmodul für ein Elektrofahrzeug) in HA integrieren. Auf diversen Seiten findet man dazu einige Beschreibungen, welche wohl auch erfolgreich laufen.
Ich habe den unten stehenden Code (Passwörter und Usernamen sind natürlich gesetzt) und in die Config geschrieben. Der Neustart funktioniert tadellos.
Nur ich sehe die Sensoren nicht als Entitäten. Was mache ich falsch oder fehlt noch etwas ?
Danke euch schon mal vorab !
LG Tom
sensor:
- platform: command_line
scan_interval: 60
name: car_charging
command: |-
username='xxxxx'; password='xxxxx'; vehicleid='xxxxx'; ip='https://ovms.dexters-web.de:6869';\
c=$(curl -X GET -sc - "$ip/api/cookie?username=$username&password=$password" -o /dev/null);\
echo "${c}" | curl -X GET -sb - "$ip/api/status/$vehicleid"
value_template: "{{ value_json.chargestate }}"
json_attributes:
- soc
- soh
- vehicle12v_current
- chargepower
- chargekwh
- temperature_cabin
- temperature_battery
- charging
- charge_estimate
- chargeduration
- estimatedrange
- chargetype
- speed
- odometer
sensor:
- platform: command_line
scan_interval: 60
name: charge_info
command: |-
username='xxxxx'; password='xxxx'; vehicleid='xxxxx'; ip='https://ovms.dexters-web.de:6869';\
c=$(curl -X GET -sc - "$ip/api/cookie?username=$username&password=$password" -o /dev/null);\
echo "${c}" | curl -X GET -sb - "$ip/api/charge/$vehicleid"
value_template: "{{ value_json.chargepower }}"
json_attributes:
- linevoltage
- battvoltage
- chargecurrent
- chargepower
- chargetype
- chargestate
- soc
- units
- idealrange
- estimatedrange
- mode
- chargelimit
- chargeduration
- chargeb4
- chargekwh
- chargesubstate
- chargetimermode
- chargestarttime
- chargetimerstale
- cac100
- soh
- charge_etr_full
- charge_etr_limit
- charge_limit_range
- charge_limit_soc
- cooldown_active
- cooldown_tbattery
- cooldown_timelimit
- charge_estimate
- charge_etr_range
- charge_etr_soc
- idealrange_max
- cp_dooropen
- pilotpresent
- charging
- caron
- temperature_pem
- temperature_motor
- temperature_battery
- temperature_charger
- temperature_ambient
- temperature_cabin
- carawake
- staletemps
- staleambient
- charging_12v
- vehicle12v
- vehicle12v_ref
- vehicle12v_current
by HarryP: Codezeilen formatiert (bitte immer über </> einbinden)
Moin Zusammen,
mit etwas recherieren und Unterstützung von Dexter habe ich es geschafft, das OVMS in HA einzubinden. Ich hatte zunächst Sonderzeichen im Passwort, deswegen wurden mir die Sensoren nicht angezeigt. Es gibt wohl die Möglichkeit, dass irgenwie noch umzuwandeln, aber das hatte ich nicht hin bekommen. Aber so läuft es erst mal…
Damit bin schon glücklich.
Hier der Programmcode:
#OVMS <Fahrzeugname>
command_line :
- sensor:
scan_interval: 60
name: car_charging-<Fahrzeugname>
unique_id: "car_charging_<Fahrzeugname>"
command: |-
username='XXXXXXXX'; password='XXXXXXXX'; vehicleid='XXXXXXXX'; ip='https://ovms.dexters-web.de:6869';\
c=$(curl -X GET -sc - "$ip/api/cookie?username=$username&password=$password" -o /dev/null);\
echo "${c}" | curl -X GET -sb - "$ip/api/status/$vehicleid"
value_template: "{{ value_json.chargestate }}"
json_attributes:
- soc
- soh
- vehicle12v_current
- chargepower
- chargekwh
- temperature_cabin
- temperature_battery
- charging
- charge_estimate
- chargeduration
- estimatedrange
- chargetype
- speed
- odometer
- sensor:
scan_interval: 60
name: charge_info_<Fahrzeugname>
unique_id: "charge_info_<Fahrzeugname>"
command: |-
username='XXXXXXXX'; password='XXXXXXXX'; vehicleid='XXXXXXXX'; ip='https://ovms.dexters-web.de:6869';\
c=$(curl -X GET -sc - "$ip/api/cookie?username=$username&password=$password" -o /dev/null);\
echo "${c}" | curl -X GET -sb - "$ip/api/charge/$vehicleid"
value_template: "{{ value_json.chargepower }}"
json_attributes:
- linevoltage
- battvoltage
- chargecurrent
- chargepower
- chargetype
- chargestate
- soc
- units
- idealrange
- estimatedrange
- mode
- chargelimit
- chargeduration
- chargeb4
- chargekwh
- chargesubstate
- chargetimermode
- chargestarttime
- chargetimerstale
- cac100
- soh
- charge_etr_full
- charge_etr_limit
- charge_limit_range
- charge_limit_soc
- cooldown_active
- cooldown_tbattery
- cooldown_timelimit
- charge_estimate
- charge_etr_range
- charge_etr_soc
- idealrange_max
- cp_dooropen
- pilotpresent
- charging
- caron
- temperature_pem
- temperature_motor
- temperature_battery
- temperature_charger
- temperature_ambient
- temperature_cabin
- carawake
- staletemps
- staleambient
- charging_12v
- vehicle12v
- vehicle12v_ref
- vehicle12v_current
- sensor:
scan_interval: 60
name: car_location-<Fahrzeugname>
unique_id: "car_location_<Fahrzeugname>"
command: |-
username='XXXXXXXX'; password='XXXXXXXX'; vehicleid='XXXXXXXX'; ip='https://ovms.dexters-web.de:6869';\
c=$(curl -X GET -sc - "$ip/api/cookie?username=$username&password=$password" -o /dev/null);\
echo "${c}" | curl -X GET -sb - "$ip/api/location/$vehicleid"
value_template: "{{ value_json.location }}"
json_attributes:
- altitude
- direction
- drivemode
- energyrecd
- energyused
- gpslock
- invefficiency
- invpower
- latitude
- longitude
- power
- speed
- stalegps
- tripmeter
LG Tom
Kann mir jemand sagen, wie ich die Attribute formartiert bekomme (evtl im Yaml Code) ?
z.B. muss Odometer nicht “581486” km sein, sondern “58148,6” km
und bei der Termperature battery würde ich gerne nur eine Stelle nach dem Komma haben.
Danke schon mal vorab !
LG Tom
by HarryP: Zusammenführung Doppelpost (bitte „bearbeiten“ Funktion nutzen)
…hat denn niemand einen Tipp für mich ?
LG Tom
Hi
also eine möglichkeit sind Templates
# https://www.home-assistant.io/integrations/template
template:
- sensor:
- name: "Twizy Batterie Health"
unit_of_measurement: "%"
# https://developers.home-assistant.io/docs/core/entity/sensor/#available-state-classes
state_class: measurement
# https://www.home-assistant.io/integrations/sensor#device-class
device_class: battery
state: >
{{ state_attr('sensor.charge_info_twizy','soh') }}
- sensor:
- name: "Twizy Kilometerstand"
unit_of_measurement: "km"
state_class: measurement
device_class: distance
state: >
{{ state_attr('sensor.car_charging_twizy','odometer') |int /10 }}
Das kann das So aussehn