WeMos D1 mini als WLAN-Sensor/-Aktor

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

prinzeisenherz1
Beiträge: 194
Registriert: 22.01.2015, 19:44
Danksagung erhalten: 1 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von prinzeisenherz1 » 16.05.2017, 22:07

Mal kurz ne frage an die Profis, wie konvertiere ich eine unsigned int um in eine Ganzzahl ohne auf oder abzurunden?
Ich möchte quasi aus nem Wert z.B 15.11 ein 15
Das soll aber auch bei 15.99 eine 15 sein


Gruß Johnny

dondaik
Beiträge: 12887
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1584 Mal
Danksagung erhalten: 221 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von dondaik » 16.05.2017, 22:23

tante G sagt:
- dtostrf ....
- https://www.arduino.cc/en/Reference/StringConstructor
- und der printbefehl hat auch noch parameter.. printf...

an der stelle "kämpfe" ich auch immer und muss je nach situation nachschlagen.... ggf ist ja ein ansatz dabei.
Zuletzt geändert von dondaik am 17.05.2017, 06:52, insgesamt 1-mal geändert.
-------
!!! 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 :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

prinzeisenherz1
Beiträge: 194
Registriert: 22.01.2015, 19:44
Danksagung erhalten: 1 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von prinzeisenherz1 » 16.05.2017, 22:42

Hmm.. Danke für die Tipps aber leider verstehe ich da Bahnhof

cmjay
Beiträge: 2373
Registriert: 19.09.2012, 10:53
System: CCU
Wohnort: Jottweedee
Hat sich bedankt: 250 Mal
Danksagung erhalten: 348 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von cmjay » 16.05.2017, 23:03

Mal kurz ne frage an die Profis, wie konvertiere ich eine unsigned int um in eine Ganzzahl ohne auf oder abzurunden?
Häh? Ein unsigned int ist doch eine Ganzzahl.
https://www.arduino.cc/en/Reference/UnsignedInt
Ich möchte quasi aus nem Wert z.B 15.11 ein 15
Das soll aber auch bei 15.99 eine 15 sein
Die C++ Funktion, die du wahrscheinlich suchst, ist floor(). Rundet eine Fliesskommazahl auf die nächst niedrigere Ganzzahl ab.
http://www.cplusplus.com/reference/cmath/floor/
Es kann leider nicht ganz ausgeschlossen werden, dass ich mich irre.
HmIP muss leider draussen bleiben. in Ausnahmefällen erlaubt
ACHTUNG! Per Portweiterleitung aus dem Internet erreichbare CCU-WebUI ist unsicher! AUCH MIT PASSWORTSCHUTZ! Daher: Portweiterleitung deaktivieren!

dondaik
Beiträge: 12887
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1584 Mal
Danksagung erhalten: 221 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von dondaik » 17.05.2017, 07:20

@prinzeisenherz1
dann stelle den programm ein uns sage / zeige was du genau machen möchtest ...
-------
!!! 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 :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

kafisc
Beiträge: 131
Registriert: 08.09.2015, 15:14
Hat sich bedankt: 18 Mal
Danksagung erhalten: 4 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von kafisc » 17.05.2017, 09:55

Hi zusammen,

ich würde gerne der PIR-Sketch für die neue Firmware umbauen.
Das Schaltatkor-Skecth konnte ich erfolgreich umbauen. Leider verstehe ich nicht, wie genau ich das PIR-Sketch umbauen soll.
Könnte Ihr mir hiert evtl. einen Tipp geben? Besten Dank im Voraus!

Noch nicht umgebaut:

Code: Alles auswählen

/*
 *  PIR an HomeMatic!
 *  4. Schritt: Statusmeldungen an die CCU ueber WLAN
 * 
 *  PIR-Sensor meldet Bewegungen an eine CCU-Systemvariable
 *    
 *  Getesteter Aufbau:
 *     WeMos D1 mini
 *     PIR HC-SR501
 *     Pin-Belegung:
 *        D1: PIR HC-SR501
 *        
 *  7.Maerz 2016 —m.yoda
 */

#include <ESP8266WiFi.h> // Einbinden der WiFi-Library
#include <WiFiClient.h>

// ******* Netzwerkeinstellungen, bitte anpassen! *******
const char* ssid = "XXX"; // SSID des vorhandenen WLAN
const char* password = "XXXXXXXX"; // Passwort für das vorhandene WLAN

IPAddress gateway(192,168,1,1); // IP-Adresse des WLAN-Gateways
IPAddress subnet(255,255,255,0);  // Subnetzmaske
IPAddress ip(192,168,1,128); // feste IP-Adresse für den WeMos

const char* host = "192.168.1.18"; // IP-Adresse der CCU (mit Punkten!)
String pirCCUname = "AZ_PIR"; // Bezeichnung der CCU-Systemvariable für den PIR-Status

const byte pirPin = D1;
boolean status = LOW;
boolean statusJetzt = LOW;

String zeitstempel() { 
  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 setup() {
  pinMode(pirPin, INPUT);
  pinMode(BUILTIN_LED, OUTPUT);
  status = digitalRead(pirPin);
  Serial.begin(115200); 
  Serial.println(""); // Leerzeile ausgeben
  Serial.println("WeMos PIR-Sensor");
  Serial.println("");

  // WLAN-Verbindung herstellen
  WiFi.mode(WIFI_STA);
  WiFi.config(ip, gateway, subnet); // auskommentieren, falls eine dynamische IP bezogen werden soll
  WiFi.begin(ssid, password);
  Serial.print("Verbindungsaufbau");

  // Verbindungsaufbau abwarten
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  
  // Verbindungsaufbau an den seriellen Monitor melden
  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();
}

void loop() {
  statusJetzt = digitalRead(pirPin);
  if (statusJetzt != status) { // hat sich der Status geaendert? Falls ja:
    status = statusJetzt;
     // Webclient initialisieren
    WiFiClient client;
    // mit dem CCU-Port 8181 verbinden
    if (!client.connect(host, 8181)) {
      Serial.println(zeitstempel() + "  Fehler: Verbindung zur CCU konnte nicht aufgebaut werden");
    }
    // Daten an CCU melden
    client.println("GET /eriwan.exe?antwort=dom.GetObject('" + pirCCUname + "').State('" + status + "')");
	);
    digitalWrite(BUILTIN_LED, !status);
    Serial.println(zeitstempel() + "  Bewegungsmelder Status: " + String(status));
  }
}

dondaik
Beiträge: 12887
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1584 Mal
Danksagung erhalten: 221 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von dondaik » 17.05.2017, 15:15

schau mal auf "seite " 163 / 164 das sollte dir helfen.. ( ich habe leider noch nicht umgestellt )
-------
!!! 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 :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

kafisc
Beiträge: 131
Registriert: 08.09.2015, 15:14
Hat sich bedankt: 18 Mal
Danksagung erhalten: 4 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von kafisc » 20.05.2017, 09:24

dondaik hat geschrieben:schau mal auf "seite " 163 / 164 das sollte dir helfen.. ( ich habe leider noch nicht umgestellt )
Vielen Dank für den Tipp. Ich bekomme den PIR-Sketch leider nicht zum.
Hat noch jdm. einen Tipp parat?

Danke & viele Grüße
Kafisc

dondaik
Beiträge: 12887
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1584 Mal
Danksagung erhalten: 221 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von dondaik » 20.05.2017, 09:32

was funzt den nicht ?
der umbau des "meldestrings" ist doch dort beschrieben ( und bei eugen auf der seite auch )
ich finde im moment kein zeitfenster für den wemos um dir da zu helfen :-( ( auch wenn ich selber dringenst umstellen müßte - doch die bienen haben vorfahrt.... )
-------
!!! 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 :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

kafisc
Beiträge: 131
Registriert: 08.09.2015, 15:14
Hat sich bedankt: 18 Mal
Danksagung erhalten: 4 Mal

Re: WeMos D1 mini als WLAN-Sensor/-Aktor

Beitrag von kafisc » 20.05.2017, 17:47

dondaik hat geschrieben:was funzt den nicht ?
der umbau des "meldestrings" ist doch dort beschrieben ( und bei eugen auf der seite auch )
ich finde im moment kein zeitfenster für den wemos um dir da zu helfen :-( ( auch wenn ich selber dringenst umstellen müßte - doch die bienen haben vorfahrt.... )
Sorry, hatte Tomaten vor den Augen... Jetzt funktioniert der Sketch.
Ich habe mich hierfür am Sketch von BladeRunner82 (Seite 184/#p362688) orientiert.

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“