Rollladensteuerung mit ESP01 für Schalterdoseneinbau

Begonnen von Papa Romeo, 12 Juni 2018, 18:43:52

Vorheriges Thema - Nächstes Thema

localhosthack0r

Hi,
danke fürs teilen @Papa Romeo!
Ich verfolge schon länger mit großem Interesse die ESP/Tasmota/Obi/... Threads hier im Board.
Habe schon einige Sonoffs und Obi-Dosen (mit Tasmota) im Einsatz.

Hatte schon länger überlegt unseren Wohnzimmer-Raffstore smart zu machen, gleichzeitig aber den derzeit Verbauten Schalter (Doppelwippe mechanisch verrriegelt) Zwecks WAF beizubehalten. :)

Da kommt diese Projket wie gerufen! Die meisten Komponenten dürften in der Bastelkiste vorhanden sein, nur Relais und ESP müsste ich mir noch beschaffen.
Daher die Frage in die Runde:
Hat zufällig jemand eine Platine über, die er mir überlassen könnte?

Papa Romeo

...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

daruel

@Papa Romeo

Wo bestellst du denn immer deine Platinen? Zu deinen angegebenen 60ct per Stück habe ich noch keinen Anbieter gefunden.

Danke

balli1187

Zitat von: daruel am 02 Oktober 2018, 13:41:37
@Papa Romeo

Wo bestellst du denn immer deine Platinen? Zu deinen angegebenen 60ct per Stück habe ich noch keinen Anbieter gefunden.

Danke
jlcpcb.com


Gesendet von iPhone mit Tapatalk
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

stefan-dd

Mit welcher ESP Firmware funktioniert das Prozentuale ansteuern?

Papa Romeo

@daruel:   Balli hat´s dir ja schon geschrieben, aber mit 60 Cent kommt man nicht mehr hin. Ich habe gerade heute wieder 4 Platinen zu neuen und verbesserten / aktualisierten  Projekten geordert und für die 40 Platinen zahle ich knapp über 30 Euro. Damit liegt die Platine bei etwa 76 Cent.
Bestellst Du nur ein Projekt musst du schon mit 80 Cent rechnen.

@stefan-dd:     ...funktioniert mit meinem zum Projekt eingestellten Sketch, den Holger (Danke nochmal an Ihn!) dahin erweitert hat.
Mit TASMOTA habe ich es noch nie versucht und kann dir daher leider nicht sagen ob eventuell damit diese Ansteuerung auch möglich ist.

Und mit dem restlichen Spielereien,die es da noch gibt, hab ich mich ehrlich gesagt noch nie beschäftigt.... ::) :P ;D ;D ;D ;D
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

stefan-dd

Wo finde ich den Sketch, irgendwie sehe ich ihn nicht?

Papa Romeo

...im ersten Post, gleich nach "Papa Romeo"...

ESP01_Rollladen.ino (23.46 kB - runtergeladen 27 Mal.)

...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

daruel

Zitat von: Papa Romeo am 02 Oktober 2018, 17:06:35
@daruel:   Balli hat´s dir ja schon geschrieben, aber mit 60 Cent kommt man nicht mehr hin. Ich habe gerade heute wieder 4 Platinen zu neuen und verbesserten / aktualisierten  Projekten geordert und für die 40 Platinen zahle ich knapp über 30 Euro. Damit liegt die Platine bei etwa 76 Cent.
Bestellst Du nur ein Projekt musst du schon mit 80 Cent rechnen.

Danke! 80 Cent sind ja auch sehr human, ich hatte da mehr als das Doppelte

daruel

Wollte mich erst nochmal für die ganze Arbeit und das Teilen mit uns bedanken.

Habe jetzt die Platinen erhalten (inkl. Versand  7,50 für 10 Stück) und warte nur noch auf die Relays und die Netzteile.

Wenn dann alles komplett ist, wie hast du/ihr das Ding in FHEM eingebunden? Habe bis jetzt die ESPs nur mit EspEasy verwendet, das ist ja quasi selbsterklärend.


Papa Romeo

Hallo Daruel,

hier mal meine Definitionen für FHEM:

DEVICE_225 (ESP01_ROLLLADEN)
define DEVICE_225 MQTT_DEVICE;
attr DEVICE_225 alias ESP01_Rollladen;
attr DEVICE_225 IODev myBroker;
attr DEVICE_225 icon temperature_humidity;
attr DEVICE_225 room ESP01;
attr DEVICE_225 stateFormat {sprintf("maximale Position: %.f - - - aktuelle Position: %.f - - - zu %.f Prozent geöffnet", ReadingsVal($name,"MAXPOS",0), ReadingsVal($name,"POS",0), ReadingsVal($name,"POS%",0))};
attr DEVICE_225 subscribeReading_STATUS ESP01_225/Status;
attr DEVICE_225 subscribeReading_MAXPOS ESP01_225/maxPosition;
attr DEVICE_225 subscribeReading_POS ESP01_225/Position;
attr DEVICE_225 subscribeReading_POS% ESP01_225/Position_%;
attr DEVICE_225 subscribeReading_BATT ESP01_225/Spannung

define MQTT_DEVICE_225_Aktor MQTT_BRIDGE DEVICE_225_Aktor;
attr MQTT_DEVICE_225_Aktor IODev myBroker;
attr MQTT_DEVICE_225_Aktor event-on-change-reading .*;
attr MQTT_DEVICE_225_Aktor publishState ESP01_225/Befehl;
attr MQTT_DEVICE_225_Aktor room ESP01

define MQTT_DEVICE_225_ASensor MQTT_BRIDGE DEVICE_225_ASensor;
attr MQTT_DEVICE_225_ASensor IODev myBroker;
attr MQTT_DEVICE_225_ASensor event-on-change-reading .*;
attr MQTT_DEVICE_225_ASensor subscribeSet ESP01_225/Status;
attr MQTT_DEVICE_225_ASensor room ESP01

define MQTT_DEVICE_225_BSensor MQTT_BRIDGE DEVICE_225_BSensor;
attr MQTT_DEVICE_225_BSensor IODev myBroker;
attr MQTT_DEVICE_225_BSensor event-on-change-reading .*;
attr MQTT_DEVICE_225_BSensor subscribeSet ESP01_225/Position;
attr MQTT_DEVICE_225_BSensor room ESP01

define MQTT_DEVICE_225_CSensor MQTT_BRIDGE DEVICE_225_CSensor;
attr MQTT_DEVICE_225_CSensor IODev myBroker;
attr MQTT_DEVICE_225_CSensor event-on-change-reading .*;
attr MQTT_DEVICE_225_CSensor subscribeSet ESP01_225/Position_%;
attr MQTT_DEVICE_225_CSensor room ESP01

define MQTT_DEVICE_225_DSensor MQTT_BRIDGE DEVICE_225_DSensor;
attr MQTT_DEVICE_225_DSensor IODev myBroker;
attr MQTT_DEVICE_225_DSensor event-on-change-reading .*;
attr MQTT_DEVICE_225_DSensor subscribeSet ESP01_225/maxPosition;
attr MQTT_DEVICE_225_DSensor room ESP01

define DEVICE_225_Aktor dummy;
attr DEVICE_225_Aktor alias ESP01 Status;
attr DEVICE_225_Aktor devStateIcon Up:rc_UP off:rc_STOP on:rc_STOP  Down:rc_DOWN;
attr DEVICE_225_Aktor event-on-change-reading .*;
attr DEVICE_225_Aktor icon remotecontrol/black_btn_HOMEDroid;
attr DEVICE_225_Aktor room ESP01;
attr DEVICE_225_Aktor webCmd 0: 10: 20: 30: 40: 50: 60: 70: 80: 90: 100: Up: Stop :Down

define DEVICE_225_ASensor dummy;
attr DEVICE_225_ASensor alias ESP01 Rollo ;
attr DEVICE_225_ASensor devStateIcon schliesst:remotecontrol/black_btn_DOWN steht:remotecontrol/black_btn_STOP oeffnet:remotecontrol/black_btn_UP;
attr DEVICE_225_ASensor event-on-change-reading .*;
attr DEVICE_225_ASensor icon edit_settings;
attr DEVICE_225_ASensor room ESP01

define DEVICE_225_BSensor dummy;
attr DEVICE_225_BSensor alias ESP01 Position Absolut;
attr DEVICE_225_BSensor event-on-change-reading .*;
attr DEVICE_225_BSensor icon edit_settings;
attr DEVICE_225_BSensor room ESP01

define DEVICE_225_CSensor dummy;
attr DEVICE_225_CSensor alias ESP01 Position in %;
attr DEVICE_225_CSensor event-on-change-reading .*;
attr DEVICE_225_CSensor icon edit_settings;
attr DEVICE_225_CSensor room ESP01

define DEVICE_225_DSensor dummy;
attr DEVICE_225_DSensor alias ESP01 Position maximum;
attr DEVICE_225_DSensor event-on-change-reading .*;
attr DEVICE_225_DSensor icon edit_settings;
attr DEVICE_225_DSensor room ESP01

define DEVICE_225_AktorESP1 doif ([DEVICE_225_Aktor] eq "Stop") (set DEVICE_225_Aktor on, sleep 0.5  set DEVICE_225_Aktor off );
attr DEVICE_225_AktorESP1 do always;
attr DEVICE_225_AktorESP1 icon recycling;
attr DEVICE_225_AktorESP1 room ESP01


...nach Anlegen des letzten Define dann noch nach ,,sleep 0.5" einen Strichpunkt setzen !!!
Mach ich das beim Anlegen, meldet FHEM einen Fehler !
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

daruel

Ok, das sind ja einige attribute  :D  Gut, dass man die fhem.cfg editieren kann

Wie wird denn zwischen mehreren Modulen unterschieden? Ich denke, bei deinem DEVICE_225 ist mit 225 das Ende der IP gemeint.
Ich würde beim flashen der .ino auch jedem Modul eine eigene geben, damit das immer sicher zugeordnet ist.

Wenn das alles läuft, sollte ich dir wohl ein Bier ausgeben  ;)

Papa Romeo

...genau so isses...meine Module heißen alle DEVICE xxx. Und wie du schon erkannt hast sind die 3x gleichzusetzen mit der IP, die ich fest vergeben habe.
Auf ein Bier treffen...warum nicht, wenn die Distanz nicht all zuweit ist. ;) :)
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

daruel

dann soll das wohl klappen, ...oder auch nicht ;)
Habe bis jetzt noch nichts mit MQTT gemacht und konnte im define keine IP-Adresse finden , aber dann erkennt das Modul ja einfach den Namen welcher in der .ino eingetragen wurde und sich dann im Netzwerk wiederfindet

Das Bier könnte ich wohl nur per paypal ausgeben, Ruhrgebiet und Süddeutschland ist jetzt doch schon ein Stückchen  ;)

Papa Romeo

..naja...schon ne Ecke...bis dahin iss das dann verdunstet.... ;) :D

...die IP-Adresse musst du im Sketch eingeben. Genauso wie deine SSID und dein WLan-Passwort.  -->

..im unteren Beispiel  z.B. die "225" dann die IP -->  192.178.1.225

// ... einmalig erforderliche User-Einstellungen

String      NAME          = "ESP01_";                            // Name des Device --> erster Teil des MQTT-Topics
int           WIP             =  225;                                  // Wunsch-IP bei statischer IP-Zuweisung --> 0 fuer DHCP
String      ID               = "225";                                 // bei mir Wunsch-IP bei statischer IP-Zuweisung --> wahlweise zweiter Teil des MQTT-Topics z.B. auch fuer DHCP
const char* mqtt_server   = "192.178.1.2";                // IP auf der FHEM und Mosquitto laeuft
const char* ssid               = "Deine SSID";                 // Eigene SSID
const char* password       = "WLan-Passwort";           // WLAN-Passwort
const char* start              = "Raspberry";                  // Name frei waehlbar
int         Time_VOLTAGE   =  120;                             // ALife-Intervall für Abfrage der Betriebsspannung in Sekunden
int         Fahrzeit              =  20;                              // Fahrzeit des Rollladens in Sekunden
int         Modus                =  1;                                // 1 --> Handsteuerung über Rollladen Dreh- o. Tast-Schalter mit gegens. mech. Verriegelung
                                                                             // 2 --> Handsteuerung über Doppel-Taster
                                                                             // 3 --> Handsteuerung über Doppel_Taster - Direktumschaltung (@ Holger)

// ... eventuell weitere erforderliche User-Einstellungen

// Werte fuer statische IP-Adresse                         
//Gateway
int IP1    = 192;    // 1. Stelle IP - Adresse
int IP2    = 178;    // 2. Stelle IP - Adresse
int IP3    = 1;      // 3. Stelle IP - Adresse
int GWY  = 254;    // 4. Stelle IP - Adresse

// DNS
int DN1    = 255;    // 1. Stelle DNS
int DN2    = 255;    // 2. Stelle DNS
int DN3    = 255;    // 3. Stelle DNS
int DN4    = 0;      // 4. Stelle DNS

// ... ENDE der individuellen User-Einstellungen !!!!!
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary