Integração Solax

a porta LAN ta disponivel, o cabo preto vai ligar ao BMS

Muito bem, agora só tens de ligar um cabo de rede entre o teu router/switch de rede e essa porta LAN

E ja funciona via LAN!
Obrigado pelas orientações @fmmsfz!
mas depois de tudo isto parece que voltei ao problema inicial, depois de tudo devidamente ligado e configurado, o energy monitor continua a retornar 0 de todos os sensores que la coloquei (seja solar, seja bateria IN e OUT).

novo update, parece que já funciona tudo!
ontem nao tinha quaisquer dados porque o inverter estava em sleep mode (devido à hora e obvia ausencia de sol), agora é perceber se realmente os valores e o fluxo está a funcionar corretamente mas para isso é preciso deixar a coisa correr mais uns dias

mais uma vez, um gigante obrigado ao @fmmsfz, true MVP!

Boa! Fico contente que tenhas posto isso a bombar!

O SDM320 deve funcionar por RS485. A ligação ao HA é simples com um adaptador e um ESP8266.

Fiz a ligação direta rj45 entre o inverter (porta LAN) e o router, até ao momento a funcionar 5* com tudo a ser reportado em tempo real.
Dado a distancia é mais facil e pratico assim apesar de ter estado a investigar precisamente o que sugere, o “problema” é que o SDM320 está na outra ponta da casa no quadro geral logo deixou de ser uma opção e passou a ser uma alternativa caso algo corra menos bem pela porta LAN.

1 Curtiu

A distancia não é problema, o ESP pode ficar dentro do QE pois envia os dados via wifi.

Boas,
fico feliz que esteja a funcionar :smiley:

ja agora que baterias usas no solax ? custom ( DIY ) ou proprietárias ?

A bateria que tenho, 5.8 kWh da Triple power/Solax

bateria1

Já está disponível a integração SolaX por modbus via HACS.
Funciona por porta de rede, não pelos pockets que como se sabe só se forem marteados, e por RS485 RTU.

homeassistant-solax-modbus

Eu tenho tido o inversor Solax a funcionar usado o cabo de rede e modbus.
Tenho na pasta Packages um ficheiro .yaml corespondente ao Solax em questao, tenho tambem no ficheiro configuration.yaml a referencia 'a pasta packages.

Tudo funcionava bem ate fazer update para o OS 9.0,
O que mudou, ha uma nova forma de integrar a pasta packages e seus conteudos?
Obrigado

Nada mudou na integração dos packages, o problema será outro.

Eu tenho um Solax Hybrid X1 integrado pela cloud e local, sem ser preciso modbus, com a pen wifi deles.
Fiz da seguinte maneira:
Ficheiros/integrações necessários:

  • config.yaml (normal)
  • sensors.yaml (para manter o config mais limpo)
  • templates.yaml (para manter o config mais limpo)
  • secrets.yaml
  • powercalc.yaml
  • integração powercalc
  • ip da pen wifi (aparece no router como expressif)

1- Em primeiro lugar, instalar a integração Powercalc através do HACS
powercalc

2- Escrever as seguintes linhas no config.yaml:

sensor: !include sensors.yaml
template: !include templates.yaml

sensor powercalc_label: !include powercalc.yaml

### Commands for controlling the Solax Local inverter
rest_command:
  solax_local_charge_battery_from_grid:
    url: !secret solax_local_ip
    method: post
    payload: !secret solax_local_set_battery_level_payload

3- Ecrever em secrets.yaml:

solax_cloud_api: https://www.solaxcloud.com/proxyApp/proxy/api/getRealtimeInfo.do?tokenId=TOKEN OBTIDO NA PÁGINA DA SOLAX&sn=REFERÊNCIA DA PEN WIFI

solax_local_ip: http://IP DO EXPRESSIF/ # IP of solax module

solax_local_ip2: IP DO EXPRESSIF/?optType=ReadRealTimeData

solax_local_realtime_payload: "optType=ReadRealTimeData&pwd=REFERÊNCIA DA PEN WIFI"

