Evl. noch einen Jabber Client installieren um den Account zu testen. Für Mac z.B. adium.im verwenden. Dann auf der Kommandozeile im rPi ein paar Module installieren:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libnet-jabber-perl libnet-xmpp-perl libxml-stream-perl libauthen-sasl-perl libnet-ssleay-perl libnet-jabber-bot-perl libdigest-sha-perl
In der fhem.cfg folgende Zeile eintragen:
(Achtung, den Username in der define Zeile ohne @jabber.de angeben)
define Jabber_Client Jabber jabber.de 5222 JABBERUSER PASSWORT 1 0
attr Jabber_Client OnlineStatus available
attr Jabber_Client PollTimer 2
attr Jabber_Client RecvWhitelist JABBERUSER@jabber.de
attr Jabber_Client ResourceName FHEM
attr Jabber_Client userReadings 1
attr Jabber_Client room Jabber
Details zu den Parametern sind in der Fhem commandref zu finden.
Speichern und restart von FHEM. Im Raum Jabber schauen:
Jabber
Dann in der Kommandozeile von Fhem z.B.:
set Jabber_Client msg JABBERUSER@jabber.de Hallo Fhem Welt!
Seit langem habe ich einen Karotz und schon einige Beiträge darüber hier veröffentlicht.Karotz kann Hausautomatisation! Nun wollte ich ihn mal in Fhem für die Hausautomatisation einsetzen.
Habe nun eine generelle Lösung über die kostenlose PushingBox realisiert.
Es können jegliche Textausgaben auf den Karotz gemacht werden. Bei mir läuft eine Ansage, wenn es an der Haustür klingelt. Es könnte auch jede Stunde die Temperatur von Karotz angesagt werden oder … (weitere Ideen als Kommentar).
Was ist also nötig?
1. Die kostenlose App PushingBox auf den Karotz über die Karotz Seite installieren. Es ist diese App, die auch über die Suchefunktion im englischen Store gefunden werden kann. Klickt man dann auf die installierte App, findet man dort die Install id die wird für weiter installation benötigt.
2. Einen kostenlosen Account bei PushingBox mit dem Google-Account einrichten.
3. Im Menü auf My Services klicken und auf Add a Service Button klicken:
Dann den Karotz Service auswählen mit klick auf den Button „Select this Service“.
4. Im folgenden Dialog den „Namen der Karotz configuration“ eingeben, der kann frei gewählt werden und der InstallID eintragen. Die kann wie unter 1. beschrieben ermittelt werden. Die Sprache auswählen, damit Karotz auch deutsch spricht einstellen und klick auf „Submit“.
5. Dann unter „My Scenarios“ über den Button „Add an Action“ hinzufügen. Bei dem Parameter folgenden Text eingeben: $nachricht$
Der Service Name ist frei wählbar. Nach dem speichern erscheint in der Tabelle die DeviceId die später noch verwendet wird.
Jetzt einmal auf den „Test“ Button klicken. Karotz muss nun „Nachricht“ sagen. Wenn das alles läuft, kann es an die Einrichtung in Fhem gehen.
6. In der 99_Utils.pm (oder besser eine neue anlegen 99_myUtils.pm analog zu 99_Utils.pm) folgende Funktion ergänzen und abspeichern. Neueste Version kann auch von GitHub geladen werden.
#
# Sendet eine Nachricht an Karotz.
#
# Aufruf z.B.: {Set_Karotz_Nachricht('Device ID','Hallo herzlich Willkommen zu Hause')}
#
sub
Set_Karotz_Nachricht
{
my ($devid, $text) = @_;
return "OK, sende die Nachricht:\"$text\" an Karotz.";
}
7. Fhem restarten und in der Kommandline die Funktion testen mit (?? durch DeviceID ersetzen):
{Set_Karotz_Nachricht(‚v??????????‘,’Hallo herzlich Willkommen zu Hause‘)}
und return. Schon spricht Karotz!
8. Jetzt kann diese Zeile in die gewünschten Abläufe in Fhem integriert werden.
Z.b. wenn es klingelt: define klingenOffPush notify fl_klingel_1:on* {\
Set_Karotz_Nachricht('v???????','Hallo, es hat an der Haustür geklingelt.');;\
}
wird nun die Meldung: „Hallo, es hat an der Haustür geklingelt.“ von Karotz ausgegeben.
Hast Du noch weitere Anwendungsfälle, dann hinterlasse einen Kommentar?
Damit ich benachrichtigt werde, wenn die NSA oder jemand anders per SSH auf meinen Server einbricht, kann dieses Script dienen, welches eine Pushover Nachricht an das Handy oder iPad sendet wenn jeman sich per SSH auf den Raspberry Pi einloggt. Als Basis diente diese sehr ausführliche Seite die sowas mit Pushbullet realisiert hat.
Wollte schon immer auf meinem Handy benachrichtigt werden, wenn jemand an der Haustür klingelt. Bekomme nun immer eine Pushover-Benachrichtigung an alle iPhones und iPads. So kann man in den Keller oder in den Garten mit Handy gehen, und man erfährt, wenn der Postbote oder Besuch klingelt und der Raspberry Pi hat auch etwas zu tun.
Mit dem FS20 KSE geht das in nur 15 Minuten. Also die (alte) Sprechanlage geöffnet. Von innen sieht sie so aus, voller Hightech:
Nun die zwei Drähte von der KSE an die passenden Kontakte geschraubt (parallel zum Summer), der andere Kanal bleibt leer. Spannungversorgung ist nicht nötig.
Alles wieder zuschrauben. In der fhem.cfg noch folgende Einträge machen und restarten:
# XXXX durch Hauscode ersetzen
define fl_klingel_1 FS20 XXXX 00
attr fl_klingel_1 IODev myCUL
attr fl_klingel_1 room Flur
attr fl_klingel_1 group Klingel
define FileLog_fl_klingel_1 FileLog ./log/fl_klingel_1-%Y.log fl_klingel_1
attr FileLog_fl_klingel_1 logtype text
attr FileLog_fl_klingel_1 room Flur
attr FileLog_fl_klingel_1 group Klingel
define FileLog_fl_klingel_2 FileLog ./log/fl_klingel_2-%Y.log fl_klingel_2
attr FileLog_fl_klingel_2 logtype text
attr FileLog_fl_klingel_2 room Flur
attr FileLog_fl_klingel_2 group Klingel
#
# Benachrichtigung wenn es an der Haustür klingelt
# Folgende log Einträge werden geschrieben:
#
# 2014-04-12 12:09:21 FS20 fl_klingel_1 on
# 2014-04-12 12:09:21 FS20 fl_klingel_2 on
# 2014-04-12 12:09:22 FS20 fl_klingel_1 off
# 2014-04-12 12:09:22 FS20 fl_klingel_2 off
# -token- und -user- durch passende token und user ersetzen
define klingenOnPush notify fl_klingel_1:on* {\
my $zeit=EventZeit();;\
system ("curl -s -F 'token=-token-' -F 'user=-user-' -F 'message=Es klingelt an der Haustür um $zeit' -F 'title=Haustür: Klingel an' https://api.pushover.net/1/messages.json");;\
}
attr klingenOnPush group Klingel
attr klingenOnPush room Flur
# -token- und -user- durch passende token und user ersetzen
define klingenOffPush notify fl_klingel_1:off* {\
my $zeit=EventZeit();;\
system ("curl -s -F 'token=-token-' -F 'user=-user-' -F 'message=Es klingelt an der Haustür um $zeit' -F 'title=Haustür: Klingel aus' -F 'sound=siren' https://api.pushover.net/1/messages.json");;\
}
attr klingenOffPush group Klingel
attr klingenOffPush room Flur
Nach einem Restart sieht es in Fhem so aus:
Für die Empfänger-Seite wird noch ein CUL USB-Stick benötigt der wie folgt für den Empfang in Fhem eingebunden werden muss.
Wenn nun jemand an der Tür klingelt, wird innerhalb von ein paar Sekunden die Pushover-Benachrichtigung an das Handy versendet. Eine wenn der Klingeltaster gedrückt wird und eine wenn der Klingelschalter losgelassen wird. So sieht es auf dem iPhone aus:Cool.
Jetzt fehlt noch der Rückkanal, das wenn jemand klingelt, der Summer betätigt werden kann. Dazu fehlt mir aber der drahtlose Empfänger mit Relais. Was könnte ich da nehmen?
Habe von meinen netten Kollegen einen Gutschein erhalten 🙂 Dafür habe ich mir ua. diesen Funk-Rauchmelder HM-SEC-SD gekauft, hier die Ansicht von hinten, mit eingelegten Batterien:
So, mit zwei Schrauben hängt er nun im Server-Raum an der Decke …
Jetzt noch nach dieser Anleitung in Fhem anmelden. Obwohl ich bisher nur einen Rauchmelder haben, ist er mit einem virtueller Aktor als Teamlead verbunden (Variante 2). So kann über set Rauchmelder_Team alarmOn der Alarm getestet werden:
Aus gehts mit set Rauchmelder_Team alarmOff:
Zuvor aber anlernen und peeren:
set HMLAN_1 hmPairForSec 600
define TeamDev CUL_HM 111111
set TeamDev virtual 1
set Rauchmelder_Team peerChan 0 az_Brandmelder single set
Cool, jetzt kann der VdS-zertifizerte Funk-Rauchmelder von überall angeschaltet werden.
Aber erst noch eine Benachrichtigung bei Brandalarm versenden per Pushover. Dazu ua. in der fhem.cfg folgenden Code einfügen und den Token und User ersetzen:
Wer einen CUL am Raspberry Pi hat wo Fhem läuft, den nervt evl. das blinken der LED.
Das kann aber mit dem folgenden Befehl abgeschaltet werden:
set myCUL led 00
Also mit zweimal 00 und dann auf set klicken:
Man kann die LED auch wieder an oder auf blinken schalten mit:
aus 00
an 01
blinken 02
So kann man auch Strom sparen, immerhin 20 mA ;-). Das macht im Jahr wieviel?
Das coole Tool SYSMON im Fhem Server kann nun auch seit ein paar Tagen seine Informationen als Text mit der Funktion SYSMON_ShowValuesText wiedergeben. Diese Infos können dann wie hier als HTML Tabelle auch per E-Mail oder Pushover versendet werden:
Ich habe es in meiner täglichen Pushover Benachrichtigung eingefügt, so bekomme ich immer um 12 Uhr diese Meldung direkt auf mein Handy bzw. iPad:
Hier der entsprechende Code, für die fhem.cfg:
#
# Fhem: Um 12 Uhr täglich den rPi Systemstatus versenden
#
define pushSystmonStatus at *12:00:00 {\
my $sysinfo=SYSMON_ShowValuesText('sysmon', ('date:Datum', 'cpu_temp:CPU Temperatur: °C', 'uptime_text:System up time:', 'fhemuptime_text:FHEM up time', 'ram:RAM', 'idletime_text:idle time', 'stat_cpu_text:CPU'));;\
system ("curl -s -F 'token=-dein Token-' -F 'user=-dein User' -F 'message=$sysinfo' -F 'title=Fhem Systemstatus' http://api.pushover.net/1/messages.json");;\
}
Wenn man alle Parameter haben will, kann man auch einfach nur sysmon verwenden: my $sysinfo=SYSMON_ShowValuesText('sysmon')
Für die Pushover Benachrichtigung wird aber nicht alles angezeigt, da die max. Anzahl an Zeichen bei 512 liegt. Aber für E-Mail oder andere Zwecke gehts.
Der CUL-V3-OEM CC1101 für 868 Mhz von Busware mit fester lambda/4 Mikroantenne wird ohne Firmware geliefert. CUL V3 – ATMega32U4 Prozessor, 2,5 kB RAM, 32 kB Flashmemory, 1 kByte EEPROM, Herstellungs Video):
Zuerst muss also der CUL mit einer aktuellen Firmware geflasht werden, so wie hier für Mac OS X beschrieben. Also die aktuelle culfw 1.55 Firmware oder neuer laden und in ein Verzeichnis entpacken.
Dann brauchen wir noch das Programm zum flashen der Firmware, welches wir mit sudo port install dfu-programmer
auf der Konsole installieren können.
1. Den Fensterschalter mit dem HeizungsventilHM-CC-RT-DN peeren. Das läuft über Kanal 03 WindowRec mit: set peerChan 0 single
z.B.: set az_Fenster_Schalter peerChan 0 az_Heizungsthermostat_WindowRec single
dann und das ist Wichtig, am Fenster-Schalter den Kontakt mit dem Kugelschreiber drücken, sonst wird es nicht ausgeführt.
Kontrolle unter Attributes, bei der peerIds muss die ID vom Schalter stehen:
2. Wenn das Fenster aufgeht, soll die Temperatur autom. abgesengt werden. Dazu wird der im Heizungsthermostat integrierte Schalter über Kanal 4 ClimRT_tr ausgeschaltet mit: set regSet winOpnMode off
z.B.: set az_Heizungsthermostat_Klima regSet winOpnMode off
Kontrolle in den Readings unter R-winOpnMode, muss dann auf off gesetzt sein.
3. Dann soll noch die Temperatur auf 5 Grad (mögliche Werte von 5-30 Grad) eingestellt werden (Kanal 3), die autom. beim öffnen des Fensters eingestellt werden soll mit set regSet winOpnTemp 5
z.B.: set az_Heizungsthermostat_WindowRec regSet winOpnTemp 5 az_Fenster_Schalter
Für den älteren ThermostatHM-CC-TC ist die Syntax etwas anders (6-30 Grad, anderer Variablenname) set regSet tempWinOpen 6
z.B. set wz_Wandthermostat_WindowRec regSet tempWinOpen 6 wz_Terrassentuer_Schalter
Kontrolle:
4. Dann noch ein save und rereadcfg.
Wenn alles ok ist, wird nun beim öffnen des Fensters auf 5 Grad geregelt und wenn das Fenster wieder geschlossen wird, auf die eingangs eingestellte Temperatur zurück gestellt.
Diese Regelung kann man gut am folgenden Diagramm erkennen. Das Ventil (blau) wird jeweils geschlossen wenn das Fenster geöffnet wird. Die Ziel Temperatur (grün) geht auf 5 Grad:
Die rote Draht-Antenne und der USB-Stecker sind gut sichtbar:
Wenn der JeeLink in den USB Port des Rechners gesteckt wird, leuchtet ganz kurz die Rote und Grüne LED auf.
Im Auslieferungszustand ist der JeeLink mit einem Demo-Sketch geladen. (JeeLib).
Dann die Arduino IDE starten und über den Menüpunkt Werkzeuge-Serieller Port die Schnittstelle ( /dev/tty.usbserial… ) auswählen und den Seriellen-Monitor starten. Dort unten links die Geschwindigkeit auf 57600 Baud stellen. Schon wird nach einiger Zeit diese Ausgabe generiert:
Dann stellen wir mit: 8b 100g 31
die Frequenz auf 868 MHz für FS20 Nutzung, net group = 100 und node ID = 31 ein und klicken auf senden.
Dann werden alle paar Sekunden Daten angezeigt.
Nun schalten wir mal testweise die Aktivitäts-LED an mit 1l on
Hatte noch eine unterputz Homematik Schalter HM-LC-Sw1PBU-FM rumliegen, da er nicht in mein Schalterprogramm passt. Wollte ihn nun einer sinnvollen Verwendung zuführen. Damit der Laserdrucker nicht immer angeschaltet ist, wird der nun über diesen Schalter, der in einer zweckentfremdeten wasserdichten „Brotdose“ installiert wurde angesteuert. Hier ein paar Fotos:
Hier nun der Schaltplan:
Drückt man den Schalter, geht der Drucker an und schaltet sich nach 10 min wieder automatisch aus. Das anschalten geht auch über die Fhem Gui.
Folgender Code muss in die fhem.cfg eingefügt werden:
define az_drucker_kurz_an notify az_drucker_schalter:on* define az_drucker_aus at +00:10:00 set az_drucker_schalter off
attr az_drucker_kurz_an group Drucker
attr az_drucker_kurz_an room Arbeitszimmer
define FileLog_az_drucker_schalter FileLog ./log/az_drucker_schalter-%Y.log az_drucker_schalter
attr FileLog_az_drucker_schalter group Drucker
attr FileLog_az_drucker_schalter logtype text
attr FileLog_az_drucker_schalter room Arbeitszimmer
In Fhem sieht es dann so aus:
Später wird das noch automatisiert, das der Drucker automatisch angeht, wenn ein Druck ausgelöst wird und sich dann wieder autom. ausschaltet. Dazu habe ich jetzt schon mal CUPS und AirPrint auf dem Raspberry Pi laufen. Das Script und die Beschreibung kommt dann bald hier…
Hatte noch ein Bluetooth Dongel von Belkin liegen.
Der kann wie folgt an dem rPi angeschlossen werden.
Erst mal das System aktualisieren und das bluetooth Pakage mit ein paar Tools installieren:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get autoremove
sudo apt-get install bluetooth bluez-utils blueman
Dann den Raspberry Pi runter fahren und den USB-Bluetooth Adapter einstecken (siehe Foto oben).
Nach dem Hochfahren können alle USB Geräte gelistet werden mit lsusb. In meinem Fall:
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 050d:0012 Belkin Components F8T012 Bluetooth Adapter
Bus 001 Device 005: ID 1f75:0916
Ob das Gerät läuft kann mit /etc/init.d/bluetooth status getestet werden, Ausgabe wenn alles ok ist: [ ok ] bluetooth is running.
Jetzt können wir nach Geräten in Reichweite suchen mit hcitool scan. Bei mir ist nur ein Telefon gefunden worden Scanning ...
XX:2F:80:3F:14:XX SL910 obwohl es mehr gib. Also etwas gewartet und Befehl wiederholt Scanning ...
XX:2F:80:3F:14:XX SL910
XX:51:C9:EF:B5:XX iMac
XX:D1:CB:E9:33:XX iPhone 5 ok, jetzt ist alles vorhanden.
So jetzt haben wir mit dem hcitool scan die IP Adressen der erreichbaren Bluetooth Geräte ermittelt. Jetzt können wir die IP Anpingen um zu sehen ob das Gerät erreichbar ist mit sudo l2ping -c 1 XX:D1:CB:E9:33:XX
wenn das Gerät erreichbar ist kommt: Ping: XX:D1:CB:E9:33:XX from XX:00:3A:69:11:XX (data size 44) ...
44 bytes from XX:D1:CB:E9:33:XX id 0 time 6.09ms
1 sent, 1 received, 0% loss
wenn am Gerät Bluetooth ausgeschaltet ist oder das Gerät nicht mehr in Reichweite ist kommt als Ping Ergebnis Can't connect: Host is down
Die Bluetooth IP kann auch z.B. im iPhone unter Einstellungen-Allgemein-Info-Bluetooth abgelesen werden.
Dann habe ich mal die Reichweite getestet. Geht nur ein paar Meter. In der Küche mit einer Wand geht es schon nicht mehr. Und in der Stube geht es auch nicht in jeder Ecke.
So, jetzt noch in Fhem integrieren mit: define iPhone5_Bluetooth PRESENCE local-bluetooth XX:D1:CB:E9:33:XX 10 60
(10 = check interval, alle 10s nach Gerät suchen mit ping ,
60 = present check interval, alle 60s nach Gerät suchen wenn vorhanden)
Nach einem reread wird es auch wie erwartet angezeigt:
Unter state wir die Erreichbarkeit angezeigt mit present und wenn es nicht in Reichweite ist mit absent.
Welcher Bluetooth Dongel hat die Beste Reichweite und ist günstig? Wie setzt ihr Bluethooth ein?
Wenn man in der Fhem-Web-Gui eigene Menüeinträge auf der linken Seite erzeugen will, wie hier z.B. gezeigt
brauch man nur in der fhem.cfg folgende Zeile erstellen (alles in einer Zeile):
1
2
attr WEB menuEntries restart,cmd=shutdown+restart,update,cmd=update,updatecheck,
Wie können Benachrichtigungen von einem Fhem-Server unter Raspberry Pi und auch anderen Programmiersprachen (Bash, Perl, PHP, Web…) an ein Handy versendet werden. Z.B. will man benachrichtigt werden wenn die Tür geöffnet wird oder wenn der Speicherplatz auf dem Rechner voll ist. Oder wenn die Temperatur unter 0 Grad ist oder oder…
Das geht mit Pushover. Es wird die kostenplichtige App (ein paar Euro) einmalig benötigt, und dann kann man diese REST-API kostenlos nutzen:
In Fhem in der fhem.cfg kann dann ein Eintrag erstellt werden, der z.B. täglich um 18 Uhr eine Nachricht versenden, wenn die Batterie von einem Gerät (hier Pulse von Withings) kleiner als 50 Prozent der Accu-Ladung ist. Versendete Nachrichten kommen innerhalb von wenigen Sekunden auf den Mobilen Geräten an. Es könnte also auch leicht alle 10 Sekunden abgefragt werden.
Es muss auf der Pushover-Seite nach der Anmeldung eine Application angelegt werden. Von der Seite erhält man dann auch den API-Token und auf der Hauptseite den User-Key. Die müssen hier ersetzt werden:
define pushPulseAccuStand at *18:00:00 {\
my $temp=ReadingsVal("withings_pulse_geraet", "batteryLevel", "0");;\
if($temp < 50){\
system ("curl -s -F 'token=--API-TOKEN' -F 'user=--USER-KEY---' -F 'message=Accu von Pulse beträgt: $temp.' -F 'title=Fhem: Accu Status zu Pulse' http://api.pushover.net/1/messages.json");;}\
}
Es gibt nun auch ein Fhem Modul, was die Nutzung mir dem Pushover Service vereinfacht.
Es muss nun kein curl mehr verwendet werden. Es reicht ein zwei Zeiler.
Erst das Device definieren und dann die Befehle absetzen. Z.B. täglich um 12 Uhr eine Nachricht senden "Pulse laden":
define Pushover1 Pushover TOKEN KEY
define at_Push at *12:00 set Pushover1 msg 'Titel' 'Pulse laden' '' 0 ''
Oder täglich um 12 Uhr Accu Warnung wenn kleiner als 70% Ladung:
define pushPulseAccuStandPulse at *12:00:00 {\
my $accu=ReadingsVal("withings_pulse_geraet", "batteryLevel", "0");;\
if($accu < 70){\
set Pushover1 msg 'Titel' 'Pulse laden, da nur noch $accu Prozent.' '' 0 ''\
}\
}
Habt ihr noch weitere Anwendungsgebiete? Dann bitte als Kommentar.
Dafür gibt es ein fertiges Modul in Fhem. Es müssen nur die zwei Zeilen mit den device, userid und publickey aus der Web-Oberfläche von Withings (alt)
define withings withings [device]
define withings> withings [userid] [publickey]
in der fhem.cfg ergänzt werden und ein restart des Fhem-Servers durchgeführt werden.
Dann kamm es bei mir zu folgender Fehlermeldung:
Can't locate JSON.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl . ./FHEM) at ./FHEM/32_withings.pm line 9, <> line 3.
BEGIN failed--compilation aborted at ./FHEM/32_withings.pm line 9, <> line 3.
An der Fehlermeldung kann man erkennen das JSON für Perl auf den Rasperry Pi nicht installiert war.
In der Modulbeschreibung steht auch das „JSON, LWP::Simple and Digest::MD5 have to be installed on the FHEM host“. Also noch ein paar Module neu installieren mit
sudo apt-get install libjson-perl libdigest-md5-file-perl liblwp-protocol-https-perl liblwp-protocol-http-socketunix-perl
auf der Konsole. Nach einem Restart, super es wird mein Gewicht angezeigt 🙁 Withings Daten in Fhem
Wie bekomme ich diese Gewichts-Daten nun in ein schönes Diagramm? Hat schon jemand eine passende gplot Datei? Dann bitte hier posten.
Der Fhem-Server läuft bei mir unter OpenWrt. Nun möchte ich in auf einem Raspberry Pi neu installieren. Vorbedingung ist ein laufender rPi unter Debian wheezy.
Zu erste Perl und einig libs installieren. Dann das Debian Package (8,8 MB) von der Fhem Seite runterladen und installieren. Zu guter letzt die Berechtigungen setzen.
Wer sein Fhem Server heute updated bekommt den Sysmon mitgeliefert (FHEM/42_SYSMON.pm). Installation wie in der Beschreibung von Sysmon angegeben. Wenn man das Beispiel in die fhem.cfg kopiert erhält man folgende Ausgaben:
Folgende Dinge fallen auf wenn man den Beispielcode 1:1 unter OpenWrt attitude_adjustment/12.09 verwendet:
1. Die Überschrift RPi stimmt in meinem Fall nicht, da es ein WR703N ist. Evl. muss da nur die Gruppe geändert werden.
2. Die Temperatur wird nicht angezeigt. Das liegt wohl daran, das der WR703N kein eingebauten Temp.-Sensor hat. Dann sollte die Zeile nicht vorhanden sein oder aber NN stehen. Oder hat der 703N ein Temp.-Sensor?
3. Die Frequenz in Mhz wird nicht angezeigt.
4. Wifi zeigt not available an, wohl weil es ausgeschaltet ist. Gut wäre auch, wenn alles in wahlweise in Deutsch angezeigt würde.
5. USB-Stick wird auch noch nicht richtig angezeigt.
6. Die 6 Plot Dateien werden noch nicht gefunden (Cannot read ./www/gplot/mySMNetworkEth0.gplot). Habe in das www/gplot Verzeichnis geschaut. Da sind die Dateien auch nicht vorhanden. Wo bekomme ich die? Hier steht, das die von GitHub geladen werden könne. Die könnten doch auch in Fhem eingescheckt werden?
Heute noch mal ein Fhem Update, aber die plott Dateien waren noch nicht eingescheckt, ok dann eben aus dem Git holen. Ab heute sind die Dateien nun auch eingescheckt. Der folgende Schritt kann also entfallen.
[Optional]
Ein neues Verzeichnis erstellt und die Dateien aus dem Git Repository geholt und in das Fhem/www/gplot Verzeichnis kopiert mit:
mkdir plott-dateien
cd plott-dateien
git clone git://github.com/hexenmeister/MyFHEM
cp SM* ~/fhem/www/gplot/
Nach reread der Config sind die Plotts auch da, Super!
Die CPU-Speed kann auf OpenWrt wie folgt angezeigt werden, hier meine getestete Perl Funktion: sub
CPUSpeed
{
my $CPUSpeed = qx(cat /proc/cpuinfo | grep "BogoMIPS" | sed 's/[^0-9\.]//g');
return $CPUSpeed;
}
Die könnte in Fhem integriert werden, dann würde auch die Frequenz (CPU-Speed) unter OpenWrt attitude_adjustment/12.09 angezeigt werden.
Der Entwickler hat die Funktion nun eingebaut, und der BogoMips wird nun auch angezeigt. Vielen Dank für das schnelle update. Das liebe ich an Open-Source-Projekten.
Habe die Config nun etwas angepasst, so sieht es super aus und kann bleiben:
In der fhem.cfg folgenden Eintrag machen:
define WetterOnline weblink iframe http://www.wetteronline.de/cgi-bin/hpweather?PLZ=30853
Den Parameter PLZ mit der entsprechenden Postleitzahl anpassen, sonst wird immer das gute Wetter von Langenhagen angezeigt.
Speichern und ein rereadcfg lassen folgendes Bild erscheinen Fhem mit Wetterdaten von WetterOnline
Mit dem weblink Befehl können auch Bilder und Links in Fhem eingefügt werden. Z.B. der link und das Bild von mir mit
define wenzlaff.de weblink link http://www.wenzlaff.de
define thomas weblink image http://wenzlaff.de/pic/twbildgut.png
liefert folgendes Ergebnis (Bild entfernt).
So wie hier in der Anleitung beschrieben.
Zuerst eine eigene Perl Methode mit folgenden Inhalt erstellen: Perl Datei 99_myTWUtils.pm
Dann folgenden Perl-Befehl aus dem Fhem Server absenden: Aufruf Perl Methode
Dann zur Kontrolle alle Paramteter einlesen mit set getConfig:
Und das Ergebnis anschauen mit, dabei darauf achten das die Reihenfolge der Tage anders ist als im Script: Fhem Temperaturliste
Nein. Leider nein. Auf schriftliche Anfrage des Herstellers „nein„. Es gab von der Fa. Koop auch keine Auskunft, wann es Adapter (Wippen) für die Homematic-Schalter geben wird. Schade das das Flaggschiff der Fa. Koop nicht mit Homematik verbunden werden kann.
Habe es dennoch versucht, um zu sehen woran es scheitert. Es passt einfach nicht, da der Wippen-Weg zu lang ist. Da ist auch mit feilen und sägen nichts zu machen, geht nicht mit den Kopp-Wippen
Also der Funkaktor passt nicht in die Vision Serie der Fa. Koop, so wie es der Hersteller sagt.
Schade, das die Vision Serie nicht passt.
Das sind die Homematic Schaltaktoren, die man mit einem „normalen“ Lötkolben leider nicht komplett löten kann,
da zwei Elkos so plaziert sind, das man da schon einen MINI-Lötkolben und eine Lupe haben muss (oder jemand kennen, der sowas hat 😉 ). Da könnte das Platinenlayout sicherlich verbessert werden.
Die Anleitung ist sehr Textlastig und in etwas so, löten sie so wie auf den Bildern zu sehen ist. Die Bilder sind leider nur in Orginalgröße vorhanden (Lupe lieg nicht bei) und dann auch noch mit einem anderen Bausatz vermischt. Da könnte ELV sicher noch optimieren.
Homematic Schalter UP von vorneHomematic Schalter Unterputz von hinten
Wenn er in Fhem angelernt ist meldet er:
2013-09-18_17:02:10 CUL_HM_HM_LC_Sw1PBU_FM_207EF4 level: 100 %
2013-09-18_17:02:10 CUL_HM_HM_LC_Sw1PBU_FM_207EF4 deviceMsg: on (to HMLAN_1)
2013-09-18_17:02:10 CUL_HM_HM_LC_Sw1PBU_FM_207EF4 on
2013-09-18_17:02:10 CUL_HM_HM_LC_Sw1PBU_FM_207EF4 running: -
# ab hier: rename CUL_HM_HM_LC_Sw1PBU_FM_207EF4 schalter
2013-09-18_17:04:29 schalter set_toggle
2013-09-18_17:04:30 schalter level: 0 %
2013-09-18_17:04:30 schalter deviceMsg: off (to HMLAN_1)
2013-09-18_17:04:30 schalter off
2013-09-18_17:04:30 schalter running: -
2013-09-18_17:04:40 schalter set_toggle
2013-09-18_17:04:40 schalter level: 100 %
2013-09-18_17:04:40 schalter deviceMsg: on (to HMLAN_1)
2013-09-18_17:04:40 schalter on
2013-09-18_17:04:40 schalter running: -
2013-09-18_17:04:59 schalter level: 100 %
2013-09-18_17:04:59 schalter deviceMsg: on (to HMLAN_1)
2013-09-18_17:04:59 schalter on
2013-09-18_17:04:59 schalter running: -
Um die digitalen Werten, wie Tür auf oder zu in einem Plot mit dem Batterie Zustand auszugeben, kann wie folgt vorgegangen werden. Der HM-Sec-SC Funk-Tür-/Fensterkontakt gibt die Werte ja zurück. Die rote Linie gibt den Türzustand aus ob die Tür auf oder zu ist bzw. war.
Plot der Schaltzustände der Tür und der Batterie aus Fhem
Diese /fhem/www/gplot/myTerrassenTuer.gplot Datei speichern:
/* myTerrassenTuer.gplot Version 1.0 vom 07.09.2013
Dieses GNU-Plot Script (myTerrassenTuer.gplot) gibt zwei Zustaende des Tuerkontakt als Kurven aus und zwar den Batterie-Zustand, den Status der Tuer.
(C) 2013 Thomas Wenzlaff http://www.wenzlaff.de
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see {http://www.gnu.org/licenses/}. */
set terminal png transparent size <SIZE> crop set output '<OUT>.png' set xdata time set timefmt "%Y-%m-%d_%H:%M:%S" set xlabel " " set title 'Terrassen Tuer'
set ytics ("Zu" 0, "Ok" 0.8, "Auf" 1) set y2tics ("Zu" 0, "Ok" 0.8, "Auf" 1) set yrange [-0.1:1.1] set y2range [-0.1:1.1] set ylabel "" set y2label ""
Kurz:
1. fhem.cfg ergänzen (siehe Kopiervorlage unten)
2. drei gnuplot Datein von Githup nach /fhem/www/gplot/ kopieren
3. fhem restarten
Zu 1.: Der Teil der in der fhem.cfg ergänzt werden muss für Langenhagen:
# Wetter von Yahoo (670178 = Langenhagen, 600=alle 600 Sekunden (10min) Yahoo abfragen, de=Sprache Deutsch)
define Wetter Weather 670178 600 de
attr Wetter event-on-update-reading temperature,humidity,pressure,wind_speed,wind_chill,wind_direction
attr Wetter group Umwelt
attr Wetter room 9.02_Steuerung
So sieht es nach den ersten Messwerten aus, ja es ist noch keine Kurve. Aber immerhin: Fhem Wetter Service von Yahoo im FhemDas sind diese Messwerte:Yahoo Wetterdaten Langenhagen in FhemUnd die beiden anderen Punkte mit der Steuerung und Logs:
Diese Website benutzt Cookies. Wenn du die Website weiter nutzt, gehen wir von deinem Einverständnis aus.