[HowTo] Sonoff - 230V Relais mit ESP8266

Begonnen von gloob, 27 Juni 2016, 14:52:17

Vorheriges Thema - Nächstes Thema

Reinhart

Zitat von: Depechem am 26 Januar 2017, 10:39:46
Danke Reinhart das klingt sehr gut.
- Ich könnte damit sozusagen vier verschiedene Lampen (Gesamtausgangsspannung 10A) unabhänging von einander schalten!?
- Wo hast du es dir beschafft?
- weiterhin benötige ich zum flashen dann ein FTDI oder!?

- ja, aber Nulleiter und Erde sind alle gemeinsam verbunden, daher geht das nur innerhalb desselben Stromkreises.
- bei Itead direkt weil es sonst noch keiner hat (zumindest habe ich es noch nirgends sonst wo gesehen)
- ja, oder du nimmst die Originalsoftware denn die ist ja schon drauf, dann aber kein FHEM.

Ich habe mir alle Kontakte ja potentialfrei gemacht weil keine 230V damit schalten will und somit die Trennung direkt an der Print durchgeführt. Musste dabei aber die Klemmen auslöten, weil die unterhalb der Klemmen auch verbunden sind. Aber wenn du das nicht brauchst, dann musst auch nichts ändern.

Ich weiß aber jetzt nicht ob die pünktlich liefern, weil sie gerade Neujahr feiern! Da werden vermutlich die alten Reisschnaps Bestände aufgearbeitet und keine Bestellungen.

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

sonic21

Hallo,

erstmals danke für die ganzen Anleitungen hier.

Ich habe bereits mehrere ESPs über Mosquitto MQTT in fhem eingebunden (Temperatursensoren und Taster) und erfolgreich am Laufen.
Meine neuesten Sonoffs (Standard und 10A) habe ich bereits mit EasyESP geflasht und mit folgenden Parametern eingerichtet:

Config: Name: sonoffff
Protocol: PiDOme MQTT => Verbindung zu fhem läuft auch

Devices:
Device: Switch input
Switch Type: Switch
Name: Sonoff,
IDX/variable: 10
GPIO: GPIO-12
Value Name 1: Switch

Rules:

on Sonoff#Switch do
if [Sonoff#Switch]=1
   gpio,12,1
else
   gpio,12,0
endif
endon

Advanced: Subscribe Template: %sysname%/control/#


Wenn ich über den HTML Befehl http://ip/control?cmd=GPIO,12,1 schalte funktioniert auch alles wie gewünscht.
Ich bekomme auch Statusänderungen des Relais in fhem angezeigt, allerdings schaffe ich es einfach nicht via fhem das Relais zu schalten... hierzu meine fhem config.

define Sonoff MQTT_DEVICE
attr Sonoff IODev Mosquitto
attr Sonoff eventMap /GPIO,12,1:on/GPIO,12,0:off/
attr Sonoff publishSet GPIO,12,1 GPIO,12,0 sonoffff/control/cmd
attr Sonoff stateFormat state
attr Sonoff subscribeReading_Switch /hooks/devices/10/SensorData/Switch


Wäre super wenn mir hier jemand helfen kann, ich weiß leider nicht mehr weiter. Ich habe wohl irgendwo einen Logikfehler drinnen...
Wenn etwas kompletter Mist sein sollte verzeihe es man mir bitte :)


Vielen Dank schon mal!

Markus

Billy

Zitat von: sonic21 am 01 Februar 2017, 18:02:55
Hallo,

erstmals danke für die ganzen Anleitungen hier.

Ich habe bereits mehrere ESPs über Mosquitto MQTT in fhem eingebunden (Temperatursensoren und Taster) und erfolgreich am Laufen.
Meine neuesten Sonoffs (Standard und 10A) habe ich bereits mit EasyESP geflasht und mit folgenden Parametern eingerichtet:
Vielen Dank schon mal!

Markus

