Guten Abend,
ich versuche seit Stunden vom Arduino Daten an die Homematic CCU2 zu schicken. Ich komme einfach nicht weiter und hoffe es kann mir jemand bei meinem Problem helfen.
Ich habe folgenden Aufbau:
- Arduino UNO mit Ethernet Shield
- An dem Arduino ist ein Varistor angeschlossen, der die Helligkeit misst.
Das funktioniert auch soweit und die Daten werden am Seriellen Monitor angezeigt.
Ich habe in der Homematik CCU2 eine Systemvariable "Helligkeit" angelegt in der ich die Daten vom Arduino speichern will.
Im Arduino habe ich folgenden Sketch laufen:
#include <SPI.h>
#include <Ethernet.h>
//Analoge Fotozelle initialisieren
int FotozellePin = A0; //Eingangspin für Fotozelle
int FotozelleValue = 0;
boolean reading = false;
boolean connected = false;
byte mac[] = { 0x54, 0x55, 0x58, 0x10, 0x00, 0x24 }; // entspricht einer MAC von 84.85.88.16.0.36
byte ip[] = { 192, 168, 178, 99 }; // Arduino IP-Adresse
byte HomematicIP[] = { 192, 168, 178, 69 }; // Homematic IP-Adresse
byte gateway[] = { 192, 168, 178, 1 }; // Gateway
byte subnet[] = { 255, 255, 255, 0 }; // subnet mask
EthernetClient client;
void setup()
{
Ethernet.begin(mac, ip, gateway, subnet);
Serial.begin(9600);
delay(1000);
Serial.println("connecting...");
if (client.connect(HomematicIP, 80)) {
Serial.println("connected");
} else {
Serial.println("connection failed");
}
}
void loop()
{
FotozelleValue=analogRead(FotozellePin);
if (client.connect(HomematicIP,80)) {
Serial.println(FotozelleValue);
client.print("GET /config/xmlapi/statechange.cgi?ise_id=5239&new_value=");
client.print(FotozelleValue);
client.println(" HTTP/1.0");
}
if (client.connected()){
client.stop();
}
delay(5000); //Poll every 5000ms
}
Wenn ich die Zeile "192.168.178.69/config/xmlapi/statechange.cgi?ise_id=5239&new_value=50 HTTP/1.0" direkt im Browser eingebe wird die Variable aktualisiert. Lasse ich das Programm laufen wird die Variable aber nicht aktualisiert.
ise_id=5239 ist die VariablenID in der Homematic
Ich hoffe mir kann jemand bei meinem Problem helfen
Vielen Dank schon mal
Grüße Markus