Como flashar um Sonoff POW

O sonoff Pow é um medidor de consumo de energia que permite também desligar e ligar aparelhos que sejam ligados a ele.

Ok vamos lá.
Material necessário:

Sonoff POW
1

Conversor cp2102 ttl
2

Jumper Wires Macho Femea
3

As ligações entre o Sonoff POW e o Conversor são simples.

NOTA : NÃO LIGAR OS 3.3V DO SONOFF AO 5V DO CONVERSOR TTL, O CHIP DO SONOFF PODE QUEIMAR.
NOTA2: Caso o código não faça upload troca os fios do rx e do tx no conversor.

Para fazeres essas ligações não precisas de soldar nada…
O sonoff na placa onde estão os pinos 3.3v, gnd, tx, rx tem uns furos , basta tu com o Jumpers Macho forçares a entrar, caso não entre com uma limazinha das unhas ou outra,limas um bocado até entrar justo para fazer contacto.

Agora já com o sonoff com os fios todos ligados, ficas com o dedo a pressionar no botao do sonoff,sempre a pressionar e ligas o teuconversor na porta usb do computador… apos já teres ligado o conversor na porta usb…o sonoff entrou em flash mode… E podes seguir este tutorial para flashar:

Configuração do lado do home assistant:

No teu configuration.yaml colocas:

mqtt:

  broker: 127.0.0.1
  port: 1883
  username: VOSSO USERNAME MQTT
  password: VOSSA PASSWORD MQTT
  keepalive: 60

switch:

  - platform: mqtt
    name: "sonoff"
    state_topic: "stat/aquario/POWER"
    command_topic: "cmnd/aquario/power"
    availability_topic: "tele/aquario/LWT"
    payload_available: "Online"
    payload_not_available: "Offline"
    qos: 1
    payload_on: "ON"
    payload_off: "OFF"
    retain: true    


sensor:
#watts
  - platform: mqtt
    name: "sonoff Wats"
    state_topic: "tele/sonoff/SENSOR"
    value_template: '{{ value_json["ENERGY"]["Power"] }}'
    unit_of_measurement: "W"
#Amperes #
  - platform: mqtt
    name: "sonoff Amperes"
    state_topic: "tele/sonoff/SENSOR"
    value_template: '{{ value_json["ENERGY"]["Current"] }}'
    unit_of_measurement: "A"
#Voltagem
  - platform: mqtt
    name: "sonoff Voltagem"
    state_topic: "tele/sonoff/SENSOR"
    value_template: '{{ value_json["ENERGY"]["Voltage"] }}'
    unit_of_measurement: "V"
#Hoje kWh 
  - platform: mqtt
    name: "sonoff Hoje"
    state_topic: "tele/sonoff/SENSOR"
    value_template: '{{ value_json["ENERGY"]["Today"] }}'
    unit_of_measurement: "kWh"
#Hoje € 
  - platform: mqtt
    name: "sonoff Hoje (€)"
    state_topic: "tele/sonoff/SENSOR"
    value_template: >-
      {{states.sensor.cilindro_hoje.state | multiply(0.1603) | round(2)}}
    unit_of_measurement: "€"
#Ontem kWh
  - platform: mqtt
    name: "sonoff Ontem"
    state_topic: "tele/sonoff/SENSOR"
    value_template: '{{ value_json["ENERGY"]["Yesterday"] }}'
    unit_of_measurement: "kWh"  
#Ontem €
  - platform: mqtt
    name: "sonoff Ontem (€)"
    state_topic: "tele/sonoff/SENSOR"
    value_template: >-
      {{states.sensor.cilindro_ontem.state | multiply(0.1603) | round(2)}}
    unit_of_measurement: "€"
#Total kWh 
  - platform: mqtt
    name: "sonoff Total"
    state_topic: "tele/sonoff/SENSOR"
    value_template: '{{ value_json["ENERGY"]["Total"] }}'
    unit_of_measurement: "kWh"
#Total €
  - platform: mqtt
    name: "sonoff Total (€)"
    state_topic: "tele/sonoff/SENSOR"
    value_template: >-
      {{states.sensor.cilindro_total.state | multiply(0.1603) | round(2)}}
    unit_of_measurement: "€"

No teu groups.yaml colocas:

  view: yes
  icon: mdi:home
  entities:
    - switch.aquario
    - sensor.sonoff_wats
    - sensor.sonoff_amperes
    - sensor.sonoff_voltagem
    - sensor.sonoff_hoje
    - sensor.sonoff_hoje_
    - sensor.sonoff_ontem
    - sensor.sonoff_ontem_
    - sensor.sonoff_total
    - sensor.sonoff_total_
3 Curtiram

Olá Rodolfo.
Queria flashar o meu primeiro sonoff pow. Nas imagens que mostra a configuração na ide do Arduino a primeira consigo ver perfeitamente. As outras que se seguem por, estarem muito pequenas, não consigo ler o que lá está. Poderia disponibilizar as imagens num tamanho maior?
O ficheiro a abrir é o que está dentro da pasta tasmota\sonoff\sonoff.ino?

Obrigado.

Sem querer desviar a atenção, mas poderia usar o nodemcu-pyflasher com um dos ficheiros pré compilados disponíveis nos releases do tasmota… Assim não é preciso compilar nada…

Gostaria de fazer uma pergunta. Com o firmware original, o pow e o pow r2 fazem diferença nas funções e leituras . Com Tasmota a diferença vai ser igual ?Compensa a diferença de preço ?

1 Curtiu

Boas,

Já li vários posts sobre o sonoff pow r2, mas não vi solução para o meu caso.
Comprei 4 sonoff pow r2, flashei o tasmota com sucesso, e apenas 2 ficaram operacionais. Os outros dois não ligam… nada de luz quando os ligo à corrente. Já voltei a flashar várias vezes e sempre com sucesso, porém depois não dão nada. O que poderá ser?
Os outros já os integrei no HA e está tudo ok.

Bem vindo ao fórum da CPHA @Ricardo_Lobo e não esqueças de ler os nossos Termos do Serviço/Regras e a FAQ.

Isso poderá ser uma avaria na parte da electronica que alimenta o circuito interno a 3V3.

Obrigado pela resposta. É estranho, pois um deles tinha-o metido a trabalhar com a app oficial e estava a funcionar bem antes de o flashar… Logo vou fazer mais uns testes a ver se os ressuscito.

Experimenta flashar mas alterando o tipo de ligação. Que software estás a usar e com que configurações? E muito importante que versão do Tasmota?

Usei o nodemcu-pyflahser nos 4. as configurações foram as que vi num post aqui do fórum. A versão do tasmota é a última. 6.6.0.

Olá @Ricardo_Lobo quando dizes “porém depois nao dá nada” isso quer concretamente o que? Não consegues aceder ao ip do dispositivo?

Não liga as luzes, não consigo aceder ao ip. nem clicando no botão para “forçar” o modo ap.
já tentei flashar com o esptool e dá erro MD5 does not match data in flash. pelo que estive a ler, poderá estar relacionado com os 3,3V não estarem a chegar. Sendo que é estranho pois para os outros 2 não houve problema.

edit: Problema resolvido. Era mesmo isso. os 3,3 do ftdi não estavam a chegar para estes 2… já os flashei e não deu erro. já funcionam bem. obrigado.

1 Curtiu

Viva. Deixa-me dar-te uma sugestão.
Vê qual é o processador que tem, confirma se são todos iguais. Uns podem ter o 8266 e outros o 8285.
Se estás a usar o nodemcu repara bem nisso e vê como os estás a programar.
Caso sejam os 8285 terás sempre que usar a flashmode em DOUT.
Caso sejam 8266 o mais provável é ser DIO.
Já me aconteceu por distracção não reparar e o nomedcu flasha, mas depois não há resposta.

Podes (e deves) usar praticamente sempre DOUT independentemente de ser 8266 ou 8285

1 Curtiu

boas…tenho um pow r2…gostaria de saber como limpar os dados, (colocar a 0)

Que firmware tem? Tasmota?

Sim. Tasmota, queria fazer reset ao contador…

Pesquisa por energyreset https://github.com/arendst/Tasmota/wiki/commands

1 Curtiu

Obrigado… Está resolvido:

EnergyReset1 0
EnergyReset2 0
EnergyReset3 0
EnergyReset4 0
EnergyReset5 0

ola pessoal…

hoje fiz um reboot ao meu sonoff pow r2 e detetei que ele ao iniciar fica com o relay em OFF…

ele ja funcionou bem, que neste caso era sempre que havia um reboot ou falha de energia ele ficava ON…

ja fiz PowerOnState1, SetOption63 , penso que apenas fiz isto na altura que o configurei a primeira vez…

mas ja com estes comandos ele continua a ficar Off quando faço restart…

será que ele do nada, ,teve algum problema…???

00:07:13 CMD: status 0
00:07:13 MQT: stat/sonoffPow2/STATUS = {"Status":{"Module":43,"DeviceName":"Sonoff","FriendlyName":["Sonoff"],"Topic":"sonoffPow2","ButtonTopic":"0","Power":1,"PowerOnState":1,"LedState":1,"LedMask":"FFFF","SaveData":1,"SaveState":1,"SwitchTopic":"0","SwitchMode":[0,0,0,0,0,0,0,0],"ButtonRetain":0,"SwitchRetain":0,"SensorRetain":0,"PowerRetain":1}}
00:07:13 MQT: stat/sonoffPow2/STATUS1 = {"StatusPRM":{"Baudrate":4800,"SerialConfig":"8E1","GroupTopic":"sonoffs","OtaUrl":"http://thehackbox.org/tasmota/release/tasmota.bin","RestartReason":"Software/System restart","Uptime":"0T00:07:14","StartupUTC":"","Sleep":50,"CfgHolder":4617,"BootCount":86,"BCResetTime":"2020-10-24T09:53:20","SaveCount":966,"SaveAddress":"F8000"}}
00:07:13 MQT: stat/sonoffPow2/STATUS2 = {"StatusFWR":{"Version":"8.5.0(tasmota)","BuildDateTime":"2020-09-09T11:41:02","Boot":31,"Core":"2_7_4_1","SDK":"2.2.2-dev(38a443e)","CpuFrequency":80,"Hardware":"ESP8266EX","CR":"382/699"}}
00:07:13 MQT: stat/sonoffPow2/STATUS3 = {"StatusLOG":{"SerialLog":0,"WebLog":2,"MqttLog":0,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["IoT",""],"TelePeriod":60,"Resolution":"558180C0","SetOption":["00008029","2805C8000100068000005AFF000000000000","00002000","00006000","00000000"]}}
00:07:13 MQT: stat/sonoffPow2/STATUS4 = {"StatusMEM":{"ProgramSize":595,"Free":408,"Heap":23,"ProgramFlashSize":1024,"FlashSize":4096,"FlashChipId":"1640EF","FlashFrequency":40,"FlashMode":3,"Features":["00000809","8FDAE797","04368001","000000CD","010013C0","C000F981","00004004","00000000"],"Drivers":"1,2,3,4,5,6,7,8,9,10,12,16,18,19,20,21,22,24,26,27,29,30,35,37","Sensors":"1,2,3,4,5,6"}}
00:07:13 MQT: stat/sonoffPow2/STATUS5 = {"StatusNET":{"Hostname":"SonoffR2","IPAddress":"192.168.100.11","Gateway":"192.168.100.254","Subnetmask":"255.255.255.0","DNSServer":"192.168.2.254","Mac":"80:7D:3A:68:34:7E","Webserver":2,"WifiConfig":4,"WifiPower":17.0}}
00:07:13 MQT: stat/sonoffPow2/STATUS6 = {"StatusMQT":{"MqttHost":"192.168.60.21","MqttPort":1883,"MqttClientMask":"Pow2","MqttClient":"Pow2","MqttUser":"mqttsensor20","MqttCount":1,"MAX_PACKET_SIZE":1200,"KEEPALIVE":30}}
00:07:13 MQT: stat/sonoffPow2/STATUS7 = {"StatusTIM":{"UTC":"1970-01-01T00:07:13","Local":"1970-01-01T00:07:13","StartDST":"1970-01-01T00:00:00","EndDST":"1970-01-01T00:00:00","Timezone":99,"Sunrise":"20:13","Sunset":"05:47"}}
00:07:13 MQT: stat/sonoffPow2/STATUS9 = {"StatusPTH":{"PowerDelta":[80,0,0],"PowerLow":0,"PowerHigh":0,"VoltageLow":0,"VoltageHigh":0,"CurrentLow":0,"CurrentHigh":0}}
00:07:13 MQT: stat/sonoffPow2/STATUS10 = {"StatusSNS":{"Time":"1970-01-01T00:07:13","ENERGY":{"TotalStartTime":"2020-01-13T23:51:22","Total":756.098,"Yesterday":2.581,"Today":2.303,"Power":114,"ApparentPower":184,"ReactivePower":145,"Factor":0.62,"Voltage":237,"Current":0.776}}}
00:07:13 MQT: stat/sonoffPow2/STATUS11 = {"StatusSTS":{"Time":"1970-01-01T00:07:13","Uptime":"0T00:07:14","UptimeSec":434,"Heap":23,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER":"ON","Wifi":{"AP":1,"SSId":"IoT","BSSId":"06:18:D6:C9:16:2C","Channel":1,"RSSI":52,"Signal":-74,"LinkCount":1,"Downtime":"0T00:00:03"}}}

PS: desliguei o HA e ja fica tudo bem… ou seja, é o HA que o manda desligar…

Alguma dica?

Ve se nao tens o retain activo no lado do HA.


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


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