Wenn du schon mit MQTT arbeitest, dann würde ich dir den arends Sketch empfehlen,
dann brauchst du dich nicht um rules zu kümmern.

siehe auch WIKI von Reinhart.

Billy
FHEM immer akt. auf 3 BeagleBoneBlack: 2xHMLAN 2xJeelink ;10x HM-CC-TC, 13x HM-CC-VD, 1x HM-ES-PMSw1-Pl, 3x HM-LC-SW1-PL2, viele ESP8266, Tasmota Scripting, Mqtt*

Reinhart

es kann eigentlich der Fehler nur im Subscribe Template oder im Publishset sein, das dies nicht überein stimmt.
Kannst ja einmal im Subscribe Template die Variable %sysname% gegen sonoffff ersetzen und schauen ob es dann funktioniert.

Wenn du schon MQTT benutzt, warum nimmst du dann nicht den Arends Sketch, dann sparst du dir die Rules weil der Taster dort von Hause aus geht, aber es sollte mit ESPEasy ja genau so funktionieren. Die Led solltest du allerdings in den Rules dann auch noch mitschalten zwecks optischem Feedback.

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

sonic21

Danke für eure Tips, vorallem für den mit dem Arends Sketch.
Habe jetzt meine beiden Sonoffs damit geflasht und alles klappt wie es soll  :)

Vielen Dank nochmal!

hermanski.k

#275
Hallo zusammen,

ich habe gestern meine ersten Sonoff devices erhalten.

Flashen konnte ich ohne Probleme. Ich habe auf die Module die Software von arendst geladen. Über das Webinterface ist auch alles erreichbar und schaltbar.

Nun wollte ich mqtt vorbereiten um die Module über FHEM zu verwenden.
Hier habe ich mich an die Anleitung des Wiki https://wiki.fhem.de/wiki/Sonoff#MQTT_Server_einrichten gehalten.
Leider funktioniert es bei mir nicht richtig.

In der console der Moduls erscheint lediglich folgendes Ergebnis:
00:00:00 APP: Project sonoff (Topic sonoff, Fallback DVES_1697CD, GroupTopic sonoffs) Version 3.1.2
00:00:00 Wifi: Connecting to AP1 HSHKH (XXXXXXXXXXXXXX) in mode 11N as sonoff-6093...
00:00:07 Wifi: Connected
00:00:07 HTTP: Webserver active on sonoff-6093 with IP address 192.168.178.29
19:00:36 MQTT: Attempting connection...
19:01:04 MQTT: Attempting connection...
19:01:21 MQTT: Attempting connection...
19:01:39 MQTT: Attempting connection...
19:01:56 MQTT: Attempting connection...
19:02:13 MQTT: Attempting connection...
19:02:30 RSLT: tele/sonoff/UPTIME = 1
19:02:30 MQTT: Attempting connection...
19:02:48 MQTT: Attempting connection...
19:03:05 MQTT: Attempting connection...
19:03:22 MQTT: Attempting connection...
19:03:39 MQTT: Attempting connection...
19:03:57 MQTT: Attempting connection...
19:04:14 MQTT: Attempting connection...
19:04:31 MQTT: Attempting connection...
19:04:41 RSLT: stat/sonoff/POWER = ON
19:04:48 MQTT: Attempting connection...
19:05:05 MQTT: Attempting connection...
19:05:23 MQTT: Attempting connection...
19:05:40 MQTT: Attempting connection...


Eine Mqtt verbindung wird nicht bestätigt.

In arendst Software selbst wurden folgende Anpassungen durchgeführt:
#define STA_SSID               "SSID"      // Wifi SSID
#define STA_PASS               "password"  // Wifi password
#define WIFI_HOSTNAME          "%s-%04d"         // Expands to <MQTT_TOPIC>-<last 4 decimal chars of MAC address>
#define WIFI_CONFIG_TOOL       WIFI_WPSCONFIG    // Default tool if wifi fails to connect (WIFI_SMARTCONFIG, WIFI_MANAGER or WIFI_WPSCONFIG)


