Beschreibung:
Diesmal habe ich Teil 1der kleine Reihe von Beispiele, die sich um unsere Lieben Haustiere drehen ( natürlich ist alles auch anders einsetzbar ) wird. Und wie Letztes Jahr versprochen ist diesmal mein kleiner Helfer Sam das Hauptthema ;). Warum ganz einfach, wenn Katzen Videos Klicks generieren, was Passiert dann bei der bekanntesten Smarthome Katze der Welt ( er ist ja auch die einzige ).
Leider gibt es jede menge Vorraussetzungen, das ist auch der Komplexität des Thema’s geschuldet.
Zum Inhalt:
- In Grundzügen auf LORA eingehen wie das in der Smartha Nutzbar ist.
- Speichern von Daten in der Datenbank die keine Geräte sind.
- Smartha Datenbank einbinden in Grafana ( keine Grafana Tutorial’s ).
Was nicht Teil des Beispiel’s ist
Ich werde nicht Tiefer auf LORA Geräte eingehen, da jedes Gerät eigene Eigenheiten hat.
Keine erklären wie man ein Grafana aufsetzt oder Grafana benutzt dafür gibts genug Tutorials ;).
Und keine Datenbank Sonderwünsche die Ihr haben wollt , hier wird genug erklärt, um auch Heizdaten und alles andere nutzen zu können, einfach selber experimentieren ( oder internet fragen gibts genug ).
Vorraussetzung:
Paket/APP | Version | |
---|---|---|
LoraGPS LGT92 | * | |
Katze / Hund / Auto | * | |
Lora Kenntnisse | * | |
Optional Graphana | * | |
Schwirigkeitsgrad:
Warnhinweis
Wie Ihr seht es ist diesmal nichts was einfach das mit Copy und Paste gelöst werden kann, die Umsetzung benötigt Zeit und Frustration und Eigeninitiative .
Um was geht es hier überhaupt ?
Ich nutze einen LORA GPS Tracker für meinen Kater für:
- Weiss ich wie sein Revier ist und wo er überall rumrennt.
- Ich weiss genau wo er ist.
- Ich nutze es so das wenn der kleine vor der Haustür steht, es im Haus klingelt. Ja mein Kater kann Klingeln, wenn er rein möchte unheimlich praktisch in Mietwohnungen.
Für die frage warum LORA ein LORA GPS ?
- Kosten für Daten Tarife oder Prepaid fallen weg,
- Die Batterielaufzeit ist von 3 Stunden auf fast einen Monat gestiegen.
- Ich wollte mal LORA nutzen
Für Besorgte Nörgler und Tierschützer
- Es handelt sich um ein ElastOband ( Spezial Anfertigung für Sam und Passt Perfekt ) es kann sich auf die 4-Fache Grösse ausdehnen somit kann er immer raus und kann sich dadurch nicht verletzen oder schlimmeres.
- Funkstrahlung, GPS ist empfangen und sendet nicht, und LORA ist harmloser als Homematic Geräte auf grund des kurzen Protokolls und geringeren Sendeintervalls.
- Würde ich nie ein Tier verletzen, ausgenommen zwei Beinigen Wildschweine der Gattung Menschenaffe und Stechmücken .
- Schaut auf das Bild
Was ist LoRaWAN
Da ich nicht wirklich Lust habe das zu erklären. Aber schaut euch das mal an das ist ne Coole Sache nur wenn ich jetzt damit anfange hier richtig zu erklären höre ich nicht mehr auf ;).
Also nur kurz Vorteile:
- Reichweite bis zu 15km ( Hoher Antenne nötig ), allerdings 2-5 habe ich schon locker hinbekommen
- Extrem Akku Sparsam da geringe Datenpakte verwendet werden
- Durch Private LoRaWAN Gateway’s kostenlose Datenübertragung ins Internet Netzabdeckung
Mehr Details hier Link
Was ist eine InfluxDB
InfluxDB ist eine Time-Series-Datenbanken (TSDB), die Zeitreihen speichern.
Sensordaten werden mit Zeitstempeln über einen bestimmten Zeitraum zu speichern und auszuwerten gespeichert. Eine InfluxDB ist sehr kompakt und muss 3 Spalten umfassen.
Sensor | Wert | Datum |
---|---|---|
Temperatur | 20.5 | 15/01/2023 @ 10:00 |
Feuchte | 50 | 15/01/2023 @ 10:00 |
Mehr Details Hier
Der Flow
Ich erkläre 2 Wege um LoRaWAN zu Nutzen 1 über TTN Network und 2 über ein eigenes Gateway im eigenen Netzwerk.
1. Kasten
In Kasten 1 Nachdem das TTN Network MQTT im interface aktiviert ist kann auch die MQTT-Broker Konfiguration abgelesen werden. Im Bild noch die Einstellungen der Json-Switch-Node. Nach dem Json-Switch kann es wie gewohnt verwendet werden.
Bei dieser Node handelt es sich um die InfluxDB-Node, mit dieser Node können Daten direkt in die InfluxDB geschrieben werden, auch ohne das ein Gerät dafür erstellt wird.
Die hier angegebene Wert Messung ist die Referenz für die InfluxDB später mehr dazu.
2. Kasten
Im 2 Kasten geht es darum im eigenen Netzwerk befindliches LoRaWAN Gateway zu verwendet. Die MQTT Konfiguration entnehmt Ihr natürlich eurem Gateway.
Dies geht mit dieser LoRaWAN Node. In dieser Node wird die Verarbeitung der LoRaWAN Pakete übernommen, die vom Gerät über das Gateway übermittelt werden. Die Konfiguration der Pakete befindet sich in der Anleitung eines jeden LoRaWAN Gerätes diese kann Fast 1 zu 1 übernommen werden. In der Ausgang der Node kommen wird dann ein Objekt mit den Paket Daten ausgegeben. [Original der Anleitung]
/* GPS coordinates; signed 32 bits integer, MSB; unit: ° When power is low (<2.84v), GPS won’t be able to get location info and GPS feature will be disabled and the location field will be filled with 0x0FFFFFFF, 0x0FFFFFFF.*/
$json_array=array();
$json_array["Latitude"]=($bytes[8]<<24 | $bytes[9]<<16 | $bytes[10]<<8 | $bytes[11]) / 1000000;
$json_array["Longitude"]=($bytes[12]<<24 | $bytes[13]<<16 | $bytes[14]<<8 | $bytes[15]) / 1000000;
/* Alarm status: boolean */
$json_array["ALARM_status"]=($bytes[16] & 0x40) > 0;
/* Battery; 14 bits; unit: V */
$json_array["BatV"]=(($bytes[16] & 0x3f)<<8 | $bytes[17]) / 1000;
/* Motion detection mode; 2 bits */
if([$bytes[18]>>6] == 0){
$json_array["MD"]="Disable";
}elseif([$bytes[18]>>6] == 1){
$json_array["MD"]="Move";
}elseif([$bytes[18]>>6] == 2){
$json_array["MD"]="Collide";
}elseif([$bytes[18]>>6] == 3){
$json_array["MD"]="Custom";
}
/* LED status for position, uplink and downlink; 1 bit*/
$json_array["LON"]=($bytes[18] & 0x20) ? "ON" : "OFF";
/* Firmware version; 5 bits */
$json_array["FW"]=150+($bytes[18] & 0x1f);
/* Roll; signed 16 bits integer, MSB; unit: ° Sign-extend to 32 bits to support negative values: shift 16 bytes too far to the left, followed by sign-propagating right shift*/
$json_array["Roll"]=($bytes[19]<<24>>16 | $bytes[20]) / 100;
/* Pitch: signed 16 bits integer, MSB, unit: ° */
$json_array["Pitch"]=($bytes[21]<<24>>16 | $bytes[22]) / 100;
return $json_array;
Wie bringe ich die Smartha in Grafana ?
Erstmal zur info ich bin auch kein Grafana Experte daher kann ich euch bei fragen nicht wirklich weiterhelfen was Grafana selbst angeht. Was ich hier beschreibe ist lediglich wie Ihr die InfluxDB in Grafana nutzen könnt. Für Grafana Selbst gibt es genug im Internet ;).
In Grafana wird die Smartha als InfluxDB Datenbank angegeben.
Allgemeine Datenpunkte der Smartha
Ein Datenpunkt der in der History aufgenommen ist baut sich folgendermassen aus
history_[ID][CHANNEL][DATENPUNKTNAME]. Allerdings wird im Datenpunktname von Homegear der _ entfernt, ein Beispiel history_7_1_ACTUALTEMPERATURE.
In Grafana sieht eine abfrage dann in etwa so aus:
SELECT mean("value") FROM "history_74_1_ACTUALTEMPERATURE" WHERE $timeFilter GROUP BY time($__interval) fill(none)
Eigene Datenpunkte
Eigene Datenpunkte die über die influxDB Node eingetragen wurden werden einfach direkt mit der Messungsbezeichnung angegeben.
SELECT mean("value") as latitude FROM "LoraGPS_Latitude" WHERE $timeFilter and value > 0 GROUP BY time($__interval) fill(none)
Hier noch als image die Restlichen Datenpunkte für das Lora GPS:
Mit dem Typ GPS-Tracker in Grafana ist das ne Super Anzeige :).
Wie Ihr gemerkt habt ist das diesmal keine einfache Sache aber es ist auch mal gut zu Zeigen was mit der Smartha alles möglich ist. Und wie Ihr seht braucht Ihr keine anderen HomeAutomations Systeme dazu. Für alle die es Wissen wollen ich habe wirklich nur die Smartha als Zentrale im Einsatz ;), und habe schon wirklich alles getestet. Klar ist es hin und wieder knifflig und frustrierend und brauchte mehrere Anläufe, aber mit der Smartha bin ich bisher als einziges immer ans Ziel gekommen. Und ich denke das dies mal eine eindrucksvolles Beispiel ist :).
Wie immer Viel Spaß
Gruß
Sam & Michael
Weitere Beispiele Link
Und hier findest Ihr Video Tutorials für die Smartha Home Zentrale Link
Und hier findest Ihr Video Tutorials für die Smartha APP Link