solax_local_settings_payload: "optType=ReadSetData&pwd=REFERÊNCIA DA PEN WIFI"

solax_local_set_battery_min_soc_payload: 'optType=setReg&pwd=REFERÊNCIA DA PEN WIFI&data={"num":1,"Data":[{"reg":29,"val":"{{ level }}"}]}'

solax_local_set_battery_grid_charge_level_payload: 'optType=setReg&pwd=REFERÊNCIA DA PEN WIFI&data={"num":1,"Data":[{"reg":31,"val":"{{ level }}"}]}'

solax_local_set_battery_forced_charge_start: 'optType=setReg&pwd=REFERÊNCIA DA PEN WIFI&data={"num":1,"Data":[{"reg":37,"val":"{{ value }}"}]}'

solax_local_set_period2_enable_payload: 'optType=setReg&pwd=REFERÊNCIA DA PEN WIFI&data={"num":1,"Data":[{"reg":41,"val":"{{ enabled }}"}]}'

solax_local_set_battery_level_payload: 'optType=setReg&pwd=REFERÊNCIA DA PEN WIFI&data={"num":1,"Data":[{"reg":31,"val":"{{ level }}"}]}'

Convém atribuir ip fixo á pen wifi

4- Escrever em sensors.yaml

###################################
# Solax X1 Hybrid Rest Sensors #
###################################

# Solax Cloud REST
- platform: rest
  scan_interval: 595    
  resource: !secret solax_cloud_api
  json_attributes_path: "$.result"
  json_attributes:
      - yieldtoday
      - yieldtotal
      - acpower
      - uploadTime
      - inverterStatus
      - feedinpower
      - feedinenergy
      - consumeenergy
      - soc
      - batPower
      - powerdc1
      - powerdc2
      - batStatus
  value_template: 'Active'  # dummy value, not used; avoids the "State max length is 255 characters" error
  name: "solax_rest_cloud"

### Solax Local REST sensor ###
- platform: rest
  scan_interval: 5
  resource: !secret solax_local_ip
  payload: !secret solax_local_realtime_payload
  method: POST
  name: "solax_rest_local"
  json_attributes:
        - sn
        - ver
        - type
        - Data
        - Information
  value_template: 'OK'  # dummy value, not used; avoids the "State max length is 255 characters" error

### Solax Local REST settings ###
- platform: rest
  scan_interval: 3600
  resource: !secret solax_local_ip
  payload: !secret solax_local_settings_payload
  method: POST
  name: "solax_rest_local_settings"
  # Unfortunately settings are not returned as a JSON document but an array of numbers, so having to pick just the relevant to avoid the max 255 chars limit
  # 0 - Self Use Min SOC %
  # 1 - Self Use Charge from grid (0 for disabled, 1 for enabled)
  # 2 - Self Use Charge from grid to % 
  value_template: "{{ '[' ~ value.split(',')[28] ~ ',' ~ value.split(',')[29] ~ ',' ~ value.split(',')[30] ~ ']' }}"

- platform: rest
  name: solaxx1data
  resource: !secret solax_local_ip2    # Local IP of Solax Pocket Wifi
  method: POST
  headers: 
    X-Forwarded-For: 5.8.8.8
  scan_interval: 5
  timeout: 4
  value_template: 'OK'
  json_attributes:
    - type
    - SN
    - ver
    - Data
    - Information