// Syslog
#define SYS_LOG_HOST           "Ip-Adresse-Server"

// MQTT
#define MQTT_HOST              "Ip-Adresse-Server"
#define MQTT_PORT              1883

Bei  "Ip-Adresse-Server" wurde die IP meines Raspberry Fhem eingetragen.

Ich würde mich über Hinweise zur Problemlösung freuen.
Vielen Dank und SG

Reinhart

#276
offensichtlich ist der Broker nicht erreichbar!

Schau einmal am Raspi wie der Status vom Mosquitto ist:
sudo service mosquitto status

es sollte diese Meldung kommen.
pi@raspberry ~ $ sudo service mosquitto status
[ ok ] mosquitto is running.
pi@raspberry ~ $


du kannst auch noch folgenden Test durchführen.
mosquitto_sub -h localhost -v -t test

am Raspi eingeben

dann einen zweite Session öffnen und folgenden Befehl absetzen:
mosquitto_pub -h localhost -t test -m "Test Mosquitto"

der Text sollte dann in der ersten Console erscheinen!

pi@raspberry ~ $ mosquitto_sub -h localhost -v -t test
test Test Mosquitto



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

hermanski.k

Bin leider er heute zum testen gekommen.

also wenn ich eingebe sudo service mosquitto status
erhalte ich:
● mosquitto.service - LSB: mosquitto MQTT v3.1 message broker
   Loaded: loaded (/etc/init.d/mosquitto)
   Active: active (running) since Sa 2017-01-28 18:22:32 CET; 1 weeks 1 days ago
  Process: 629 ExecStart=/etc/init.d/mosquitto start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/mosquitto.service
           └─657 /usr/sbin/mosquitto -c /etc/mosquitto/mosquitto.conf

Feb 02 23:55:12 raspberrypi systemd[1]: Started LSB: mosquitto MQTT v3.1 mes....
Feb 03 18:39:37 raspberrypi systemd[1]: Started LSB: mosquitto MQTT v3.1 mes....
Feb 03 18:49:19 raspberrypi systemd[1]: Started LSB: mosquitto MQTT v3.1 mes....
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
Hint: Some lines were ellipsized, use -l to show in full.



Wenn ich anschließen den Test durchführe in der ssh,
passiert garnichts:

pi@raspberrypi:~ $ mosquitto_sub -h localhost -v -t test


hermanski.k

OK der der Test mit den 2 SSH Fenstern hat geklappt.

Die richtigen Antworten wurden angezeigt.
in der Console des Sonoff aber weiterhin

00:00:07 HTTP: Webserver active on sonoff-6093 with IP address 192.168.178.29
23:24:36 MQTT: Attempting connection...
23:24:54 MQTT: Attempting connection...
23:25:11 MQTT: Attempting connection...
23:25:29 MQTT: Attempting connection...
23:25:46 MQTT: Attempting connection...
23:26:03 MQTT: Attempting connection...
23:26:20 MQTT: Attempting connection...


Die mqtt Einstellungen des Sonoff sind wie folgt:

HOST: 192.168.178.43 (ip unter der der raspberry per ssh erreichbar ist)
Port: 1883
Client Id: DVES_%06X
USER: DVES_USER
Password: DVES_PASS
Topic: sonoff





Würde mich über weiter hilfen freuen. SG

Reinhart

#279
ok, das schaut ja zunächst gut aus.

Dann gib doch mal am Broker ein: mosquitto_sub -d -v -t \#
Der Broker hört nun auf alles was ankommt und zeigt es dir an. Du kannst nun am Sonoff den Taster drücken um einen Schaltvorgang auszulösen um diesen in der Brokerconsole zu empfangen. Eventuell auch vergleichen was am Sonoff in der Console weggesendet wurde, muss ja dasselbe sein. Siehe im angehängten Bild, die letzten 2 Befehle habe ich händisch am Sonoffpow2 geschalten. Die anderen Einträge sind die sogenannte Telemetriedaten die im Zyklus (teleperiod) ankommen.


