Wer in seinem Smart-Home einen Temperatursensor mit irgendeiner Art von veränderbarem Code stehen hat oder solch ein Projekt plant kann ohne großen Aufwand den Code einfügen, um die Daten zusätzlich an den WebThermometer-Server zu schicken, der sie für Alexa bereitstellt. Alexa sagt dann für die hinterlegten Räume die Temperatur an. Die übrigen Funktionen werden davon nicht beeinträchtigt.
Beim ersten Starten des Skills wird ein Benutzercode erzeugt, den jeder Sensor zur Identifizierung mitschicken muss. Über einen http-Aufruf kann die Temperatur (bei Bedarf auch Luftfeuchtigkeit, Akkustand und Luftdruck) an den Server übergeben werden. Jeder Benutzer kann drei Sensoren erstellen. Die Datenbank speichert den jeweils aktuellsten Wert, solange bis der Sensor einen neuen Wert schickt. Die Werte für Akkustand und Luftdruck werden ohne Einheit angenommen und angesagt, so muss kein bestimmtes Format eingehalten werden. Geräte mit Display zeigen außerdem den ungefähren Taupunkt an.
Zur Benutzung des Skills:
"Starte Themometer!" "{ } neu anlegen " "zähle meine Sensoren auf" " { } entfernen " "Wie ist die Temperatur im Wohnzimmer" //oder auch nur "wohnzimmer"
Natürlich ist es auch möglich, den Account zu löschen. Bei einem erneuten Start des Skills wird ein neuer Code generiert. "Mein Benutzerkonto löschen"
Schicken der Daten:
Aufruf wahlweise über http oder https (manche Arduino-Libraries haben Probleme mit https) https://ml-apps.lima-city.de/safe/arduino_values.php?id=XXXXXXXX&name=XXXXX&temp=XXX&hum=XXX&batt=XXX&press=XXX http://ml-apps.lima-city.de/arduino_values.php?id=XXXXXXXX&name=XXXXX&temp=XXX&hum=XXX&batt=XXX&press=XXX
##################################
Codeausschnitt für ESP6288/nodeMCU Arduino Umgebung:
//Muster für den Link - ID und Name einsetzen //char postString[] = "https://ml-apps.lima-city.de/safe/arduino_values.php?id=XXXXXXXX&name=XXXXX&temp=%s&hum=%s&batt=%d&press=%s"; char postString[] = "http://ml-apps.lima-city.de/arduino_values.php?id=XXXXXXXX&name=XXXXX&temp=%s&hum=%s&batt=%d&press=%s"; //Ziel für den fertigen Link char query[128];
float t = dht.readTemperature(); float h = dht.readHumidity();