5- Escrever em templates.yaml (A referência da pen wifi fica entre aspas!)

  - sensor:
    
    - name: Solax ENERGYTODAY
      unit_of_measurement: "kWh"
      state: >
        {% if is_state('sensor.solaxx1data', 'unavailable') %}
          {{ states('sensor.solaxx1_energytoday') }}
        {% else %}
          {{ state_attr("sensor.solaxx1data", "Data")[8] }}
        {% endif %}
      icon: mdi:home-lightning-bolt-outline
      device_class: "energy"
      state_class: total_increasing

    - name: "Solax Cloud Yield Today"
      state: "{{ state_attr('sensor.solax_rest_cloud', 'yieldtoday') }}"
      unit_of_measurement: "kWh"
      unique_id: solax_2
      icon: mdi:flash
      device_class: energy
      state_class: total_increasing

    - name: "Solax Cloud Yield Total"
      state: "{{ state_attr('sensor.solax_rest_cloud', 'yieldtotal') }}"
      unit_of_measurement: "kWh"
      unique_id: solax_3
      icon: mdi:flash
      device_class: energy
      state_class: total_increasing

    - name: "Solax Cloud Inverter"
      unit_of_measurement: "W"
      state: "{{ state_attr('sensor.solax_rest_cloud', 'acpower') }}"
      unique_id: solax_cloud_inverter
      icon: mdi:flash
      device_class: energy
      state_class: measurement

    - name: "Solax Cloud Upload Time"
      state: >
        {% set time = state_attr('sensor.solax_rest_cloud', 'uploadTime') %}
        {{ as_timestamp(time) | timestamp_custom('%I:%M %p') }}
      unique_id: solax_5
      icon: mdi:clock

    - name: "Solax Cloud Battery Status"
      state: "{{ state_attr('sensor.solax_rest_cloud', 'batStatus') }}"
      unique_id: solax_6
      icon: mdi:battery

    - name: "Solax Cloud Solar Panel"
      state: "{{ state_attr('sensor.solax_rest_cloud', 'powerdc1') + state_attr('sensor.solax_rest_cloud', 'powerdc2') }}"
      unit_of_measurement: "W"
      device_class: energy
      state_class: measurement
      unique_id: solax_cloud_solar_panel
      icon: mdi:solar-power-variant

    - name: "Solax Cloud Battery Use"
      state: >
        {{ state_attr('sensor.solax_rest_cloud', 'batPower') }}
      unit_of_measurement: "W"
      device_class: energy
      state_class: measurement
      unique_id: solax_cloud_battery_use
      icon: mdi:battery

    - name: "Solax Cloud Battery Adjusted"
      state: >
        {% set ac = states('sensor.solax_cloud_inverter')|int %}
        {% set pv = states('sensor.solax_cloud_solar_panel')|int %}
        {{ (0 - ac + pv) }}
      unit_of_measurement: "W"
      device_class: energy
      state_class: measurement
      unique_id: solax_cloud_battery_adjusted
      icon: mdi:battery

    - name: "Solax Cloud Battery Use In"
      state: >
        {% set batAdj = states('sensor.solax_cloud_battery_adjusted')|int(default=0) %}
        {% set attr = state_attr('sensor.solax_rest_cloud', 'batPower') %}
        {{ batAdj if is_number(batAdj) and (batAdj|int > 0) else 0 }}
      unit_of_measurement: "W"
      unique_id: solax_cloud_battery_use_in
      icon: mdi:battery

    - name: "Solax Cloud Battery Use Out"
      state: >
        {% set batAdj = states('sensor.solax_cloud_battery_adjusted')|int(default=0) %}
        {% set attr = state_attr('sensor.solax_rest_cloud', 'batPower') %}
        {{ (0 - batAdj) if is_number(batAdj) and (batAdj|int < 0) else 0 }}
      unit_of_measurement: "W"
      unique_id: solax_cloud_battery_use_out
      icon: mdi:battery

    - name: "Solax Cloud Battery"
      state: "{{ state_attr('sensor.solax_rest_cloud', 'soc') }}"
      unit_of_measurement: "%"
      device_class: battery
      state_class: measurement
      unique_id: solax_12
      icon: mdi:battery

    - name: "Solax Cloud Grid Power"
      state: >
        {% set attr = state_attr('sensor.solax_rest_cloud', 'feedinpower') %}
        {{ (0 - attr) if is_number(attr) else 0 }}
      unit_of_measurement: "W"
      device_class: energy
      state_class: measurement
      unique_id: solax_13
      icon: mdi:transmission-tower

    - name: "Solax Cloud Grid Power in"
      state: >
        {% set attr = state_attr('sensor.solax_rest_cloud', 'feedinpower') %}
        {{ (0 - attr) if is_number(attr) and (attr|float < 0) else 0 }}
      unit_of_measurement: "W"
      unique_id: solax_14
      icon: mdi:transmission-tower

    - name: "Solax Cloud Grid Power out"
      state: >
        {% set attr = state_attr('sensor.solax_rest_cloud', 'feedinpower') %}
        {{ attr if is_number(attr) and (attr|float > 0) else 0 }}
      unit_of_measurement: "W"
      unique_id: solax_15
      icon: mdi:transmission-tower

    - name: "Solax Cloud Energy To Grid"
      state: "{{ state_attr('sensor.solax_rest_cloud', 'feedinenergy') }}"
      unit_of_measurement: "kWh"
      unique_id: solax_16
      icon: mdi:transmission-tower
      device_class: energy
      state_class: total_increasing

    - name: "Solax Cloud Energy From Grid"
      state: "{{ state_attr('sensor.solax_rest_cloud', 'consumeenergy') }}"
      unit_of_measurement: "kWh"
      unique_id: solax_19
      icon: mdi:transmission-tower
      device_class: energy
      state_class: total_increasing

    - name: "Solax Cloud Status"
      unique_id: solax_20
      icon: mdi:solar-power-variant
      state: >
          {% set attr = state_attr('sensor.solax_rest_cloud', 'inverterStatus') %}
          {% if attr == '100' %}Wait
          {% elif attr == '101' %}Check
          {% elif attr == '102' %}Normal
          {% elif attr == '103' %}Fault
          {% elif attr == '104' %}Permanent Fault
          {% elif attr == '105' %}Update
          {% elif attr == '106' %}EPS Check
          {% elif attr == '107' %}EPS
          {% elif attr == '108' %}Self-test
          {% elif attr == '109' %}Idle
          {% elif attr == '110' %}Standby
          {% elif attr == '111' %}Pv Wake Up Bat
          {% elif attr == '112' %}Gen Check
          {% elif attr == '113' %}Gen Run
          {% else %}unknown{% endif %}

    - name: SolaX Cloud Total Home Use
      unique_id: home use
      state: >
          {% set battery = states('sensor.solax_battery_use') %}
          {% set grid = states('sensor.solax_grid_power') %}
          {% set solar = states('sensor.solar_panel_power') %}
          {% set total = 0 - battery|float if is_number(battery) else 0 %}
          {% set total = total + (solar|float if is_number(solar) else 0) %}
          {% set total = total + (grid|float if is_number(grid) else 0) %}
          {{ total }}
      state_class: measurement
      icon: 'mdi:flash'
      unit_of_measurement: W
      device_class: power

