Homeduino: universeller LAN/WLAN-Arduino für die Hausautomat
Moderator: Co-Administratoren
-
- Beiträge: 12929
- Registriert: 16.01.2009, 18:48
- Wohnort: Steingaden
- Hat sich bedankt: 1604 Mal
- Danksagung erhalten: 222 Mal
Re: Homeduino: universeller LAN/WLAN-Arduino für die Hausaut
schon mal an die idee von klassisch gedacht der daten an einen zweiten esp seriell übergibt und dann von dort das ganze erledigen?
oder die www - seite in iobroker bauen und dort alle sv´s anzeigen lassen ( funktioniert )
oder die www - seite in iobroker bauen und dort alle sv´s anzeigen lassen ( funktioniert )
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso !!!
wer schreibfehler findet darf sie behalten.
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso !!!
wer schreibfehler findet darf sie behalten.
-
- Beiträge: 142
- Registriert: 17.07.2016, 10:40
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 1 Mal
Re: Homeduino: universeller LAN/WLAN-Arduino für die Hausaut
Zweiter ESP?
Verstehe nicht ganz wozu?
Und jetzt was ganz neues anfangen wie Broker nur
Weil ich mal wieder nicht Durchsteige wäre doch ganz
Schön übertrieben
Am wemos geht's ja auch...
Liegt also wieder nur an mir
Mfg.
Verstehe nicht ganz wozu?
Und jetzt was ganz neues anfangen wie Broker nur
Weil ich mal wieder nicht Durchsteige wäre doch ganz
Schön übertrieben
Am wemos geht's ja auch...
Liegt also wieder nur an mir
Mfg.
-
- Beiträge: 12929
- Registriert: 16.01.2009, 18:48
- Wohnort: Steingaden
- Hat sich bedankt: 1604 Mal
- Danksagung erhalten: 222 Mal
Re: Homeduino: universeller LAN/WLAN-Arduino für die Hausaut
wenn es doch auf einem wemos funktioniert - warum diesen nicht vom homeduino mit daten füttern? die nutzung des esp auf dem homeduino ist doch auf diese funktion sagen wir abgestimmt..... ( aus meiner sicht )
ach: irgendwann landet man eh bei iobroker ( für mich waren die menge an wetter-SV´s und einige andere SV´s der grund mal iobroker auf den pc bzw jetzt pi zu "schmeißen" - zugriff auf den pi per vnc - alles gut ..)
ach: irgendwann landet man eh bei iobroker ( für mich waren die menge an wetter-SV´s und einige andere SV´s der grund mal iobroker auf den pc bzw jetzt pi zu "schmeißen" - zugriff auf den pi per vnc - alles gut ..)
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso !!!
wer schreibfehler findet darf sie behalten.
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso !!!
wer schreibfehler findet darf sie behalten.
-
- Beiträge: 142
- Registriert: 17.07.2016, 10:40
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 1 Mal
Re: Homeduino: universeller LAN/WLAN-Arduino für die Hausaut
so hätte ich das gerne
wenn ich die IP eingebe kommt gleich im Browser Find ich super..
Die anzeige um einen Weiteren Datenpunkt erweitern hatte ich
damals leicht machen können.. für die Leistungsmessung
der Schaltsteckdose...
Und das hätte ich gerne auf meine Homeduinos...
Auch diesen Scetch hab ich schon versucht zu zerlegen und in
den Homeduino einzufügen... ohne erfolg..
Scheint irgendwie nur mit dem Wemos zu laufen...
hier nochmal der Wemos
Wenn ich es in den Homeduino einfüge damit es durchläuft bleibt es dann letztendlich
am server.send hängen das wohl nur für ESP8266WebServer.h ist..
Hat jemand den richtigen Schubs für mich parrat???
mfg. Flo
wenn ich die IP eingebe kommt gleich im Browser Find ich super..
Die anzeige um einen Weiteren Datenpunkt erweitern hatte ich
damals leicht machen können.. für die Leistungsmessung
der Schaltsteckdose...
Und das hätte ich gerne auf meine Homeduinos...
Auch diesen Scetch hab ich schon versucht zu zerlegen und in
den Homeduino einzufügen... ohne erfolg..
Scheint irgendwie nur mit dem Wemos zu laufen...
hier nochmal der Wemos
Code: Alles auswählen
/*
* WeMos-Schaltaktor (mit Status-Meldung an CUxD und Taster-Support)
*
* Getesteter Aufbau:
* WeMos D1 mini
* Relay Shield mini
* Pin-Belegung:
* D1: Steuerleitung Relais
* D2: Taster-Öffner
* A0: Analog Eingang für Leistungsmessung
*
*
*/
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
// ******* Netzwerkeinstellungen, bitte anpassen! *******
const char* ssid = "XXXXXXXXXXX"; // SSID des vorhandenen WLANs
const char* password = "XXXXXXXXXX"; // Passwort für das vorhandene WLAN
const char* host = "192.168.0.225"; // IP-Adresse der CCU
IPAddress ip(192,168,0,211); // feste IP-Adresse für den WeMos
IPAddress dns_ip(192,168,0,1); // Adresse des DNS servers
IPAddress gateway(192,168,0,1); // IP-Adresse des WLAN-Gateways
IPAddress subnet(255,255,255,0); // Subnetzmaske
// ******* Einstellungen für CUxD, bitte anpassen! *******
String transmit_state_R1 = "ja"; // ja/nein
String CUxD_Geraet = "CUX2801004:6"; // SN:Kanal
// Definition der Ports ....
const int relay_R1 = D1 ;
const int switch_R1 = D2 ;
//********************************************************************
int sensorPin = A0;
int sensorValue = 0;
String analog = "W1analog" ; // Name der Var. auf der ccu
unsigned long deltaMessungSekunden = 1; //Zeitintervall (Sekunden) nach dem eine Messung erfolgt - NUR wenn Relais HIGH (ON)
unsigned long deltaMeldungSekunden = 600; // Zeitintervall (Sekunden) nach dem eine CCU-Meldung erfolgt (0 bedeutet nie)
float deltaSensor = 5; // watt aenderung bei der eine CCU-Meldung erfolgt (0 bedeutet nie)
float sensor = 0, analogWert = 0;
unsigned long jetztMillis = 0;
unsigned long deltaMessungMillis = deltaMessungSekunden * 1000, letzteMessungMillis = 0;
unsigned long deltaMeldungMillis = deltaMeldungSekunden * 1000, letzteMeldungMillis = 0;
//**********************************************************************
// virtuelle CCU
String virtual_CCU = "nein"; // ja/nein
// ab hier muß eigentlich nichts mehr geändert werden.....
// ******* Einstellungen HTML *******
String HTML_title = "WeMos Schaltaktor";
String HTML_background_color = "0D4C75"; //0D4C75
String HTML_title_color = "C9C9C9"; //9A916C
String HTML_text_color = "FFFFFF";
String HTML_color1 = "CECECE";
String HTML_color2 = "9A916C";
String HTML_head = "<h2><font color='#" + HTML_title_color +"'>" + HTML_title + "</font></h2>";
String HTML_end = "</body></html>";
String HTML_style = "style='background-color: #" + HTML_background_color +"; color: #" + HTML_text_color +";' alink='#" + HTML_color2 +"' link='#" + HTML_color1 +"' vlink='#" + HTML_color1 +"'";
ESP8266WebServer server(80); // Webserver initialisieren auf Port 80
WiFiServer server2(8181);
String Version = "1.3";
String Status = "0";
String Status_alt = "0";
String Status_Aenderung = "nein";
String Taster = "unbekannt";
String action = "0";
String transmit_state = "ja";
String antwort = "", meldung = "",letzteMeldungCCUzeit = "";
String zeitstempel() { // Betriebszeit als Stunde:Minute:Sekunde
char stempel[10];
int lfdStunden = millis()/3600000;
int lfdMinuten = millis()/60000-lfdStunden*60;
int lfdSekunden = millis()/1000-lfdStunden*3600-lfdMinuten*60;
sprintf (stempel,"%03d:%02d:%02d", lfdStunden, lfdMinuten, lfdSekunden);
return stempel;
}
//******************************************************************
void messung() { // Sensor abfragen
sensorValue = analogRead(sensorPin); // lesen
sensorValue = map(sensorValue ,0,1023,0,2300 ); // skalieren
{
Serial.println(zeitstempel() + " Watt: " + sensorValue);
delay(100);
letzteMessungMillis = jetztMillis;
return;
}
}
//******************************************************************
void status_aktuallisieren(){
if (digitalRead(relay_R1) == HIGH) {Status = "1";}
if (digitalRead(relay_R1) == LOW) {Status = "0";}
}
void set_CUxD() {
String meldung = "";
WiFiClient client; // Webclient initialisieren
if (!client.connect(host, 8181)) { // mit dem CCU-Port 8181 verbinden
Serial.println(" Fehler: Verbindung zur CCU konnte nicht aufgebaut werden");
delay(50);
return;
}
// meldung = meldung +"GET /WeMos.exe?state=dom.GetObject('CUxD." + CUxD_Geraet + ".SET_STATE').State('" + Status + "')";
//client.println(meldung); // Daten an CCU melden
meldung = meldung +"/WeMos.exe?state=dom.GetObject('CUxD." + CUxD_Geraet + ".SET_STATE').State('" + Status + "')";
client.print(String(F("GET ")) + meldung + F(" HTTP/1.1\r\nHost: ") + host + F(":8181\r\nConnection: close\r\n\r\n"));
}
//*******************************************************************
void melde_CCU() { // Werte an die CCU melden
WiFiClient client;
const int httpPort = 8181;
if (!client.connect(host, httpPort)) {
return;
}
String
url = "/xy.exe?antwort1=dom.GetObject('" + analog + "').State('" + sensorValue + "')";
Serial.print("Requesting URL: ");
Serial.println(url);
// This will send the request to the server
client.print(String("GET ") + url + " HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
delay(100);
// Read all the lines of the reply from server and print them to Serial
while (client.available()) {
String line = client.readStringUntil('\r');
}
letzteMeldungMillis = jetztMillis; // gemeldete Daten merken
analogWert = sensorValue;
}
//***********************************************************
void root() { // bei Aufruf des Root-Verzeichnisses
String HTML_content = "";
String HTML_start = "<html><head><meta http-equiv='refresh' content='3'><meta name='theme-color' content='#" + HTML_background_color +"'><title>" + HTML_title + "</title></head><body " + HTML_style + ">";
String time = zeitstempel();
String WeMos_ip = WiFi.localIP().toString();
HTML_content = HTML_start + HTML_head;
//
String button_text = "null";
String button_color = "FFD06E";
String button = "<span style='margin-left: 10px; background-color: #" + button_color +"; color: #000; display: inline-block; padding: 2px 10px; font-weight: bold; border: 2px solid #4f4f4f; border-radius: 2px; text-decoration: none;'>" + button_text +"</span>";
if (digitalRead(relay_R1) == HIGH) {
button_text = "eingeschalten";
button_color = "70E670";
button = "<span style='margin-left: 10px; background-color: #" + button_color +"; color: #000; display: inline-block; padding: 2px 10px; font-weight: bold; border: 2px solid #4f4f4f; border-radius: 2px; text-decoration: none;'>" + button_text +"</span>";
HTML_content = HTML_content + "<strong>Status: <a target='answer_wemos' href='http://" + WeMos_ip + "/cmd?R1=0'>" + button +"</a></strong><br><br>";
}
else {
button_text = "ausgeschalten";
button_color = "A8A8A8";
button = "<span style='margin-left: 10px; background-color: #" + button_color +"; color: #000; display: inline-block; padding: 2px 10px; font-weight: bold; border: 2px solid #4f4f4f; border-radius: 2px; text-decoration: none;'>" + button_text +"</span>";
HTML_content = HTML_content + "<strong>Status: <a target='answer_wemos' href='http://" + WeMos_ip + "/cmd?R1=1'>" + button +"</a></strong><br><br>";
}
//
HTML_content = HTML_content + "Betriebszeit: <font color='#" + HTML_color2 +"'><em>" + time + " (Std:Min:Sek)</em></font><br>";
HTML_content = HTML_content + "Verbunden mit: <font color='#" + HTML_color2 +"'><em>" + ssid + "</em></font><br>";
HTML_content = HTML_content + "Leistung: <font color='#" + HTML_color2 +"'><em>" + sensorValue + " Watt</em></font><br><br>";
int rssi = WiFi.RSSI();
HTML_content = HTML_content + "Signalstaerke: <font color='#" + HTML_color2 +"'><em>" + String(rssi) + " dBm</em></font><br><br>";
HTML_content = HTML_content + "<strong><a href='http://" + WeMos_ip + "/help'>Hilfe</a></strong>";
HTML_content = HTML_content + "<iframe name='answer_wemos' frameborder='no' height='0' width='0'>Sorry, no frames.</iframe>";
server.send(300, F("text/html; charset=utf-8"), HTML_content + HTML_end);
delay(150);
}
void help() {
String HTML_content = "";
String HTML_start = "<html><head><meta name='theme-color' content='#" + HTML_background_color +"'><title>" + HTML_title + "</title></head><body " + HTML_style + ">";
String WeMos_ip = WiFi.localIP().toString();
HTML_content = HTML_start + HTML_head;
HTML_content = HTML_content + "<strong><font color='#" + HTML_title_color +"'>Schaltaktor mit Taster und Statusmeldung an CUxD (28)exec, CCU-RemotePC kompatibel</font><br>";
HTML_content = HTML_content + "<font color='#" + HTML_color2 +"'>Version: <em>" + Version + "</em></font></strong>";
HTML_content = HTML_content + "<h3>Konfiguration fuer R1:</h3>";
HTML_content = HTML_content + "<li>Status senden: <font color='#" + HTML_color2 +"'><em>" + transmit_state_R1 + "</em></font></li>";
HTML_content = HTML_content + "<li>CUxD-Geraet: <font color='#" + HTML_color2 +"'><em>" + CUxD_Geraet + "</em></font></li>";
HTML_content = HTML_content + "<li>Taster-Typ: <font color='#" + HTML_color2 +"'><em>" + Taster + "</em></font></li><br>";
HTML_content = HTML_content + "<h3>HTTP-Befehlsuebersicht:</h3>";
HTML_content = HTML_content + "<li>\"<font color='#" + HTML_color1 +"'>http://" + WeMos_ip + "/cmd?R1=0</font>\" schaltet das Relais mit Statusmeldung an CUxD aus</li>";
HTML_content = HTML_content + "<li>\"<font color='#" + HTML_color1 +"'>http://" + WeMos_ip + "/cmd?R1=1</font>\" schaltet das Relais mit Statusmeldung an CUxD ein</li>";
HTML_content = HTML_content + "<li>\"<font color='#" + HTML_color1 +"'>http://" + WeMos_ip + "/cmd?R1=0&transmit=0</font>\" schaltet das Relais ohne Statusmeldung an CUxD aus</li>";
HTML_content = HTML_content + "<li>\"<font color='#" + HTML_color1 +"'>http://" + WeMos_ip + "/cmd?R1=1&transmit=0</font>\" schaltet das Relais ohne Statusmeldung an CUxD ein</li>";
HTML_content = HTML_content + "<li>\"<font color='#" + HTML_color1 +"'>http://" + WeMos_ip + "/cmd?R1=state</font>\" gibt den Schaltzustand des Relais als Logikwert (\"0\" oder \"1\") zurueck</li>";
HTML_content = HTML_content + "<li>\"<font color='#" + HTML_color1 +"'>http://" + WeMos_ip + "/cmd?CUxD=0</font>\" Statusmeldung an CUxD bis zum reboot ausschalten</li>";
HTML_content = HTML_content + "<li>\"<font color='#" + HTML_color1 +"'>http://" + WeMos_ip + "/cmd?CUxD=1</font>\" Statusmeldung an CUxD einschalten</li><br>";
HTML_content = HTML_content + "<h3>CUxD-Integration:</h3>";
HTML_content = HTML_content + "<li>Mit CUxD ein Geraet vom Typ (28)System/Exec/Schalter erstellen</li>";
HTML_content = HTML_content + "<li>In der CCU im Posteingang konfigurieren:<br>";
HTML_content = HTML_content + " SWITCH|CMD_SHORT: <font color='#" + HTML_color1 +"'>/usr/local/addons/cuxd/curl -s -m 5 \'http://" + WeMos_ip + "/R1-0\'</font><br>";
HTML_content = HTML_content + " SWITCH|CMD_LONG: <font color='#" + HTML_color1 +"'>/usr/local/addons/cuxd/curl -s -m 5 \'http://" + WeMos_ip + "/R1-1\'</font></li><br><br>";
HTML_content = HTML_content + "<h3><a target='_blank' href='http://ccu-remotepc.dragonfly.at/'>CCU-RemotePC</a> kompatibel:</h3>";
HTML_content = HTML_content + "<li>\"virtual_CCU\" im Sketch auf \"ja\" stellen</li>";
HTML_content = HTML_content + "<li>via TrayControl in CCU-RemotePC folgendes Geraet erstellen:<br>";
HTML_content = HTML_content + " <font color='#" + HTML_color1 +"'>Plattform: CCU; Geraete Gruppe: Switch; Geraetetyp: CUxDAktor;</font><br>";
HTML_content = HTML_content + " <font color='#" + HTML_color1 +"'>CCU IP-Adresse: " + WeMos_ip + "; SN:Kanal: WeMos00000:1</font></li>";
HTML_content = HTML_content + "<li>virtuelle CCU aktiv: <font color='#" + HTML_color2 +"'><em>" + virtual_CCU + "</em></font></li><br>";
HTML_content = HTML_content + "<br><strong><a href='http://" + WeMos_ip + "'>zurueck</a></strong><br>";
server.send(300, F("text/html; charset=utf-8"), HTML_content + HTML_end);
}
void turn_on() {
digitalWrite(relay_R1, HIGH);
Serial.println("on");
}
void turn_off() {
digitalWrite(relay_R1, LOW);
Serial.println("off");
}
void action_1() { //keinen status senden
String aktor_status = "unbekannt";
if (action == "1") {turn_on(); aktor_status = "eingeschalten";}
if (action == "0") {turn_off(); aktor_status = "ausgeschalten";}
Status_alt = action;
status_aktuallisieren();
server.send(200, F("text/plain; charset=utf-8"), "WeMos-Schaltaktor ist "+ aktor_status +", keine Meldung an CUxD");
}
void action_2() { //status senden
String aktor_status = "unbekannt";
if (action == "1") {turn_on(); aktor_status = "eingeschalten";}
if (action == "0") {turn_off(); aktor_status = "ausgeschalten";}
Status_alt = action;
status_aktuallisieren();
if (transmit_state == "ja") {set_CUxD();}
server.send(200, F("text/plain; charset=utf-8"), "WeMos-Schaltaktor ist "+ aktor_status +", Meldung an CUxD");
}
void get_state() {
String temp = zeitstempel();
status_aktuallisieren();
server.send(200, F("text/plain; charset=utf-8"), Status);
delay(100);
Serial.println(zeitstempel() + " ueber HTTP Status gemeldet");
}
void get_state_CCU() {
String CCU_state = "null";
String temp = zeitstempel();
status_aktuallisieren();
if (Status == "0") {CCU_state = "<state>false</state>";} else {CCU_state = "<state>true</state>";}
server.send(200, F("text/plain; charset=utf-8"), CCU_state);
delay(100);
Serial.println(zeitstempel() + " ueber HTTP Status gemeldet");
}
void server_2() {
// Check if a client has connected
WiFiClient client = server2.available();
if (!client) {
return;
}
// Wait until the client sends some data
Serial.println("new client");
while(!client.available()){
delay(1);
}
// Read the first line of the request
String request = client.readStringUntil('\r');
Serial.println(request);
int start = request.indexOf("exe?")+4;
int end = request.indexOf("=dom");
String answer = request.substring(start, end);
client.flush();
// Match the request
if (request.indexOf("=dom.GetObject('CUxD.WeMos00000:1.STATE').State(1)") != -1) {action = "1"; action_1();}
if (request.indexOf("=dom.GetObject%28%27CUxD.WeMos00000%3A1.STATE%27%29.State%281%29") != -1) {action = "1"; action_1();}
if (request.indexOf("=dom.GetObject('CUxD.WeMos00000:1.STATE').State(0)") != -1){action = "0"; action_1();}
if (request.indexOf("=dom.GetObject%28%27CUxD.WeMos00000%3A1.STATE%27%29.State%280%29") != -1) {action = "0"; action_1();}
if (request.indexOf("=dom.GetObject('CUxD.WeMos00000:1.STATE').Value()") != -1){get_state();}
if (request.indexOf("=dom.GetObject%28%27CUxD.WeMos00000%3A1.STATE%27%29.Value%28%29") != -1) {get_state();}
// Return the response
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/xml");
client.println(""); // do not forget this one
client.print("<xml><" + answer + ">");
if(Status == "1") {
client.print("true");
} else {
client.print("false");
}
client.print("</" + answer + "></xml>");
delay(1);
Serial.println("Client disconnected");
Serial.println("");
}
void setup() {
pinMode(relay_R1, OUTPUT); // Relais-Pin als Ausgang setzen
pinMode(switch_R1, INPUT_PULLUP); // Taster zum schalten
// Seriellen Monitor für Kontrollausgaben öffnen
Serial.begin(115200);
Serial.println("");
Serial.println("WeMos-Schaltaktor");
//WiFi.mode(WIFI_STA);
// WLAN-Verbindung herstellen
WiFi.config(ip, dns_ip, gateway, subnet); // auskommentieren, falls eine dynamische IP bezogen werden soll
WiFi.begin(ssid, password);
Serial.print("Verbindungsaufbau");
// Verbindungsaufbau abwarten
byte maxwait = 30;
while ( (WiFi.status() != WL_CONNECTED) && (maxwait > 0) ) {
delay(500);
maxwait--;
Serial.print(".");
}
if (WiFi.status() != WL_CONNECTED) {Serial.println("keine Verbindung");}
else{
Serial.println(" erfolgreich!");
Serial.println("");
Serial.print("Verbunden mit: ");
Serial.println(ssid);
Serial.print("Signalstaerke: ");
int rssi = WiFi.RSSI();
Serial.print(rssi);
Serial.println(" dBm");
Serial.print("IP-Adresse: ");
Serial.println(WiFi.localIP());
Serial.println("");
}
server.on("/", root);
server.on("/R1-1", [](){action = "1"; action_1();});
server.on("/R1-0", [](){action = "0"; action_1();});
server.on("/cmd", cmd);
server.on("/help", help);
// HTTP-Server starten
server.begin();
Serial.println(zeitstempel() + " HTTP-Server gestartet");
//*******************************************************
// Startwerte fuer Zeittrigger
letzteMessungMillis = millis();
letzteMeldungMillis = millis();
//***************************************************************
if (transmit_state == "ja") {set_CUxD();}
int sensorVal = digitalRead(switch_R1);
// Serial.println(sensorVal);
if (sensorVal == HIGH) {Taster = "schliesser";} else {Taster = "oeffner";}
// Start server2
if (virtual_CCU == "ja") {server2.begin(); Serial.println(zeitstempel() + " virtuelle CCU gestarted");}
}
void cmd() { // bei Aufruf von "../cmd" R1%3D0 R1%3D1
String CUxD = server.arg("CUxD");
String R1 = server.arg("R1");
String transmit = server.arg("transmit");
if (R1 == "0" && transmit == "0") {action = "0"; action_1();}
else if (R1 == "1" && transmit == "0") {action = "1"; action_1();}
else if ( (R1 == "0" && transmit == "1") || (R1 == "0") ) {action = "0"; action_2();}
else if ( (R1 == "1" && transmit == "1") || (R1 == "1") ) {action = "1"; action_2();}
else if (R1 == "state") {get_state();}
else if (CUxD == "1") {transmit_state_R1 = "ja"; help(); Serial.println("CUxD-Meldungen: ja");}
else if (CUxD == "0") {transmit_state_R1 = "nein"; help(); Serial.println("CUxD-Meldungen: nein");}
else {
help();
delay(100);
Serial.println(zeitstempel() + " Help");
}
}
void oeffner(){
int sensorVal = digitalRead(switch_R1);
if (sensorVal == HIGH && Status == "0") {turn_on(); delay(200);}
if (sensorVal == HIGH && Status == "1") {turn_off(); delay(200);}
if (sensorVal == LOW) {
status_aktuallisieren();
if (Status_alt != Status) {Status_alt = Status; Status_Aenderung = "ja";} else Status_Aenderung = "nein";
if (transmit_state == "ja" && Status_Aenderung == "ja") {set_CUxD();}
}
}
void schliesser(){
int sensorVal = digitalRead(switch_R1);
if (sensorVal == LOW && Status == "0") {turn_on(); delay(200);}
if (sensorVal == LOW && Status == "1") {turn_off(); delay(200);}
if (sensorVal == HIGH) {
status_aktuallisieren();
if (Status_alt != Status) {Status_alt = Status; Status_Aenderung = "ja";} else Status_Aenderung = "nein";
if (transmit_state == "ja" && Status_Aenderung == "ja") {set_CUxD();}
}
}
void loop() {
if ( (WiFi.status() != WL_CONNECTED) || (transmit_state_R1 != "ja") ) {transmit_state = "nein";} else {transmit_state = "ja";}
if (Taster == "oeffner") {oeffner();}
else if (Taster == "schliesser") {schliesser();}
server.handleClient(); // auf HTTP-Anfragen warten
//********************************************************************************
jetztMillis = millis();
// neue Messung falls Zeitintervall erreicht
if(jetztMillis - letzteMessungMillis > deltaMessungMillis) {
if (digitalRead(relay_R1) == HIGH) //- NUR wenn Relais HIGH (ON)
messung();
}
// neue Meldung an die CCU falls Zeitintervall erreicht
if(!deltaMeldungMillis == 0 && jetztMillis - letzteMeldungMillis > deltaMeldungMillis) {
Serial.print(zeitstempel() + " Zeitintervall erreicht: ");
melde_CCU();
}
// neue Meldung an die CCU falls Watt aenderung den Schwellwert erreicht
if(!deltaSensor == 0 && abs(sensorValue - analogWert) >= deltaSensor) { // Neue Meldung wg. Watt aenderung?
Serial.print(zeitstempel() + " Watt aenderung: ");
melde_CCU();
}
//*********************************************************************************
if (virtual_CCU == "ja") {server_2();}
}
am server.send hängen das wohl nur für ESP8266WebServer.h ist..
Hat jemand den richtigen Schubs für mich parrat???
mfg. Flo
-
- Beiträge: 12929
- Registriert: 16.01.2009, 18:48
- Wohnort: Steingaden
- Hat sich bedankt: 1604 Mal
- Danksagung erhalten: 222 Mal
Re: Homeduino: universeller LAN/WLAN-Arduino für die Hausaut
ok, mit der beschreibung habe ich dich falsch verstanden ... du möchtest mit dem homeduino also direkt von einer www-seite schalten ?
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso !!!
wer schreibfehler findet darf sie behalten.
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso !!!
wer schreibfehler findet darf sie behalten.
-
- Beiträge: 142
- Registriert: 17.07.2016, 10:40
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 1 Mal
Re: Homeduino: universeller LAN/WLAN-Arduino für die Hausaut
Das wäre ein Bonus...
Aber
In erster Linie geht es mir darum die Daten der Sensoren anzuzeigen...
zB Temperatur, feuchte, usw...
So wie oben :
Leistung
Aber
In erster Linie geht es mir darum die Daten der Sensoren anzuzeigen...
zB Temperatur, feuchte, usw...
So wie oben :
Leistung
-
- Beiträge: 12929
- Registriert: 16.01.2009, 18:48
- Wohnort: Steingaden
- Hat sich bedankt: 1604 Mal
- Danksagung erhalten: 222 Mal
Re: Homeduino: universeller LAN/WLAN-Arduino für die Hausaut
das hatte ich vor langer zeit mal begonnen und dann einfach iobroker genommen - war mir zuviel "stress"
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso !!!
wer schreibfehler findet darf sie behalten.
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso !!!
wer schreibfehler findet darf sie behalten.
-
- Beiträge: 142
- Registriert: 17.07.2016, 10:40
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 1 Mal
Re: Homeduino: universeller LAN/WLAN-Arduino für die Hausaut
Das verlangt dann wieder einen Server oder ähnlich...
Will ich eigentlich vermeiden...
Gibt es auch keine Möglichkeit die Variablen aus der ccu2
Über Browser abzufragen? Einen Befehl oder ähnlich?
Will ich eigentlich vermeiden...
Gibt es auch keine Möglichkeit die Variablen aus der ccu2
Über Browser abzufragen? Einen Befehl oder ähnlich?
-
- Beiträge: 12929
- Registriert: 16.01.2009, 18:48
- Wohnort: Steingaden
- Hat sich bedankt: 1604 Mal
- Danksagung erhalten: 222 Mal
Re: Homeduino: universeller LAN/WLAN-Arduino für die Hausaut
habe ich nicht probiert. wird mit prg gehen aber das ist nicht meine welt - pi komplett bestellt - speicherkarte fertig gemacht .... ein wochenende gewerkelt ( das iobroker-forum ist TOP ) und gut war .. ok die ersten anzeigen waren anstrengen, doch langsam wird es und der winter ist lang :-)
werde jetzt langsam mal alle mega + esp sketche auf das neue format umstellen und dann auch mal der ccu ein ( murks)update gönnen
ach: und aus dem einen PI wurden inzwischen vier
werde jetzt langsam mal alle mega + esp sketche auf das neue format umstellen und dann auch mal der ccu ein ( murks)update gönnen
ach: und aus dem einen PI wurden inzwischen vier
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso !!!
wer schreibfehler findet darf sie behalten.
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso !!!
wer schreibfehler findet darf sie behalten.
-
- Beiträge: 142
- Registriert: 17.07.2016, 10:40
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 1 Mal
Re: Homeduino: universeller LAN/WLAN-Arduino für die Hausaut
Ich glaub jetzt hab ich's.....
Werde noch etwas verfeinern und testen ....
Stelle es die Tage dann ein
Mfg.
Flo