panStamp

Aus FHEMWiki
Version vom 2. Juni 2016, 19:51 Uhr von Ph1959de (Diskussion | Beiträge) (Modulbeschreibung auf eigene Seite ausgelagert; Systemübersicht sollte noch hier eingearbeitet werden)
PanStamp
panStamp
Allgemein
Protokoll SWAP
Typ Sender, Empfänger, Sensor, Interface
Kategorie
Technische Details
Kommunikation 868MHz (433/915MHz)
Kanäle
Betriebsspannung 3.3V (panStick: 5V USB)
Leistungsaufnahme
Versorgung Battery (panStick: USB)
Abmessungen 17.7 x 30.5 mm
Sonstiges
Modulname 34_panStamp.pm
Hersteller panStamp

Dieser Artikel, als mutmaßlicher Eingangsartikel zu dem Thema, beschreibt das FHEM Modul panStamp, was das Funkinterface zu FHEM bildet. Eine Systemübersicht ist in einem separaten Artikel beschrieben. Der Focus liegt hier natürlich auf die Integration mit FHEM. Zu der Hardware panStamp gibt es Herstellerseitig eine eigenen Community mit Forum und Wiki, sowie Downloads auf Github.

panStamps sind Arduino Clones, die ein CC1101 Funkmodul beinhalten. Mit ihnen lassen sich Sensoren und Aktoren drahtlos an FHEM anbinden. Sie lassen sich genau wie Arduinos über die Arduino IDE oder mit dem ino Kommandozeilen Binary programmieren. Der panStamp Software Stack unterstützt einen stromsparenden Power-Down- oder Sleep-Modus für batteriebetriebene Sensoren, aus dem diese dann nur zur eigentlichen Messung und Übertragung "aufwachen". Zur Kommunikation in einem panStamp Netzwerk dient das Simple Wireless Abstract Protocol (SWAP). Um einen panStamp in Betrieb zu nehmen muss er unbedingt mit einer Antenne oder einem Stück Draht in der richtigen Länge bestückt sein. Ohne Antenne funktioniert die Übertragung nicht, auch nicht auf kurze Distanzen!

Zwischenzeitlich hat sich das Footprint der Module stark verändert. Adapterplatinen, um die Module mit neuem Footprint in Hardware mit altem zu integrieren, konnten auf Anfrage bei Daniel im Shop noch geordert werden (Stand Ende 2015) [1][2]. Langfristig ist davon auszugehen, dass diese nicht dauerhaft werden lieferbar sein. Von der Programmierung unterscheiden sich die Module jedoch nicht.

Allgemein

Die Integration in FHEM erfolgt über eine Reihe von Modulen die im Folgenden und anderen Artikel genauer beschrieben sind. Das panStamp (Modul) erstellt dabei das IO-Device in FHEM.

Voraussetzungen

Als Schnittstelle zwischen FHEM und einem panStamp Netzwerk dient entweder ein panStick (USB Stick mit aufgestecktem panStamp) oder ein panShield mit integriertem panStamp an einem Raspberry Pi. Der so angebundene panStamp wird mit einem (bei Auslieferung des panStamps vorinstallierten) Modem-Sketch als RF-Modem verwendet und über das FHEM Modul panStamp angesprochen. Der panStick kann auch per USB an einer anderen Serverhardware angebunden werden. Die Kommunikation zu FHEM erfolgt dann z.B. über ser2net oder FHEM2FHEM über LAN.

Anwendungsbeispiele

Neue panStamps in Betrieb nehmen

Info: Das SWAP Modul unterstützt autocreate. Bei der Inbetriebnahme ist autocreate zu aktivieren!

Neue panStamps sollten nur Einer nach dem Anderen in Betrieb genommen werden, da sie zuerst mit einer eindeutigen Device-Adresse (ungleich FF und grösser 01) versehen werden müssen. Bei batteriebetriebenen Sensoren sollte auch das Sendeintervall auf einen sinnvollen Wert gesetzt werden:

set <device> regSet 09 <device adresse als 2 stellige hex zahl>
set <device> regSet 0A <intervall in Sekunden als 4 stellige hex zahl>

Für panStamp-Hardware im Power-Down-Modus werden diese Kommandos in eine Warteschlange gestellt und übertragen, sobald die panStamp-Hardware seine Initialisierungssequenz durchläuft. Hierzu ist nach Absetzen der Kommandos aus FHEM die Reset-Taste an der panStamp-Hardware zu drücken oder die Stromquelle erneut zu verbinden.

Das SWAP-Modul versucht, panStamp-Hardware mit der Default Adresse FF automatisch auf die erste freie Adresse im Bereich F0-FE zu ändern. Automatisch gesetzte Werte sollten danach manuell auf die jeweilige Installation angepasst werden. Für batteriebetriebene panStamp-Hardware (genauer: Hardware die den Power-Down-Modus unterstützen) wird das Default Sendeintervall von FFFF zu 0384 (900 Sekunden) geändert. Es gibt mit bestimmten panStamp lib Versionen das Problem das ein Wert von FFFF in Systemregister 0A zum Überlauf führt und dann ununterbrochen SWAP Nachrichten gesendet werden. Im FHEM Modul wird versucht das abzufangen. Das funktioniert auf manchen langsamen Host-Systemen (z.B. FritzBox) nicht, weil der panStamp so schnell sendet, dass FHEM so mit dem Abarbeiten beschäftigt ist, dass es selber nicht zum Senden kommt. Zur Abhilfe kann im Sketch in setup() ganz am Anfang ein

 EEPROM.write(EEPROM_TX_INTERVAL, 0x55);
 EEPROM.write(EEPROM_TX_INTERVAL+1, 0x55);

eingefügt werden. Der Sketch ist dann zu flashen und wenn der Sketch einmal durchgelaufen ist, können diese beiden Zeilen wieder entfernen werden und der panStamp muss noch mal geflasht werden. Ansonsten wird die Adresse bei jedem Start erneut auf 5555 gesetzt.

Weblinks