# --- LOCAL --------------------------

### Local sensor readings ###
    - name: solax_local
      state: > 
            {% if state_attr('sensor.solax_rest_local', 'sn') == "REFERÊNCIA DA PEN WIFI"  %}{{ now().strftime("%H:%M:%S") }}
            {% else %}{{ (states('sensor.solax_local')) }}{% endif %}
      attributes: 
        sn: >-
            {% if state_attr('sensor.solax_rest_local', 'sn') == "REFERÊNCIA DA PEN WIFI" %}{{ (state_attr('sensor.solax_rest_local', 'sn')) }}
            {% else %}{{ (state_attr('sensor.solax_local', 'sn')) }}{% endif %}
        ver: >-
          {% if state_attr('sensor.solax_rest_local', 'sn') == "REFERÊNCIA DA PEN WIFI" %}{{ (state_attr('sensor.solax_rest_local', 'ver')) }}
          {% else %}{{ (state_attr('sensor.solax_local', 'ver')) }}{% endif %}
        type: >-
          {% if state_attr('sensor.solax_rest_local', 'sn') == "REFERÊNCIA DA PEN WIFI" %}{{ (state_attr('sensor.solax_rest_local', 'type')) }}
          {% else %}{{ (state_attr('sensor.solax_local', 'type')) }}{% endif %}
        Data: >-
          {% if state_attr('sensor.solax_rest_local', 'sn') == "REFERÊNCIA DA PEN WIFI" %}{{ (state_attr('sensor.solax_rest_local', 'Data')) }}
          {% else %}{{ (state_attr('sensor.solax_local', 'Data')) }}{% endif %}
        Information: >-
          {% if state_attr('sensor.solax_rest_local', 'sn') == "REFERÊNCIA DA PEN WIFI" %}{{ (state_attr('sensor.solax_rest_local', 'Information')) }}
          {% else %}{{ (state_attr('sensor.solax_local', 'Information')) }}{% endif %}

### Make the settings look like sensor data by embedding the info in the Data attribute 
    - name: solax_local_settings
      state: > 
            {{ now().strftime("%H:%M:%S") }}
      attributes: 
        Data: >-
          {{ (states('sensor.solax_rest_local_settings')) }}

#### Combined Solar PV output ####

    - name: "Solax Local PV Output"
      unique_id: solax_local_pv_output
      state: "{{ (state_attr('sensor.solax_local', 'Data')[8] + state_attr('sensor.solax_local', 'Data')[9]) | int(default=0) }}"
      unit_of_measurement: "W"
      state_class: measurement
      device_class: "power"

### Inverter output (negative for charging battery) ####
    - name: "Solax Local AC Power"
      unique_id: solax_local_ac_power
      state: >
        {% if state_attr('sensor.solax_local', 'Data')[2] > 32767 %}{{ (state_attr('sensor.solax_local', 'Data')[2] - 65536) | int(default=0) }}
        {% else %}{{ state_attr('sensor.solax_local', 'Data')[2] | int(default=0) }}{% endif %}
      unit_of_measurement: "W"
      state_class: measurement
      device_class: "power"

### Battery current, voltage and temperature ###
    - name: "Solax Local Battery Voltage"
      unique_id: solax_local_battery_voltage
      state: "{{ state_attr('sensor.solax_local', 'Data')[14] | float / 100}}"
      unit_of_measurement: "V"
      device_class: "voltage"

    - name: "Solax Local Battery Current"
      unique_id: solax_local_battery_current
      state: >
        {% if state_attr('sensor.solax_local', 'Data')[15] > 32767 %}{{ (state_attr('sensor.solax_local', 'Data')[15] - 65536) / 100 }}
        {% else %}{{ state_attr('sensor.solax_local', 'Data')[15] / 100 }}{% endif %}
      unit_of_measurement: "A"
      device_class: "current"

    - name: "Solax Local Battery Temperature"
      unique_id: solax_local_battery_temp
      state: "{{ state_attr('sensor.solax_local', 'Data')[17] | int(default=0) }}"
      unit_of_measurement: "°C"
      device_class: "temperature"

### Battery charging/discharging power (positive for charging the battery) ###
    - name: "Solax Local Battery Power"
      unique_id: solax_local_battery_power
      state:  >
        {% if state_attr('sensor.solax_local', 'Data')[16] > 32767 %}{{ state_attr('sensor.solax_local', 'Data')[16] - 65536 }}
        {% else %}{{ state_attr('sensor.solax_local', 'Data')[16] }}{% endif %}
      unit_of_measurement: "W"
      #state_class: measurement
      device_class: "power"

    - name: "Solax Local Battery Power Adjusted"
      unique_id: solax_local_battery_power_adjusted
      state:  >
        {% set battery = states('sensor.solax_local_battery_power')|int %}
        {% set ac = states('sensor.solax_local_ac_power')|int %}
        {% set pv = states('sensor.solax_local_pv_output')|int %}
        {{ (0 - ac + pv) }}
      unit_of_measurement: "W"
      #state_class: measurement
      device_class: "power"

### Battery charge level (%)
    - name: "Solax Local Battery SoC"
      unique_id: solax_local_battery_soc
      state: "{{ state_attr('sensor.solax_local', 'Data')[18] | int(default=0) }}"
      unit_of_measurement: "%"

