ich hab mir auf nem nodemcu esp8266 nen kleinen Sketch geschrieben um eine blinkende LED am Stromzähler mitzuzählen. Klappt auch.
Code: Alles auswählen
#include <BearSSLHelpers.h>
#include <CertStoreBearSSL.h>
#include <ESP8266WiFi.h>
#include <ESP8266WiFiAP.h>
#include <ESP8266WiFiGeneric.h>
#include <ESP8266WiFiMulti.h>
#include <ESP8266WiFiScan.h>
#include <ESP8266WiFiSTA.h>
#include <ESP8266WiFiType.h>
#include <WiFiClient.h>
#include <WiFiClientSecure.h>
#include <WiFiClientSecureAxTLS.h>
#include <WiFiClientSecureBearSSL.h>
#include <WiFiServer.h>
#include <WiFiServerSecure.h>
#include <WiFiServerSecureAxTLS.h>
#include <WiFiServerSecureBearSSL.h>
#include <WiFiUdp.h>
boolean reading = false;
boolean connected = false;
byte HomematicIP[] = { 192, 333, 111, 22}; // Homematic IP-Adresse
WiFiClient client;
void setup() {
Serial.begin(9600);
Serial.println();
WiFi.begin("netzwerkname", "xxxx");
Serial.print("Connecting");
while (WiFi.status() != WL_CONNECTED) //LOOP solange verbindung aufgebaut wird. stoppt erst wenn wifi verbindung erfolgeich
{
delay(500);
Serial.print(".");
}
Serial.println();
Serial.print("Connected to WIFI!, IP address: ");
Serial.println(WiFi.localIP());
Serial.println("Connecting to Homematic..."); //Verbindung zu CCU Homematic
if (client.connect(HomematicIP, 80)) {
Serial.println("Connected to Homematic!");
} else {
Serial.println("Connection to Homematic failed");
}
}
void loop() {
int sensorValue = analogRead(A0); // read the input on analog pin 0
static unsigned int impulse = 0;
if (sensorValue < 100 ) {
impulse++;
delay(500);
Serial.println(sensorValue);
Serial.println(impulse);
// Messwert in Systemvariable auf der CCU eintragen
if (client.connect(HomematicIP,80)) {
Serial.println(impulse);
client.print("GET /config/xmlapi/statechange.cgi?ise_id=8112&new_value=");
client.print(impulse);
client.println(" HTTP/1.0");
client.println();
}
if (client.connected()){
client.stop();
}
}
// Serial.print("Connected, IP address2: ");
// Serial.println(WiFi.localIP());
}
Netzwerkprobleme schliess ich aus. Router liegt gleich daneben, wlan funzt einwandfrei. Sollte ich den Wert iwie anders übertragen? Oder nur in bestimmten intervallen. Jetzt wird es ca. alle 10-15s sein