09:41:50 MQTT: stat/sonoffpow2/LIGHT = OFF
09:41:51 MQTT: stat/sonoffpow2/LIGHT = ON

Protokoll aus der Sonoff Console und diese beiden müssen auch am Broker ankommen.

PS: übrigens, das Consolen Logging kannst du mit "STRG + C abbrechen".

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

Reinhart

#280
Nachtrag:

schau doch mal ins Log vom Mosquitto ( /var/log/mosquitto/mosquitto.log ) , da solltest du solche Einträge finden wenn der Sonoff connectet. Interessant wäre ja was da im Log bei dir steht, vielleicht gibt dir das Hinweise zur Fehlerbehebung.

1485994139: New client connected from 192.168.178.29 as DVES_E76B4E (c1, k15, u'DVES_USER').

Ich habe dir hier noch ein Bild angehängt wie die Kommunikation des Sonoff --> FHEM funktioniert.

LG
Reinhart

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

BikeAlex

Guten Abend alle Zusammen,

ich hoffe ich bin mit meiner Information hier an der richtigen Stelle, ansonsten bitte dementsprechend verschieben.

Nach dem ich ewig versucht habe das 1 Channel Inching/self-locking Switch   ( https://www.itead.cc/smart-home/inching-self-locking-wifi-wireless-switch.html )  zu flashen und dabei fast verzeifelt bin, scheint es aktuell so zu sein das RX & TX nicht auf die Pins herausgeführt sind.
Nach dem ich im ITEAD Forum folgende Grafik gefunden habe und daraufhin die RX/TX Signale  direkt vom Chip zum flashen abgegriffen habe hat das flashen sofort funktioniert.

Ich hoffe ich konnte euch mit folgenden Informationen weiterhelfen.
Vll kann ja jemand diese Information noch mit ins Wiki einpflegen ?

Lg BikeAlex

hermanski.k

#282
Hallo Zusammen,

ich versurch im Moment die Temperatur- und Luftfeutigkeitsdaten meines Sonoff TH 16 in Fhem einzubinden.

Leider  klappen die Einstellungen aus dem https://wiki.fhem.de/wiki/Sonoff bei mir nicht.
Sensor ist bei mir der AM2301 (per Klinke angebunden an den Sonoff. Software Stand ist v3.9.15  von der Seite https://github.com/arendst/Sonoff-Tasmota. Würde mich super über Hilfestellungen freuen.

Gruß,

kamilo

Reinhart

die Wiki Beispiele beziehen sich alle auf LEGACY Format, du musst vorher die im Wiki erwähnten Punkte beachten die es zur Lösung der JSON Problematik schon gibt. Ich nehme an, du siehst bereits die Temp. und Hum. im Webif des Modules.

Mit der 3.9.15 wird das ohne Konvertierung des Json Strings nicht so ohne weiteres funktionieren.

nimm diesen Punkt 2 aus dem Wiki, der 3. ist leider zurück gezogen worden:
2. in diesem Thread wurde ein JSON to Reading Modul vorgestellt, dass mit Hilfe eines "notify" den JSON String analysiert und alle darin enthaltenen Daten in Readings kopiert. Die Readings werden dabei automatisch angelegt.


sobald hier eine endgültige Lösung in Sicht ist werde ich alle Beispiele im Wiki danach anpassen, es geht aber primär eigentlich nur um das richtige Format für die subscribeReading.

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

hermanski.k

Ok. Danke für den Hinweis.
Habe jetzt das Modul eingebunden.

Dann habe ich in FHEM
folgendes eingegeben:
attr Sonoff004temp subscribeReading_Sensor tele/sonoff004/SENSOR
define n1_j2r notify Sonoff004temp:Sensor:.* { j2r($NAME,$EVENT)}


Das Ergebnis habe ich angehangen.

Leider werden die Werte bei mir nicht aktualisiert. Per webinterface sehe ich andere Werte.

Wäre für Hinweise weiterhin dankbar.
SG