[HowTo] Sonoff POW an Fhem anbinden

Begonnen von Reinhart, 07 November 2016, 16:53:53

Vorheriges Thema - Nächstes Thema

Reinhart

Danke für die Hinweise, aber mit dem Wiki das ist nicht einfach, da ich ständig die Beispiele ändern müsste weil Theo die Software oft bis zu 10x pro Woche umstellt.

* 3.0.0 20161208
* Migrate and clean-up flash layout
*   Settings from version 2.x are saved but settings from version 3.x can not be used with version 2.x
* Change SEND_TELEMETRY_RSSI to SEND_TELEMETRY_WIFI and add AP and SSID to telemetry
* Split long JSON messages
* Fix inconsistent status messages
* Fix all status messages to return JSON if enabled
* Remove relay index in cmnd/sonoff/<relay>/POWER now changed
*   to cmnd/sonoff/POWER for single relay units
*   and cmnd/sonoff/POWER<relay> for multi relay units like Sonoff dual
* Add retain option to Power/Light status controlled by command PowerRetain On|Off (#126)

Die von dir erwähnte Umstellung erfolgte mit der Umstellung auf 3.0.0. Ist aber eine reine kosmetische Sache, den der Sendebefehl funktioniert auch noch mit der im Wiki geposteten Methode ( die /1/ ).

Auf Legacy wurde erst mit der Version 3.2.8 umgestellt, keine Ahnung ob er das läßt. Ich schaue ohnehin immer in die "user_config.h" weil ich hier alle persönlichen Einstellungen (IP, Namen, Wlan) vornehme.

#define MESSAGE_FORMAT         JSON         // [MessageFormat] MQTT Message Format (LEGACY or JSON)
#define MQTT_STATUS_OFF        "OFF"        // Command or Status result when turned off (needs to be a string like "0" or "Off")
#define MQTT_STATUS_ON         "ON"         // Command or Status result when turned on (needs to be a string like "1" or "On")
#define MQTT_CMND_TOGGLE       "TOGGLE"     // Command to send when toggling (needs to be a string like "2" or "Toggle")

Hier die besagte Umstellung auf "JSON". Soeben ist die 3.2.12 erschienen und hier ist Default auch JSON. Wenn das so bleibt, werde ich das im Wiki hinweisen, das sich die Beispiele alle auf LEGACY beziehen.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Reinhart

so, Aufgrund der doch vielen Änderungen in den Versionen nutze ich jetzt die "user_config_override.h". Diese Einstellungen überschreiben die Flash Settings.
Einfach Abfragen ob der entsprechende "Define" vorhanden ist und wenn ja dann löschen und neu definieren.

#ifdef STA_SSID1
#undef STA_SSID1
#endif
#define STA_SSID1              "ssid1"      // [Ssid1] Wifi SSID

#ifdef STA_PASS1
#undef STA_PASS1
#endif
#define STA_PASS1              "pass1"  // [Password1] Wifi password

#ifdef STA_SSID2
#undef STA_SSID2
#endif
#define STA_SSID2              "ssid2"      // [Ssid2] Optional alternate AP Wifi SSID

#ifdef STA_PASS2
#undef STA_PASS2
#endif
#define STA_PASS2              "pass2"

#ifdef MESSAGE_FORMAT
#undef MESSAGE_FORMAT
#endif
#define MESSAGE_FORMAT         LEGACY

#ifdef SYS_LOG_HOST
#undef SYS_LOG_HOST
#endif
#define SYS_LOG_HOST           "IP-Broker"

Die Datei einfach zur aktuellen Version ins Verzeichnis kopieren und alle persönlichen Einstellungen werden übernommen. Das sind nur ein paar Beispiele, man kann die Datei natürlich noch erweitern.

LG
Reinhart
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

SamNitro

Gibt es schon was neues bezüglich Sonoff Pow und espeasy? Oder muss ich mich mit MQTT anfreunden?
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

Reinhart

ich habe noch nichts gehört das eine Unterstützung geplant ist, aber MQTT ist eine Sache auf ein paar Minuten.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

SamNitro

#64
Habe es auch teilweise am laufen, zumindest kann ich ein und ausschalten aber sehe keine anderen werte..

mosquitto_sub -d -v -t \#

liefert mir leider auch nur on und off werte..

Program version   3.2.13
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

Reinhart

#65
hast du vor dem compilieren das Modul in der user_config.h eingestellt?

#define MODULE SONOFF_POW

siehe Wiki :https://wiki.fhem.de/wiki/Sonoff#Sonoff_POW_Software

sollte so aussehen:
// Enable only one out of five MODULE defines below
//#define MODULE                 SONOFF            // Sonoff Basic, Sonoff RF, Sonoff SV, Sonoff Dual, Sonoff TH, S20 Smart Socket
//#define MODULE                 SONOFF_2          // Sonoff Touch, Sonoff 4CH
#define MODULE                 SONOFF_POW        // Sonoff Pow
//#define MODULE                 MOTOR_CAC         // iTead Motor Clockwise/Anticlockwise
//#define MODULE                 ELECTRO_DRAGON    // Electro Dragon Wifi IoT Relay Board Based on ESP8266


und ebenso den Abschnitt POW checken
/*********************************************************************************************\
* Sonoff Pow
*
* >>> Select Board "Generic ESP8266 Module" and Flash Size "1M (64K SPIFFS)" or "4M (1M SPIFFS)" <<<
\*********************************************************************************************/

#elif MODULE == SONOFF_POW                  // programming header 1:3.3V 2:rx 3:tx 4:gnd
  #define APP_NAME             "Sonoff Pow Module"
  #define MQTT_GRPTOPIC        "pows"       // [GroupTopic] MQTT Group topic
  #define USE_POWERMONITOR                  // Enable Power Monitoring
  #define USE_POWERCALIBRATION              // Enable setting Calibration parameters by user commands
/*-------------------------------------------------------------------------------------------*/
  #define LED_PIN              15           // GPIO 15 = Green Led (0 = On, 1 = Off) - Sonoff
  #define LED_INVERTED         0            // 0 = (1 = On, 0 = Off), 1 = (0 = On, 1 = Off)
  #define REL_PIN              12           // GPIO 12 = Red Led and Relay (0 = Off, 1 = On)
  #define KEY_PIN              0            // GPIO 00 = Button
/*-------------------------------------------------------------------------------------------*/
  #define HLW_SEL              5            // GPIO 05 = HLW8012 Sel output (Sonoff Pow)
  #define HLW_CF1              13           // GPIO 13 = HLW8012 CF1 voltage / current (Sonoff Pow)
  #define HLW_CF               14           // GPIO 14 = HLW8012 CF power (Sonoff Pow)
  #define SEND_TELEMETRY_ENERGY             // Enable sending energy telemetry


und umstellen von JSON auf LEGACY
#define MESSAGE_FORMAT         LEGACY         // [MessageFormat] MQTT Message Format (LEGACY or JSON)
#define MQTT_STATUS_OFF        "OFF"        // Command or Status result when turned off (needs to be a string like "0" or "Off")
#define MQTT_STATUS_ON         "ON"         // Command or Status result when turned on (needs to be a string like "1" or "On")
#define MQTT_CMND_TOGGLE       "TOGGLE"     // Command to send when toggling (needs to be a string like "2" or "Toggle")


LG

FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

SamNitro

ich habe die fertige *.bin von dir genommen.
wie kann ich die Datei anpassen?
oder gehört die zu FHEM?
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

Reinhart

die bin ist uralt, nimm die letzte von Arends!

außerdem solltest du ja auch die WIFI Daten gleich eingeben, dann kannst du sofort connecten!

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

SamNitro

Hast du zufällig einen link zur hand?
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

Reinhart

FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

SamNitro

Danke, kann ich das per Ota einspielen?

- habe es drauf aber keine Änderung :(
- mit Arduino habe so noch nicht gearbeitet...
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

Reinhart

ja, mit OTA ist das dann kein Problem!

Die Bedienung mit Arduino ist relativ einfach, solltest dich aber damit auseinander setzen. Wenn du alle Parameter richtig eingestellt hast, dann gehst auf "Sketch" und "Compilierte Binärdatei exportieren", dann wird die BIN in dem Verzeichnis "sonoff" erstellt.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

SamNitro

bei Arduino bekomme ich eine Fehlermeldung beim kompilieren

Arduino: 1.8.1 (Mac OS X), Board: "Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 1M (128K SPIFFS), ck, Disabled, None"

Build-Optionen wurden verändert, alles wird neu kompiliert
/Users/SamNitro/Downloads/Sonoff-MQTT-OTA-Arduino-master 2/sonoff/sonoff.ino:139:52: fatal error: PubSubClient.h: No such file or directory
   #include <PubSubClient.h>                 // MQTT
                                                    ^
compilation terminated.
exit status 1
Fehler beim Kompilieren für das Board Generic ESP8266 Module.

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

PeMue

vermutlich fehlt die PubSubClient Library  ;)
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Reinhart

#74
mach so wie im Wiki beschrieben, gehe in den Boardverwalter und installiere ESP8266!


und diese Einstellung ist auch falsch!
80 MHz, 40MHz, DIO, 115200, 1M (128K SPIFFS),

QIO und 1M und 64k SPIFFS

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa