Leitartikel für die Heimautomation FHEM: Planung, Einrichtung, Tutorials und Hilfestellungen

Dies ist die Absprung-Seite auf die diversen Tutorials welche teilweise aufeinander aufbauen. Was nicht verlinkt ist, kommt noch 🙂

Planung

  • Zielobjekt: „Smart Home“/Zuhause/Haus/Wohnung
  • Was soll automatisiert werden?
  • Protokolle
  • Hardware
  • Software

Einrichtung von FHEM

Verständnisartikel

  • Was ist ein:
    • Event in FHEM?
    • Device in FHEM?
    • Reading in FHEM?
    • Attribute in FHEM?
  • DOIF: Funktion und Anwendungsfälle
  • notify: Funktion und Anwendungsfälle
  • watchdog: Funktion und Anwendungsfälle
  • structure: Funktion und Anwendungsfälle

Grundfunktionen

  • Wetterabrufen
  • Präsenzfunktionen (Aktionen in Abhängigkeit von Anwesenheit)
  • Dämmerung berechnen
  • Logging (Logfiles für Historie)
  • Charting (Grafiken zur Visualisierung)
  • TabletUI als hübsche Oberfläche

Szenarien

Spezifische Tutorials

FHEM: watchdog – Funktion und Anwendungsfälle des Hilfsmoduls

Das Hilfsmodul watchdog erlaubt es, gewisse Dinge – wie der Name schon sagt – wie ein Wachhund zu überwachen. Dabei kann zum einen nach einem Event nach einer gewissen Zeiten eine Aktion ausgelöst werden, diese aber bei Eintreffen eines anderen Ereignisses auch eben nicht ausgeführt werden. Ebenso kann auch das Ausbleiben von Ereignissen überwacht werden.
FHEM: watchdog – Funktion und Anwendungsfälle des Hilfsmoduls weiterlesen

Verwendung eines iButton an einem Arduino via OneWire

Seit einiger Zeit habe ich mich mal ein bisschen mit 1-Wire auseinander gesetzt und habe dabei auch mal mit iButtons auf der Basis eines DS1990A (Siehe Übersicht) herumgespielt. Doch was sind iButtons eigentlich?

iButton ist ein Markenname von Dallas Semiconductor bzw. seit 2001 Maxim Integrated. Ein iButton ist ein IC mit einer Eindrahttechnik-Schnittstelle. Die Gehäuse (Microcan F5 (17,35 x 5,89 mm) und das etwas seltenere flache Microcan F3 (17,35 x 3,1 mm)) bestehen aus 0,254 mm dickem Edelstahlblech und ähneln einer Knopfzelle mit 16 mm Durchmesser.
[…]
Allen gemeinsam ist die weltweit einmalige 64-bit-Seriennummer (bestehend aus 8-Bit Family-Code, 48-Bit Nummer (Unique-Device-ID) und 8-Bit Zyklische-Redundanzprüfungs-Prüfsumme) und die OneWire-Schnittstelle.

Quelle

Die Eigenschaft aus dem letzten Satz kann man sich zunutze machen um eine Zuordnung von iButton zu Person oder Gegenstand zu schaffen. Wie sieht das nun aus?
20160808-114642-001-Exp

Dieses Knopfzellenartige Gerät hält man dann auf den Leser, welcher letztendlich nur ein Lesegerät für den eigentlichen iButton ist. Dahinter ist keine Intelligenz, es wird lediglich durchgeleitet, was aufgelegt wird. Der Rand ist dabei Ground und die Mitte die Datenleitung.
20160808-114714-002-Exp

Das ganze mal als Schaltplan mit einem Arduino Mega 2560 und der Verbindung zum Pin 42.
5697-iButton-Arduino

Eigentlich easy, jetzt noch ein bisschen Code dazu (Hier komplett als platformio Projekt):

#include <OneWire.h>
 
OneWire ibutton (42); // iButton connected on PIN 42.
 
byte buffer[8];
 
void setup(){
  Serial.begin(115200);
  Serial.println("Hello"); // print new line
}
 
void loop(){
  // Search for an iButton and assign the value to the buffer if found.
  if (!ibutton.search (buffer)){
     ibutton.reset_search();
     delay(250);
     return;
  }
  // At this point an iButton is found
  Serial.println("1-Wire Device Detected, ID is:");
 
  for (int x = 0; x<8; x++){
    Serial.print(buffer[x],HEX);
    Serial.print(" ");
  }
  Serial.print("\n");
 
  // Check if this is a iButton
  if ( buffer[0] != 0x01) {
    Serial.println("Device is not a iButton");
  } else {
    Serial.println("Device is a iButton");
  }
 
  if ( ibutton.crc8( buffer, 7) != buffer[7]) {
      Serial.println("CRC is not valid!");
  }
  Serial.println("Done.\n\n");  
}

Läuft.

Achtung beim Verkauf von Gutscheinen via eBay mit Zahlung via PayPal!

Mal wieder was aus der persönlichen Kategorie. Vor kurzem habe ich via eBay einen Gutschein für das Playstation Network verkauft. Zahlung via Paypal erhalten und Code via eBay-Nachricht gesendet. Habt ihr den Fehler schon entdeckt?
Achtung beim Verkauf von Gutscheinen via eBay mit Zahlung via PayPal! weiterlesen

Git: Aktualisierung eines fork aus dem ursprünglichen Repository

Vor kurzem habe ich in Makuna/Task eine kleine Änderung gemacht und via Pull Request geschickt. Soweit hat das alles wunderbar geklappt. Heute hatte ich eine neue Idee und musste aber zunächst meinen Fork wieder auf den aktuellen Stand bringen. Hier ist wie es geht.
Git: Aktualisierung eines fork aus dem ursprünglichen Repository weiterlesen