Is there a way from Home Assistant that I can turn on the generator remotely?
Anyone ever tried to hook the smartgen controllers? I have a Champion 12kW gasoline generator with manual start. I want to hook a smartgen controller to be able to make it auto-start. There is a LINK port on the smatgen controller, so I wondered if anyone tried to use it in genmon?
Could we just use GenMon’s “rest” status to get the data into HA?
Eg if I use this web address:
192.168.xxx.xxx/cmd/status_json
I get back
{"Status": [{"Engine": [{"Switch State": "Auto"}, {"Engine State": "Off - Ready"}, {"Battery Voltage": "13.70 V"}, {"RPM": "0 "}, {"Frequency": "0.00 Hz"}, {"Output Voltage": "0 V"}, {"Output Current": "0.00 A"}, {"Output Power (Single Phase)": "0.00 kW"}, {"Active Rotor Poles (Calculated)": "0 "}]}, {"Line": [{"Utility Voltage": "242 V"}, {"Utility Max Voltage": "250 V"}, {"Utility Min Voltage": "216 V"}, {"Utility Threshold Voltage": "132 V"}]}, {"Last Log Entries": {"Logs": {"Alarm Log": "10/08/23 12:39:18 Charger Missing AC : Alarm Code: 0000", "Service Log": "11/07/23 10:39:46 Schedule A Serviced ", "Run Log": "18/01/24 14:50:13 Stopped - Auto "}}}, {"Time": [{"Monitor Time": "Sunday January 28, 2024 07:32:56"}, {"Generator Time": "Sunday January 28, 2024 07:32"}]}]}
I’m not sure of the correct synax in configuration.yaml however, but something like?
- platform: rest
- authentication: basic
username: "XXXX"
password: "XXXX"
scan_interval: 60
resource: http://192.168.XXX.XXX/cmd/status_json
sensor:
- name: "Engine"
json_attributes_path: "$.response.system"
value_template: "OK"
json_attributes:
- "Switch State"
- "Engine State"
etc
I originally did something like this; however, went after it a slightly different way with the rest sensor. See Need help storing URL for use in generic IP camera (over 255 chars) - #2 by lmamakos for a reference to that. That’s been more than a couple years ago; perhaps the rest sensor thing has changed somewhat since then to allow multiple sensors to be evaluated for each JSON response? I don’t know if that was a thing at the time, or I just missed it.
Yeah, Someone more knowledgable than me on YAML would need to advise on the syntax and what is possible.
I do see in my configuration.yaml file that I have multiple rest sensors being used for my solar system (enphase).
Is anyone running Genmon on a Liquid Cooled Generac? I have a 2023 model with Mitsubishi engine…trying to sort out the connections on the rear of the controller.
I’m having the entities show as unavailable constantly using the 0.6 version of the script. It works initially, and then overtime they should unavailable. Genmon seems to only be making some of the entries persistent in mosquito even though I have it set to save data.
(but they’re still available in mqtt explorer)
Anyone have any ideas as to how to get these to stay available in home assistant and not freak out?
Circling back to this topic. Has anyone experienced the Custom-Template-Card yaml posted for the gorgeous genmon card breaking home assistant add card function? On recent updates I’ve had to remove this because I’ve lost the function to use the add card gui. The Custom-Template-Card was breaking as of Core 2024.10.4.
type: custom:config-template-card
variables:
- states['sensor.genmon_version'].state
entities:
- null
card:
type: entities
show_header_toggle: "off"
style: |
.card-header {
padding: 0px 0px 0px 0px !important;
}
entities:
- type: section
label: ${ 'Generac Evolution - Pi 3 - Raspian - Genmon ' + vars[0] }
- type: custom:hui-element
card_type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: picture
style: |
ha-card {
--paper-card-background-color: 'rgba(0, 0, 0, 0.0)';
--ha-card-background: "rgba(0, 0, 0, 0.0)";
--ha-card-box-shadow: 'none';
}
image: >-
https://genstarservice.com/wp-content/uploads/2024/01/generac-generator-transparent.png
- type: vertical-stack
cards:
- type: custom:button-card
layout: icon_name_state2nd
show_icon: true
show_state: true
styles:
grid:
- grid-template-columns: 50px auto
icon:
- padding: 0px 0px
- height: 20px
- width: 30px
card:
- "--ha-card-background": rgba(0, 0, 0, 0.0)
- "--ha-card-box-shadow": none
state:
- padding: 0px 10px
- justify-self: start
- font-family: Roboto, sans-serif
- font-size: 15px
name:
- padding: 0px 10px
- font-size: 15px
- justify-self: start
- color: var(--secondary-text-color)
entity: sensor.genmon_mon_uptime
name: Uptime
icon: mdi:clock-outline
- type: horizontal-stack
cards:
- type: custom:button-card
layout: icon_name_state2nd
show_icon: true
show_state: true
styles:
grid:
- grid-template-columns: 25px auto
icon:
- padding: 0px 0px
- height: 30px
- width: 30px
card:
- "--ha-card-background": rgba(0, 0, 0, 0.0)
- "--ha-card-box-shadow": none
state:
- padding: 0px 10px
- justify-self: start
- font-family: Roboto, sans-serif
- font-size: 15px
name:
- padding: 0px 10px
- justify-self: start
- color: var(--secondary-text-color)
entity: sensor.genmon_mon_cpu_temperature_raw
name: Temp
icon: mdi:thermometer
- type: custom:button-card
layout: icon_name_state2nd
show_icon: true
show_state: true
styles:
grid:
- grid-template-columns: 25px auto
icon:
- padding: 0px 0px
- height: 30px
- width: 30px
card:
- "--ha-card-background": rgba(0, 0, 0, 0.0)
- "--ha-card-box-shadow": none
state:
- padding: 0px 10px
- justify-self: start
- font-family: Roboto, sans-serif
- font-size: 15px
name:
- padding: 0px 10px
- justify-self: start
- color: var(--secondary-text-color)
- font-size: 13px
entity: sensor.genmon_mon_load
name: Pi CPU
icon: mdi:cpu-64-bit
- type: horizontal-stack
cards:
- type: custom:button-card
layout: icon_name_state2nd
show_icon: true
show_state: true
styles:
grid:
- grid-template-columns: 25px auto
icon:
- padding: 0px 0px
- height: 30px
- width: 30px
card:
- "--ha-card-background": rgba(0, 0, 0, 0.0)
- "--ha-card-box-shadow": none
state:
- padding: 0px 10px
- justify-self: start
- font-family: Roboto, sans-serif
- font-size: 15px
name:
- padding: 0px 10px
- justify-self: start
- color: var(--secondary-text-color)
- font-size: 13px
entity: sensor.genmon_wlan_signal_level
name: WiFi
icon: mdi:gauge
- type: custom:button-card
layout: icon_name_state2nd
show_icon: true
show_state: true
styles:
grid:
- grid-template-columns: 25px auto
icon:
- padding: 0px 0px
- height: 30px
- width: 30px
card:
- "--ha-card-background": rgba(0, 0, 0, 0.0)
- "--ha-card-box-shadow": none
state:
- padding: 0px 10px
- justify-self: start
- font-family: Roboto, sans-serif
- font-size: 15px
name:
- padding: 0px 10px
- justify-self: start
- color: var(--secondary-text-color)
entity: sensor.genmon_generator_battery_raw
name: Battery
icon: mdi:battery
- type: horizontal-stack
cards:
- type: custom:canvas-gauge-card
card_height: 100
entity: sensor.genmon_outage_utility_voltage
name: ""
gauge:
type: radial-gauge
title: Pepco
width: 100
height: 100
minValue: 0
maxValue: 280
startAngle: 40
ticksAngle: 280
valueBox: true
units: Vac
majorTicks:
- 0
- 28
- 56
- 84
- 112
- 140
- 168
- 196
- 224
- 252
- 280
minorTicks: 10
strokeTicks: true
highlights:
- from: 0
to: 218
color: rgba(234, 51, 36, .75)
- from: 218
to: 228
color: rgba(255, 255, 85, .75)
- from: 228
to: 252
color: rgba(104, 225, 67, .75)
- from: 252
to: 262
color: rgba(255, 255, 85, .75)
- from: 262
to: 280
color: rgba(234, 51, 36, .75)
borders: "no"
needleType: arrow
needleWidth: 4
needleCircleSize: 7
needleCircleOuter: true
needleCircleInner: false
animationDuration: 1500
animationRule: linear
valueBoxBorderRadius: 10
colorValueBoxRect: "#222"
colorValueBoxRectEnd: "#333"
valueDec: 0
valueInt: 0
- type: custom:canvas-gauge-card
card_height: 100
entity: sensor.genmon_generator_frequency
name: ""
gauge:
type: radial-gauge
title: Generator
width: 100
height: 100
minValue: 0
maxValue: 70
startAngle: 40
ticksAngle: 280
valueBox: true
units: Hz
majorTicks:
- 0
- 10
- 20
- 30
- 40
- 50
- 60
- 70
minorTicks: 10
strokeTicks: true
highlights:
- from: 0
to: 57
color: rgba(234, 51, 36, .75)
- from: 57
to: 58.5
color: rgba(255, 255, 85, .75)
- from: 58.5
to: 61.5
color: rgba(104, 225, 67, .75)
- from: 61.5
to: 63
color: rgba(255, 255, 85, .75)
- from: 63
to: 70
color: rgba(234, 51, 36, .75)
borders: "no"
needleType: arrow
needleWidth: 4
needleCircleSize: 7
needleCircleOuter: true
needleCircleInner: false
animationDuration: 1500
animationRule: linear
valueBoxBorderRadius: 10
colorValueBoxRect: "#222"
colorValueBoxRectEnd: "#333"
valueDec: 0
valueInt: 0
- type: custom:canvas-gauge-card
card_height: 100
entity: sensor.genmon_generator_output_voltage
name: ""
gauge:
type: radial-gauge
title: Generator
width: 100
height: 100
minValue: 0
maxValue: 280
startAngle: 40
ticksAngle: 280
valueBox: true
units: Vac
majorTicks:
- 0
- 28
- 56
- 84
- 112
- 140
- 168
- 196
- 224
- 252
- 280
minorTicks: 10
strokeTicks: true
highlights:
- from: 0
to: 218
color: rgba(234, 51, 36, .75)
- from: 218
to: 228
color: rgba(255, 255, 85, .75)
- from: 228
to: 252
color: rgba(104, 225, 67, .75)
- from: 252
to: 262
color: rgba(255, 255, 85, .75)
- from: 262
to: 280
color: rgba(234, 51, 36, .75)
borders: "no"
needleType: arrow
needleWidth: 4
needleCircleSize: 7
needleCircleOuter: true
needleCircleInner: false
animationDuration: 1500
animationRule: linear
valueBoxBorderRadius: 10
colorValueBoxRect: "#222"
colorValueBoxRectEnd: "#333"
valueDec: 0
valueInt: 0
- type: horizontal-stack
cards:
- type: custom:canvas-gauge-card
card_height: 100
entity: sensor.genmon_generator_output_power
name: ""
gauge:
type: radial-gauge
title: Generator
width: 100
height: 100
minValue: 0
maxValue: 23000
startAngle: 40
ticksAngle: 280
valueBox: true
units: kW
majorTicks:
- 0
- 3
- 6
- 9
- 12
- 15
- 18
- 20
- 23
minorTicks: 10
strokeTicks: true
highlights:
- from: 0
to: 15000
color: rgba(104, 225, 67, .75)
- from: 15000
to: 18500
color: rgba(255, 255, 85, .75)
- from: 18500
to: 23000
color: rgba(234, 51, 36, .75)
borders: "no"
needleType: arrow
needleWidth: 4
needleCircleSize: 7
needleCircleOuter: true
needleCircleInner: false
animationDuration: 1500
animationRule: linear
valueBoxBorderRadius: 10
colorValueBoxRect: "#222"
colorValueBoxRectEnd: "#333"
valueDec: 0
valueInt: 0
- type: custom:canvas-gauge-card
card_height: 100
entity: sensor.genmon_generator_rpm
name: ""
gauge:
type: radial-gauge
title: Generator
width: 100
height: 100
minValue: 0
maxValue: 4000
startAngle: 40
ticksAngle: 280
valueBox: true
units: RPM
majorTicks:
- 0
- ""
- ""
- ""
- ""
- 2000
- ""
- ""
- ""
- 3600
- 4000
minorTicks: 3
strokeTicks: true
highlights:
- from: 0
to: 3500
color: rgba(234, 51, 36, .75)
- from: 3500
to: 3550
color: rgba(255, 255, 85, .75)
- from: 3550
to: 3650
color: rgba(104, 225, 67, .75)
- from: 3650
to: 3750
color: rgba(255, 255, 85, .75)
- from: 3750
to: 4000
color: rgba(234, 51, 36, .75)
borders: "no"
needleType: arrow
needleWidth: 4
needleCircleSize: 7
needleCircleOuter: true
needleCircleInner: false
animationDuration: 1500
animationRule: linear
valueBoxBorderRadius: 10
colorValueBoxRect: "#222"
colorValueBoxRectEnd: "#333"
valueDec: 0
valueInt: 0
- type: custom:canvas-gauge-card
card_height: 100
entity: sensor.genmon_generator_battery_raw
name: ""
gauge:
type: radial-gauge
title: Generator
width: 100
height: 100
minValue: 0
maxValue: 16
startAngle: 40
ticksAngle: 280
valueBox: true
units: Volts
majorTicks:
- 1
- 2
- 3
- 4
- 5
- 8
- 10
- 11
- 13
- 14.2
- 16
minorTicks: 5
strokeTicks: true
highlights:
- from: 0
to: 11.6
color: rgba(234, 51, 36, .75)
- from: 11.6
to: 12.6
color: rgba(255, 255, 85, .75)
- from: 12.6
to: 14.5
color: rgba(104, 225, 67, .75)
- from: 14.5
to: 14.9
color: rgba(255, 255, 85, .75)
- from: 15
to: 16
color: rgba(234, 51, 36, .75)
borders: "no"
needleType: arrow
needleWidth: 4
needleCircleSize: 7
needleCircleOuter: true
needleCircleInner: false
animationDuration: 1500
animationRule: linear
valueBoxBorderRadius: 10
colorValueBoxRect: "#222"
colorValueBoxRectEnd: "#333"
valueDec: 0
valueInt: 0
- type: entities
entities:
- entity: sensor.genmon_generator_exercise_time
name: Exercise
icon: mdi:clock
- entity: sensor.genmon_generator_last_action
name: Last Action
icon: mdi:clipboard-edit-outline
- entity: sensor.genmon_generator_last_alarm_log
name: Last Alarm
icon: mdi:alarm-bell
- entity: sensor.genmon_outage_status
name: Last Outage
icon: mdi:power-plug-off
style: |
ha-card {
--paper-card-background-color: 'rgba(0, 0, 0, 0.0)';
--ha-card-background: "rgba(0, 0, 0, 0.0)";
--paper-item-icon-color: 'var(--text-primary-color)';
--ha-card-box-shadow: 'none';
}
type or paste code here
Which looked like this:
BUT it has resulted in being unable to add cards like this:
Browser console logs confirmed the Config-Template-Card was breaking HA.
Been looking through this thread and found some questions about using the REST API in Genmon. This is working in my system connected to Genmon on a Generac Guardian 22kw with Evolution 1 controller. I’ve attempted to keep the same unique_id variables from the original scripts so hopefully it doesn’t create new entities in your system.
Simply copy this into your configuration.yaml and restart Home Assistant to create the entities.
Note: I have not tested this while the generator is running so there may be some bugs. I’ll wait for that day to happen to troubleshoot
Installation Instructions:
- Add the contents to your configuration.yaml (place at the root node, do not place it under home_assistant:.
- For each URL, change the check time to your liking. By default it is set at 5 seconds but may need to be increased or shortened depending on your controller, HA horsepower, Genmon server, etc.
- Change the URL to match your Genmon server. If you have altered the default port, you may need to change that, too.
- Save and restart Home Assistant (do not do a quick reload, you must fully restart Home Assistant to create the entities).
rest:
- scan_interval: 5
resource: http://your.genmon.server:8000/cmd/status_json
sensor:
- name: "Engine State"
unique_id: "63f6e276-be1d-44ad-8a8a-fe4af30bcff8"
value_template: "{{ value_json.Status[0].Engine[1]['Engine State'] }}"
icon: mdi:engine
- name: "Switch State"
unique_id: "83fd4b02-1b5b-4f0c-8a90-fc7cd102a190"
value_template: "{{ value_json.Status[0].Engine[0]['Switch State'] }}"
icon: mdi:electric-switch
- name: "Battery Voltage"
unique_id: "713eb4b9-feec-4425-8c83-84a9f486aae7"
value_template: "{{ value_json.Status[0].Engine[2]['Battery Voltage'] | regex_replace(' V','') }}"
icon: mdi:car-battery
device_class: voltage
unit_of_measurement: "V"
- name: "Engine RPM"
unique_id: "f3a8aedd-206b-4e5f-baa9-677496ee8d3c"
value_template: "{{ value_json.Status[0].Engine[3]['RPM'] }}"
icon: mdi:gauge
unit_of_measurement: "RPM"
- name: "Output Frequency"
unique_id: "cbdc9c28-5748-4aef-91bc-5b5ec95ed545"
value_template: "{{ value_json.Status[0].Engine[4]['Frequency'] | regex_replace(' Hz','') }}"
device_class: frequency
unit_of_measurement: "Hz"
- name: "Output Voltage"
unique_id: "f5f462db-e16d-4596-9bd3-232b70fa5038"
value_template: "{{ value_json.Status[0].Engine[5]['Output Voltage'] | regex_replace(' V','') }}"
device_class: voltage
unit_of_measurement: "VAC"
- name: "Output Current"
unique_id: "10e1def6-35fd-4922-932a-90f25abb7f29"
value_template: "{{ value_json.Status[0].Engine[6]['Output Current'] | regex_replace(' A','') }}"
device_class: current
unit_of_measurement: "A"
icon: mdi:sine-wave
- name: "Output Current L1"
unique_id: "a5035e8c-c22b-40d3-8bda-82623a5fc485"
value_template: "{{ value_json.Status[0].Engine[7]['Current L1'] | regex_replace(' A','') }}"
device_class: current
unit_of_measurement: "A"
icon: mdi:sine-wave
- name: "Output Current L2"
unique_id: "a6ab1d65-db44-4b42-b9d8-c64af47fe63b"
value_template: "{{ value_json.Status[0].Engine[8]['Current L2'] | regex_replace(' A','') }}"
device_class: current
unit_of_measurement: "A"
icon: mdi:sine-wave
- name: "Output Power (Single Phase)"
unique_id: "914a4e97-54a0-41e7-bbeb-a256134e5e35"
value_template: "{{ value_json.Status[0].Engine[9]['Output Power (Single Phase)'] | regex_replace(' kW','') }}"
device_class: power
unit_of_measurement: "W"
- name: "Active Rotor Poles (Calculated)"
unique_id: "18fb63ce-d3dd-4a7e-ab9b-7d55e66b5f36"
value_template: "{{ value_json.Status[0].Engine[10]['Active Rotor Poles (Calculated)'] }}"
icon: mdi:magnet
- name: "Utility Voltage"
unique_id: "f565fed6-8a19-49d4-8066-4015c5ca91b1"
value_template: "{{ value_json.Status[1].Line[0]['Utility Voltage'] | regex_replace(' V','') }}"
device_class: voltage
unit_of_measurement: "VAC"
- name: "Utility Max Voltage"
unique_id: "84d4759d-8965-48f2-aab3-8dc5b32335ac"
value_template: "{{ value_json.Status[1].Line[1]['Utility Max Voltage'] | regex_replace(' V','') }}"
device_class: voltage
unit_of_measurement: "VAC"
- name: "Utility Min Voltage"
unique_id: "0e64fc49-559b-4b12-843e-de85e8413233"
value_template: "{{ value_json.Status[1].Line[2]['Utility Min Voltage'] | regex_replace(' V','') }}"
device_class: voltage
unit_of_measurement: "VAC"
- name: "Utility Threshold Voltage"
unique_id: "39fe7155-525e-4f1f-aee8-81faca345897"
value_template: "{{ value_json.Status[1].Line[3]['Utility Threshold Voltage'] | regex_replace(' V','') }}"
device_class: voltage
unit_of_measurement: "VAC"
- name: "Last Alarm Log"
unique_id: "8cb64471-9123-48f6-b9be-15c01595981e"
value_template: "{{ value_json.Status[2]['Last Log Entries'].Logs['Alarm Log'] }}"
- name: "Last Service Log"
unique_id: "bce3182a-a525-47dc-937c-8be4e5afc619"
value_template: "{{ value_json.Status[2]['Last Log Entries'].Logs['Service Log'] }}"
icon: mdi:history
- name: "Last Run Log"
unique_id: "faa2f487-fc30-4e9c-8733-5b27270b3e17"
value_template: "{{ value_json.Status[2]['Last Log Entries'].Logs['Run Log'] }}"
icon: mdi:history
- scan_interval: 5
resource: http://your.genmon.server:8000/cmd/outage_json
sensor:
- name: "Last Outage"
unique_id: "77f9d298-79ec-493a-b224-4b510769031f"
value_template: "{{ value_json.Outage[0].Status }}"
icon: mdi:history
- name: "System In Outage"
unique_id: "c052e174-f0a2-4bf0-8351-10cf43099023"
value_template: "{{ value_json.Outage[1]['System In Outage'] }}"
icon: mdi:exclamation-thick
- name: "Startup Delay"
unique_id: "5d9d09b8-6914-4ceb-b5b9-c3726ab06e10"
value_template: "{{ value_json.Outage[6]['Startup Delay'] | regex_replace(' s','') }}"
unit_of_measurement: "seconds"
icon: mdi:timer
- name: "Last Outage Log"
unique_id: "072b8848-ed04-45ea-9467-02753c69b3d6"
value_template: "{{ value_json.Outage[7]['Outage Log'][0] }}"
icon: mdi:history
- scan_interval: 5
resource: http://your.genmon.server:8000/cmd/maint_json
sensor:
- name: "Model"
unique_id: "33c5f79c-d77a-4dcd-b266-3cf369ced48e"
value_template: "{{ value_json.Maintenance[0].Model }}"
icon: mdi:alphabetical-variant
- name: "Serial Number"
unique_id: "c110fe7c-a727-4e40-b993-7b7188da51d3"
value_template: "{{ value_json.Maintenance[1]['Generator Serial Number'] }}"
icon: mdi:numeric
- name: "Controller"
unique_id: "48cb29a2-b307-42a4-9df9-2cb932f6121b"
value_template: "{{ value_json.Maintenance[2]['Controller Detected'] }}"
icon: mdi:chip
- name: "Nominal RPM"
unique_id: "6c300f58-1d61-48cc-92c9-5fa961f32204"
value_template: "{{ value_json.Maintenance[3]['Nominal RPM'] }}"
unit_of_measurement: "RPM"
icon: mdi:gauge
- name: "Rated kW"
unique_id: "bf7cbe92-2b1e-48ca-addd-df963697626c"
value_template: "{{ value_json.Maintenance[4]['Rated kW'] | regex_replace(' *[Kk]W','') }} "
device_class: power
unit_of_measurement: "kW"
- name: "Nominal Frequency"
unique_id: "ea8cdbb9-f319-41a4-b432-7deba1e82461"
value_template: "{{ value_json.Maintenance[5]['Nominal Frequency'] | regex_replace(' Hz','') }}"
device_class: frequency
unit_of_measurement: "Hz"
- name: "Fuel Type"
unique_id: "a3d35e8b-e1c3-4f18-91b1-ee79b3a326fb"
value_template: "{{ value_json.Maintenance[6]['Fuel Type'] }}"
icon: mdi:gas-station
- name: "Generator Phase Count"
unique_id: "f2858cac-13ba-4708-9580-0b1b40126bcd"
value_template: "{{ value_json.Maintenance[7]['Generator Phase'] }}"
icon: mdi:flash
- name: "Engine Displacement"
unique_id: "ab47fb87-007e-489e-93e4-0f2605859cf0"
value_template: "{{ value_json.Maintenance[8]['Engine Displacement'] | regex_replace(' cc','') }}"
unit_of_measurement: "cc"
icon: mdi:engine
- name: "kW Hours Generated (30 days)"
unique_id: "9738185a-f27a-453e-9453-946888a24d0c"
value_template: "{{ value_json.Maintenance[9]['kW Hours in last 30 days'] | regex_replace(' *[Kk]W[Hh]','') }}"
unit_of_measurement: 'kWh'
icon: mdi:flash
- name: "Fuel Used (30 days)"
unique_id: "65b53337-f347-4266-82da-31fc27965978"
value_template: "{{ value_json.Maintenance[10]['Fuel Consumption in last 30 days'] | regex_replace(' cubic feet','') }}"
unit_of_measurement: "cubic feet"
icon: mdi:gas-station
- name: "Total Fuel Used"
unique_id: "8be75305-1874-4fdf-bd17-539bf1d579ee"
value_template: "{{ value_json.Maintenance[11]['Total Power Log Fuel Consumption'] | regex_replace(' cubic feet','') }}"
unit_of_measurement: "cubic feet"
icon: mdi:gas-station
- name: "Run Hours (30 days)"
unique_id: "c03930bd-1678-4f22-9822-0748a9151f73"
value_template: "{{ value_json.Maintenance[12]['Run Hours in last 30 days'] | regex_replace(' [Hh]','') }}"
device_class: duration
unit_of_measurement: 'hours'
- name: "Run Hours (1 year)"
unique_id: "04285a48-1a96-4ace-86c2-a356c9b888c7"
value_template: "{{ value_json.Maintenance[13]['Run Hours in the last year'] | regex_replace(' [Hh]','') }}"
device_class: duration
unit_of_measurement: "hours"
- name: "Exercise Time"
unique_id: "4388bb25-f17d-428f-87f7-f963eef026b2"
value_template: "{{ value_json.Maintenance[15].Exercise[0]['Exercise Time'] }}"
icon: mdi:run
- name: "Service A Due"
unique_id: "8f9caada-2e90-4cb9-9571-597a27b97a9e"
value_template: "{{ value_json.Maintenance[16].Service[0]['Service A Due'] }}"
icon: mdi:calendar-alert
- name: "Service B Due"
unique_id: "6ec00786-1eaf-4a58-b97a-57052cc0641c"
value_template: "{{ value_json.Maintenance[16].Service[1]['Service B Due'] }}"
icon: mdi:calendar-alert
- name: "Battery Check Due"
unique_id: "7f37ec3c-e1c5-4e10-ba9d-f8f15d27a019"
value_template: "{{ value_json.Maintenance[16].Service[2]['Battery Check Due'] }}"
icon: mdi:calendar-alert
- name: "Total Run Hours"
unique_id: "41c981db-5979-4ee6-b9fb-d1ca44f83b3f"
value_template: "{{ value_json.Maintenance[16].Service[3]['Total Run Hours'] | regex_replace(' [Hh]','') }}"
device_class: duration
unit_of_measurement: "hours"
- name: "Hardware Version"
unique_id: "927b24b7-772d-434a-8fa1-4f1c5549c90d"
value_template: "{{ value_json.Maintenance[16].Service[4]['Hardware Version'] }}"
icon: mdi:numeric
- name: "Firmware Version"
unique_id: "4cf182de-c37b-48c9-8727-75e1f5053d0d"
value_template: "{{ value_json.Maintenance[16].Service[5]['Firmware Version'] }}"
icon: mdi:numeric
Feel free to modify this to fit your needs. If there is an option you don’t want, simply remove it from the config and restart.