### Battery discharge min (%) 
    - name: "Solax Local Battery Min SoC"
      unique_id: solax_local_battery_min_soc
      state: "{{ state_attr('sensor.solax_local_settings', 'Data')[0] | int(default=0) }}"
      unit_of_measurement: "%"

### Battery charge from grid 
    - name: "Solax Local Battery Charge From Grid"
      unique_id: solax_local_battery_grid_enabled
      state: "{{ state_attr('sensor.solax_local_settings', 'Data')[1] | int(default=0) }}"
      
### Battery charge level to (%) from grid
    - name: "Solax Local Battery Charge From Grid To"
      unique_id: solax_local_battery_charge_from_grid_to
      state: "{{ state_attr('sensor.solax_local_settings', 'Data')[2] | int(default=0) }}"
      unit_of_measurement: "%"

### Estimated remaining energy ###
    - name: "Solax Local Battery Remain Energy"
      unique_id: solax_local_battery_kwh
      state: "{{ states('sensor.solax_local_battery_soc') | int(default=0) * 6.2 / 100 }}"
      unit_of_measurement: "kWh"
      device_class: "energy"

### Grid power (positive for feed-in, negative for consumption) ###
    - name: "Solax Local Grid Power"
      unique_id: solax_local_grid_power
      state:  >
        {% if state_attr('sensor.solax_local', 'Data')[32] > 32767 %}{{ (state_attr('sensor.solax_local', 'Data')[32] - 65536) }}
        {% else %}{{ state_attr('sensor.solax_local', 'Data')[32] }}{% endif %}
      unit_of_measurement: "W"
      state_class: measurement
      device_class: "power"

### Expected household load (negative not expected as it only consumes energy) ###

    - name: "Solax Local Load Power"
      unique_id: solax_local_load_power
      state: "{{ states('sensor.solax_local_ac_power')| float(default=0) - states('sensor.solax_local_grid_power') | int(default=0) }}"
      unit_of_measurement: "W"
      device_class: "power"

    - name: "Solax Solar Panel"
      unit_of_measurement: "W"
      state: >
          {% if state_attr('sensor.solax_local', 'Data') != None %}
            {{ state_attr('sensor.solax_local', 'Data')[8]|int }}
          {% else %} unknown {% endif %}
      device_class: energy
      state_class: measurement
      unique_id: solax_8
      icon: mdi:solar-power-variant

    - name: "Solax AC Voltage"
      state: >
        {% if state_attr('sensor.solax_local', 'Data') != None %}
          {{ state_attr('sensor.solax_local', 'Data')[0] |int/10}}
        {% else %} unknown {% endif %}
      unit_of_measurement: "V"
      device_class: "voltage"
      unique_id: solax_100

    - name: "Solax AC Frequency"
      state: >
        {% if state_attr('sensor.solax_local', 'Data') != None %}
          {{ state_attr('sensor.solax_local', 'Data')[3] |int/100}}
        {% else %} unknown {% endif %}
      unit_of_measurement: "Hz"
      device_class: "frequency"
      unique_id: solax_101

#### Solar AC Total Yield - Error Check 0 Value ###

    - name: "Solax Dashboard AC Total Yield"
      unique_id: solax_dashboard_ac_total_yield
      state:  >
        {% if state_attr('sensor.solax_local', 'Data')[11] == 0 %}{{ states('sensor.solax_dashboard_ac_daily_yield') }}
        {% else %}{{ (state_attr('sensor.solax_local', 'Data')[11]) | float(default=0) / 10 }}{% endif %}
      unit_of_measurement: "kWh"
      state_class: "total_increasing"
      device_class: "energy"

#### Solar AC Dashboard Daily Yield ###

    - name: "Solax Dashboard AC Daily Yield"
      unique_id: solax_dashboard_ac_daily_yield
      state: "{{ (state_attr('sensor.solax_local', 'Data')[13]) | float(default=0) / 10 }}"
      unit_of_measurement: "kWh"
      state_class: "total_increasing"
      device_class: "energy"

