Witam mam mały problem moj HA chyba zwariował lub ja coś zle zrobiłem…
Dodałem licznik Wi-MEF-3 F&F FOX do HA przez API wszytstko ładnie pokazuje ,ale HA nie umie dobrze odczytać zuzycia energi podaje kod oraz foto (kod pisany na szybko)
sensor:
- platform: rest
resource: http://192.168.1.100/0000/get_current_parameters
scan_interval: "00:00:02"
name: L1 Nowy
device_class: voltage
unit_of_measurement: "V"
value_template: "{{ value_json.voltage[0] | float(0) }}"
- platform: rest
resource: http://192.168.1.100/0000/get_current_parameters
scan_interval: "00:00:02"
name: L1 Ampery
device_class: current
unit_of_measurement: "A"
value_template: "{{ value_json.current[0] | float(0) }}"
- platform: rest
resource: http://192.168.1.100/0000/get_current_parameters
scan_interval: "00:00:02"
name: L1 Waty
device_class: energy
state_class: total_increasing
unit_of_measurement: "W"
value_template: "{{ value_json.power_active[0] | float(0) }}"
- platform: rest
resource: http://192.168.1.100/0000/get_current_parameters
scan_interval: "00:00:02"
name: L2 Nowy
device_class: voltage
unit_of_measurement: "V"
value_template: "{{ value_json.voltage[1] | float(0) }}"
- platform: rest
resource: http://192.168.1.100/0000/get_current_parameters
scan_interval: "00:00:02"
name: L3 Nowy
device_class: voltage
unit_of_measurement: "V"
value_template: "{{ value_json.voltage[2] | float(0) }}"
- platform: rest
resource: http://192.168.1.100/0000/get_current_parameters
scan_interval: "00:00:02"
name: L2 Waty
device_class: energy
state_class: total_increasing
unit_of_measurement: "W"
value_template: "{{ value_json.power_active[1] | float(0) }}"
- platform: rest
resource: http://192.168.1.100/0000/get_current_parameters
scan_interval: "00:00:02"
name: L3 Waty
device_class: energy
state_class: total_increasing
unit_of_measurement: "W"
value_template: "{{ value_json.power_active[2] | float(0) }}"
json_attributes:
- voltage
- current
- power_active
- power_reactive
- frequency
- power_factor
- active_energy_import
name: L2 Waty
device_class: energy
state_class: total_increasing
unit_of_measurement: "W"
Watt (W) to jednostka mocy, a nie energii
Dla Watt:
device_class: power
state_class: measurement
total_increasing
- dodaje wartość przyrostowo, czyli 10,11,12 itd nadaje się do zliczania energii.
platform: rest
resource: http://192.168.1.100/0000/get_current_parameters
scan_interval: "00:00:02"
name: L3 Waty
device_class: energy
state_class: total_increasing
unit_of_measurement: "Wh"
value_template: "{{ value_json.power_active[2] | float(0) }}"
poprawiłem niestey nie wiem co dokładnie wpisać w state_class: total_increasing
Jeśli mierzysz moc , to nie może być total_increasing
bo moc rośnie i maleje, i to jest zjawisko normalne
device_class: power
state_class: measurement
Jeśli mierzysz energię to możesz mieć total_increasing
, bo pobrana czy dostarczona energia nigdy nie maleje.
szopen:
total_increasing
Jeśli usunę total_increasing nie mogę dodać encij do zakaładki Energia
RobinI30
(RobinI30)
27 Luty 2024 19:13
6
Bo to jest MOC… dwie różne wielkości fizyczne!
Mam wrażenie, że nie czytasz porad.
Moc od energii różni się mniej więcej tak jak prędkość od przejechanego dystansu…
Jeśli mierzysz TYLKO moc, a chcesz widzieć energię, to musisz całkować moc w dziedzinie czasu by uzyskać sensor energii, no i dopiero ten wynikowy sensor dodać do Panelu Energii.
RobinI30
(RobinI30)
27 Luty 2024 19:27
10
Wpisz to w przeglądarce i załącz wynik.
`
“power_active”: [62.0, 363.1, 2594.0],
`
RobinI30
(RobinI30)
27 Luty 2024 20:33
12
Teoretycznie powinno być jeszcze
“active_energy_import”:: [xx, yy, z], które zawiera pomiar energii z którego mógłbyś bezpośrednio utworzyć encję energi dostępną w panelu energia. Całość zamieściłeś bo powinno być więcej?
Nie mogę znaleźć opisu rest (skąd wziąłeś ten przykład?)
Dodaj na próbę
- platform: rest
resource: http://192.168.1.100/0000/get_current_parameters
scan_interval: "00:00:02"
name: L1 Energy
device_class: energy
state_class: total_increasing
unit_of_measurement: "Wh"
value_template: "{{ value_json.active_energy_import[0] | float(0) }}" #to lub
#lub value_template: "{{ value_json.active_energy_import | float(0) }}"
edit,
Znalazłem dla jednofazowego
Pobranie aktualnych parametrów sieci:
/get_current_energy/
Przykładowe wartości odwrócone z urządzenia:
{
"voltage": "230",
"current": "10",
"power_active": "0",
"power_reactive": "0",
"frequency": "50",
"power_factor": "1",
"status":"ok"
}
Pobranie na zużycie energii:
/get_total_energy/
Przykładowe wartości odwrócone z urządzenia:
{
"active_energy": "100",
"reactive_energy": "100",
"active_energy_import": "19",
"reactive_energy_import": "10"
}
3 polubienia
{ "status":"ok", "active_energy_import": [12588, 104511, 76748], "active_energy_export": [0, 0, 0], "reactive_energy_import": [40, 260, 12619], "reactive_energy_export": [6300, 33934, 10851] }
niestety nie działa satn unknown zmieniłem na
- platform: rest
resource: http://192.168.1.100/0000//0000/get_total_energy
scan_interval: "00:00:02"
name: L1 Energy
device_class: energy
state_class: total_increasing
unit_of_measurement: "Wh"
value_template: "{{ value_json.active_energy_import | float(0) }}" #to lub
#lub value_template: "{{ value_json.active_energy_import | float(0) }}"
RobinI30
(RobinI30)
28 Luty 2024 05:25
15
Pomyśl i porównaj to co działa z tym co nie dziala. Wartości są jako tablica dla trzech faz infeksowana za pomocą [0][1]…
cd… wcześniej pisałem z telefonu więc na tyle było mnie stać
MadMan:
{ "status":"ok", "active_energy_import": [12588, 104511, 76748], "active_energy_export": [0, 0, 0], "reactive_energy_import": [40, 260, 12619], "reactive_energy_export": [6300, 33934, 10851] }
To co otrzymałeś to za pomocą jakiego adresu http:/… ?
Ten sam masz użyć dla resource:
Wartości odczytujesz dla poszczególnych faz
value_json.active_energy_import[0]
value_json.active_energy_import[1]
value_json.active_energy_import[2]
# a total jako suma
value_json.active_energy_import[0]+value_json.active_energy_import[1]+value_json.active_energy_import[2]
3 polubienia
Cześć,
mam taki sam licznik i połączyłem go z HA
czy da się przekonwertować jednostki odczytywanych danych?
chciałbym mieć odczyt kWh zamiast Wh
- platform: rest
resource: http://192.168.1.56/0000/get_total_energy
scan_interval: "00:00:02"
name: L3 Energy
device_class: energy
unit_of_measurement: "Wh"
value_template: "{{ value_json.active_energy_import[2] | float(0) }}"
w aplikacji jeszcze mam do wyboru “REST API”
co wybrać z kluczem czy bez? jeśli z kluczem to jak go dodać do kodu?
szopen
19 Październik 2024 13:50
17
podziel przez 1000 lub pomnóż przez 0.001
unit_of_measurement: "kWh"
value_template: "{{ value_json.active_energy_import[2] | multiply(0.001) | float(0.0) }}"
jeśli chodzi o resztę to czytaj wyżej skoro to ten sam model
1 polubienie
a jak się sumuje 3 wartości?
chciałbym widzieć sumę kWh z trzech faz
szopen
19 Październik 2024 16:59
19
Jeśli sam z siebie nie raportuje to zrób sobie dodatkową encję sumując w template
value_template: "{{ ( value_json.active_energy_import[0] + value_json.active_energy_import[1] + value_json.active_energy_import[2] ) | multiply(0.001) | float(0.0) }}"
https://jinja.palletsprojects.com/en/latest/templates/#math
1 polubienie
macek
20 Październik 2024 11:42
21
Najprościej utworzyć encję: Urządzenia i oraz uslugi → Pomocnicy → Połączenie stanu kilku sensorów.
1 polubienie