6- Escrever em powercalc.yaml:

- platform: powercalc
  entity_id: sensor.solax_local_pv_output
  name: Solar Panels V2
  fixed:
    power: "{{ states('sensor.solax_local_pv_output')| int(default=0) }}"

- platform: powercalc
  entity_id: sensor.solax_cloud_solar_panel
  name: Solax Cloud Solar Panels V1
  fixed:
    power: "{{ states('sensor.solax_cloud_solar_panel')| int(default=0) }}"

- platform: powercalc
  entity_id: sensor.solax_cloud_battery_use_in
  name: Solar Cloud Battery In V1
  fixed:
    power: "{{states('sensor.solax_cloud_battery_use_in')}}"

- platform: powercalc
  entity_id: sensor.solax_cloud_battery_use_out
  name: Solar Cloud Battery Out V1
  fixed:
    power: "{{states('sensor.solax_cloud_battery_use_out')}}"

A partir daqui, fazer restart como normal e começar a obter valores. Fica-se com os valores da cloud e locais. Para o energy dashboard, apenas funciona com a cloud, porque o local dá os valores instantâneos (potência), não dá energia (kWh).
Isto dá uma carrada de entities, que podem procurar como solax (dá todas), local (dá todas as leituras locais) e cloud.

Tenho este pequeno cartão no lovelace:
Cartão Energia

Espero ter ajudado o pessoal com esta espécie de primeiro tutorial, que espero que não esteja repetido aqui! O tutorial foi feito com base em alguns que apanhei no reddit e na community.

2 Curtiram

Finalmente após semanas consegui ter acesso ao ip , da minha pen wifi 3.0 (pen preta). Tenho um micro inversor X1. A maneira foi atraves do IP http://192.168.1.164/ e nao com o 5.8.8.8
Agora a fase da integraçao com o HA.
Atraves do solaX power ja tentei dezenas de vezes e nada. Pede o IP, port e pass e fica ali a pensar e nada.
Atraves de yaml, estou um bocado perdido.

Alguem ja conseguiu ultrapassar esta situaçao?

O Home Assistant consegue aceder a esse IP?

Normalmente o Pocket Wi-Fi não responde a pedidos de dados na LAN, só ligando ao hotspot dele ou alternativamente usando um firmware não oficial.

Nao sei, como faço o teste se consegue aceder ou nao?

Isso tem a ver principalmente com a topologia e configuração da tua rede rede, onde tens o HA e o Pocket Wi-Fi.

Para testar podes usar o addon ssh para entrar no HA e tentar de lá, por exemplo.

Boa tarde meus caros,
Primeira vez aqui no fórum… estou a dar os primeiros passos em Home Assistant (era e sou ainda utilizador de Openhab).
Dei de caras logo com este post e achei que posso “dar a minha parte de ajuda”.
No meu caso, tanto no Openhab e agora no Home Assistant, comunico diretamente com a API da Solax via Internet pois os mesmos fornecem esse serviço de forma gratuita. Desta forma não é necessário estar preocupados com o firmware (no meu caso tenho isto atualizado, por exemplo), nem ter um RPi pelo meio etc.
Se alguém tiver interesse posso explicar como se faz.
Consegue-se ir buscar os seguintes valores (para o meu caso, pelo menos):
inverterSN: ???
sn: ???
acpower: 0
yieldtoday: 16.6
yieldtotal: 7941.3
feedinpower: 0
feedinenergy: 0
consumeenergy: 0
powerdc1: 0
inverterStatus: 102
friendly_name: Solax PV

Cumprimentos

Boa tarde Pessoal, tenho um solax mini x1 com dongle V3.04.
Com o solax mbus consigo por segundos os dados e tudo a funcionar, mas depois o HA renicia e já as entidades não estão disponiveis.
Acontece que em cmd o comando curl no xxxxx existe uma password de segurança do inversor e se colocar no xxxxxxx o inversor responde.
Alguem ja passou por isso?
E soluções?
Um abraço


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade