Ninja Block 2.0 Sensoren einbinden

Begonnen von BenWend, 25 März 2013, 23:28:22

Vorheriges Thema - Nächstes Thema

BenWend

Hallo,

ich habe mir vor kurzem den Ninja Block 2.0 gekauft, um diesen als Hausautomatsierungslösung zu nutzen. Da ich mittlerweile fürchte, dass der Ninja Block 2.0 konzeptionell noch nicht für meine Zwecke geeignet ist, soll FHEM jetzt die Automatisierung übernehmen. Seit vorgestern läuft FHEM jetzt auch und ist mit dem RFXtrx433 USB Transceiver sehr vielversprechend.

Ich frage mich allerdings, ob die Sensoren, die mit dem Ninja Block mitgeliefert wurden, irgendwie über den RFXtrx433 USB Transceiver angesprochen werden können - denn die Sensoren sind aus zwei Gründen ganz interessant:

Das tolle an den Sensoren, die beim Ninja Block 2.0 dabei waren (http://ninjablocks.com/collections/sensors), ist, dass es sich bei diesen 1.) offenbar um eine sehr günstige Chinaproduktion handelt, die auch in Deutschland mit etwas Suche im Internet verfügbar ist (http://forums.ninjablocks.com/index.php?p=/discussion/238/water-and-vibration-sensor-gas-and-smoke-detector#Item_1) und die man 2.) recht gut "hacken" kann.

Was meine ich mit? Die Sensoren sind so einfach aufgebaut, dass es selbst mir als Anfänger möglich war, u. a. einen bei Conrad bestellten Alarmsensor einzubauen, der auf wirklich kleinste Bewegungen reagiert (noch empfindlicher als andere Schocksensoren, die ich kenne). Hier ein paar bebilderte Infos zu meinem kleinen Projekt: http://forums.ninjablocks.com/index.php?p=/discussion/303

Es wäre einfach genial, wenn die Sensoren auch in FHEM funktionieren würden. Meine Vermutung ist, dass die Sensoren möglicherweise recht einfach implementiert werden könnten. Ich denke (Achtung, es handelt sich um gefährliches Halbwissen eines Anfängers), dass die vom Ninja Block verwendeten 433 Mhz Empfänger/Sender relativ ,,dumme" Bauteile sind, die "RAW-Signale" auslesen können. So in etwa, wie auch die 433Mhz Empfänger/Sender, die für ein anderes Arduino-Projekt von einem Nutzer hier beschrieben werden: http://www.amshove.net/wiki/arduino:start. Mit RAW meine ich amplitude shift keying (AM/ASK) wie hier beschrieben: http://www.mikrocontroller.net/articles/433_MHz_Funk%C3%BCbertragung

Ich vermute stark, dass im Ninja Block ähnliche Bauteile verwendet wurden. Dafür sprechen u.a. die Geräte, die vom Ninja Block unterstützt werden und einige Kommentare der Entwickler im Forum. Gerne liefere ich bei Interesse weitere Infos. Hier findet man übrigens Bilder der Sender/Empfänger: http://help.ninjablocks.com/customer/portal/articles/921208-sensor-range-to-the-ninja-block

Ob es wohl möglich wäre, diese Sensoen über den RFXtrx433 USB Transceiver  - oder zur Not über andere Empfänger - auch in FHEM einzubinden?

Ich habe bisher versucht, die Signale mittels FXtrx433 USB Transceiver per autocreate in FHEM einzubinden. Wie erwartet ohne Erfolg - dies wäre auch zu einfach gewesen.

Dann habe ich versucht, herauszufinden, ob der RFXtrx433 USB Transceiver ohne FHEM irgendwelche Signale der Sensoren abgreift. Nach meinem laienhaften Verständnis hätte er eigentlich etwas empfangen müssen, wenn es sich tatsächlich um so dumme Signale gehandelt hätte, wie ich vermutet hatte. Leider reagierte der RFXtrx433 USB Transceiver nicht auf die ausgesendeten Signale. Getestet habe ich es mit dem "Diagnoseprogramm" RFXmngr. Dabei habe ich auch versucht, die Signale sowohl im "Lightning 4" Modus als auch im "undec on" und in den restlichen Modi zu empfangen. Alles erfolglos. Weder ein gelb blinkendes Licht am RFXtrx433 USB Transceiver noch irgendwelche Daten im RFXmngr-Log. Vielleicht doch nicht einbindbar?

Hat jemand von Euch noch irgendwelche Ideen? Gerne sponsore ich einem interessierten Vollprofi auch einen meiner Sensoren zum Testen, Auspobieren und Behalten.

Schöne Grüße

Ben

Willi

Hallo Ben,

ich habe Deine Nachricht erst jetzt gesehen.
Ich bin mir nicht klar, welches Funkprotokoll/Codierung die einzelnen Sensoren verwenden. Haben die etwas eigenes erfunden? Gibt es dazu eine Beschreibung?

Bei den Temperatursensoren könnte es sich evtl. um LaCrosse-Sensoren zu handeln. Zumindest werden diese wohl von Ninja Blocks unterstützt. Bist Du sicher, dass Du das Protokoll LaCrosse in RFXmngr für den RFXtrx433 eingeschaltet hast?

Du könntest ansonsten mal probieren testweise über RFXmngr unter Windows das Protokoll Lighting4 (=PT2262) einzuschalten zu sehen, ob Du etwas sinnvolles in RFXmngr angezeigt bekommst.
Mein Treiber kann auch die Nachrichten von Lighting4 empfangen/Verarbeiten und (gerade im Test) senden.

Ansonsten könntest Du auch mal probieren bei RFXCOM anzufragen, ob die dazu etwas sagen können. Evtl. haben die ja die Unterstützung der Ninja Block 2.0 Sensoren schon auf dem Radar.

Wenn gar nichts hilft, könntest Du versuchen Ninja Blocks auf einem Pi realisieren und ein FHEM-Modul dazu schreiben. Als Funkroutinen wird von Ninja-Blocks wohl https://code.google.com/p/rc-switch/ verwendet, das es auch für den Pi gibt. Damit könntest Du kompatibel zu Ninja Blocks werden.

Grüße

Willi
FHEM@Q600(debian) mit DS9490R (1Wire) | FHEM@Sheevaplug(debian) mit RFXCOM-Receiver(80002), CULv3 & USB-WDE1 | FHEM@odroid mit CULv2 & RFXtrx433

BenWend

Hallo Willi,

vielen Dank für Deine Antwort. Der RFXtrx433 erkennt die Sensoren auch im Lighting4 Modus nicht. Das ist für mich mittlerweile aber auch nicht weiter schlimm, da ich immer mehr von FHEM begeistert bin und mir mittlerweile auch den HomeMatic LAN Konfigurations-Adapter zugelegt habe. Die dortigen HM-Sec-Sc Funk-Tür-/Fensterkontakt lassen sich ebenfalls sehr einfach modifizieren: http://forum.fhem.de/index.php?t=msg&goto=73951&rid=1220#msg_73951. Genau das, was ich gesucht habe.

Auch vom RFXtrx433 bin ich nach wie vor begeistert und habe darüber mittlerweile sechs Innenbewegungsmelder, acht Rauchmelder, drei Temperatursensoren, 10+ Zwischenstecker, 2 Unterputzdimmer und einen Dämmerungsmelder angeschlossen.

Vielen Dank und beste Grüße

Ben
   


gandy

Hi,

gibt es hierzu irgendwelche weitern Erkenntnisse? Hab mir ein Ninja-Crust für den Raspberry Pi zugelegt und eine Handvoll Temperatursensoren, die ich in FHEM einbinden möchte. Wäre mir wesentlich sympatischer als das über die Cloud abzuwickeln...

Grüße,
Andy.
fhem (svn) auf i5-4210U NUC
2x HMLAN, 19x HM-SEC-RHS, 15x HM-LC-Bl1PBU-FM, etc.
ODYS Neron Tablet / Android 4.2
Samsung Galaxy Tab 2 10.1N / Android 4.1.2
Samsung Galaxy Note / Android 6.0.1

gandy

Inzwischen läuft bei mir ein Modul NinjaPiCrust, das die Kommunikation mit dem Arduino abwickelt und die Sensoren über ein Modul NINJA als virtuelle Devices abbildet. Ein wenig müssen die beiden noch aufgeräumt werden, dann können sie zunächst die Temperatur/Feuchtigkeitsensoren für fhem nutzbar machen, ohne die Ninja-Cloud nutzen zu müssen. Steckdosenschalter und Bewegungsmelder sollen folgen.

Bei Interesse stelle ich die Module gerne zum Testen hier ein.

Grüße,
Andy.
fhem (svn) auf i5-4210U NUC
2x HMLAN, 19x HM-SEC-RHS, 15x HM-LC-Bl1PBU-FM, etc.
ODYS Neron Tablet / Android 4.2
Samsung Galaxy Tab 2 10.1N / Android 4.1.2
Samsung Galaxy Note / Android 6.0.1

movie_fan

Hallo Andy,
ich habe auch neben FHEM noch einen weiteren Raspberry Pi mit dem Ninja-Pi Crust für meine 433MHz Steckdosen und einem Temperature and Humidity Sensor im Einsatz. Ich würde deine Module für FHEM gerne testen :) . Vielleicht wird der Ninja-Pi Crust für viele FHEM Nutzer noch interessant wenn Ninja Blocks seine Ninja Sphere veröffentlicht. https://www.kickstarter.com/projects/ninja/ninja-sphere-next-generation-control-of-your-envir

Wäre auf alle Fälle nochmal eine Bereicherung für FHEM wenn man die Geräte mit Hilfe des Ninja-Pi Crust koppeln kann.

Danke dir schonmal im Voraus für die Module  :)

Grüße
Dominik
FHEM 5.7 auf Cubietruck
FHEM 5.6 auf FRITZ!Box7390 mit SolarView V2.22h

VCCU mit 2x HMLAN, Brennstuhl Fernbedienung 433MHz (GenShellSwitch), CUL868 V3.4 mit 5dBi Antenne, HUE Bridge 1+2.0, FRITZ!Powerline 546E, Samsung UE55D8090 (STV), LW12, Roomba 780 RooWifi

gandy

Nachdem nun doch ein gewisses Interesse an der Anbindung des NinjaPiCrust an FHEM besteht, anbei die Module zum Spielen. Wenn jemand die Module übernehmen und weiterentwickeln möchte, nur zu. Bei mir sind die Ninja-Sensoren aufgrund der unzuverlässigen Empfangsverhältnisse nie aus dem Testbetrieb rausgekommen. Die Module aber machen was sie sollen.

37_NinjaPiCrust.pm ist das IoDev für die Kommunikation und für die Ansteuerung der Crust-LEDs
37_NINJA.pm ist das Modul für die einzelnen Sensoren

Im Moment werden Temperatur/Feuchtigkeitssensoren unterstützt, mehr ist in 37_NINJA.pm zwar vorgesehen, aber nicht weiterentwickelt.

Meine Beispielkonfig:

define autocreate autocreate

define npc NinjaPiCrust /dev/ttyAMA0
attr npc event-on-update-reading npc_LASTMSG
attr npc room NINJA

define npcreset RPI_GPIO 23
attr npcreset direction output
attr npcreset room NINJA


npcreset ist ganz hilfreich, um den sketch auf dem NinjaPiCrust neu zu starten, wenn er sich mal aufgehängt haben sollte.

Viel Spaß beim Ausprobieren,
Andy.
fhem (svn) auf i5-4210U NUC
2x HMLAN, 19x HM-SEC-RHS, 15x HM-LC-Bl1PBU-FM, etc.
ODYS Neron Tablet / Android 4.2
Samsung Galaxy Tab 2 10.1N / Android 4.1.2
Samsung Galaxy Note / Android 6.0.1

moshel

Hi,

I have just found this thread. I am a complete newbie to FHEM. how do I install these modules? did anyone made some progress with them?

Thanks,
Moshe

moshel

Update:

Managed to install the modules.
you need to first install wiringpi using the instructions in http://wiringpi.com/download-and-install/ and JASON (the FHEM docs incorrectly say apt-get install perl-libjson, but its really libjans-perl)
its seems to load ok but i am getting:
2015.04.16 04:10:55 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/37_NinjaPiCrust.pm line 572.
2015.04.16 04:10:55 0: npc: ERROR: got {"ERROR":[{"CODE":1}]} from
2015.04.16 04:11:05 1: /dev/ttyAMA0 disconnected, waiting to reappear (npc)
2015.04.16 04:11:05 3: Setting npc baudrate to 9600
2015.04.16 04:11:05 1: /dev/ttyAMA0 reappeared (npc)
2015.04.16 04:11:05 1: Can't open file: npcreset, value

The NINJA section is opened in the web interface but other than npcreset has non of my devices.

Again, any help will be greatly appreciated!

Moshe

gandy

can you check if npcreset is set up properly? please check previous postings to see how to define it. you may to activate gpiopins in the device tree, first. npcreset is used to reset the firmware on the NinjaPiCrust which appears to hang more often than not.

also, make sure to have autocreate activated.
fhem (svn) auf i5-4210U NUC
2x HMLAN, 19x HM-SEC-RHS, 15x HM-LC-Bl1PBU-FM, etc.
ODYS Neron Tablet / Android 4.2
Samsung Galaxy Tab 2 10.1N / Android 4.1.2
Samsung Galaxy Note / Android 6.0.1

moshel

Thanks for your reply.
autocreate is activated (define autocreate autocreate) but I had to disable :
"define initialUsbCheck notify global:INITIALIZED usb create" as it was getting stuck on the "probing FRM device". can this be the problem?
the section in the fhem.cfg is:
define npc NinjaPiCrust /dev/ttyAMA0
attr npc event-on-update-reading npc_LASTMSG
attr npc room NINJA

define npcreset RPI_GPIO 23
attr npcreset direction output
attr npcreset room NINJA


how do i use the gpiopins?

Thanks,
Moshe

moshel

Another update...
after some tinkering and rebooting the pi, it seems to work better (or maybe just differently?):
2015.04.16 22:18:11 3: Setting ZWDongle_0 baudrate to 115200
2015.04.16 22:18:11 3: ZWDongle_0 device opened
2015.04.16 22:18:13 3: Opening npc device /dev/ttyAMA0
2015.04.16 22:18:13 3: Setting npc baudrate to 9600
2015.04.16 22:18:13 3: npc device opened
2015.04.16 22:18:18 1: npcreset: failed to export pin gpio23
2015.04.16 22:18:18 1: Including ./log/fhem.save
2015.04.16 22:18:18 1: Can't open file: npcreset, value

i checked permissions and they seems to be ok. this works with no error:
sudo -u fhem echo 23 > /sys/class/gpio/export

so I am now perplexed...

gandy

did you check the access rights to /sys/devices/virtual/gpio/gpio23 and files therein? if your fhem runs with use fhem, you need to make sure it can gain write access. maybe check for further information on module RPI_GPIO
fhem (svn) auf i5-4210U NUC
2x HMLAN, 19x HM-SEC-RHS, 15x HM-LC-Bl1PBU-FM, etc.
ODYS Neron Tablet / Android 4.2
Samsung Galaxy Tab 2 10.1N / Android 4.1.2
Samsung Galaxy Note / Android 6.0.1

moshel

pi@raspberrypi ~ $ sudo find  /sys -name gpio
/sys/devices/soc/20200000.gpio/gpio
/sys/class/gpio
/sys/firmware/devicetree/base/soc/gpio
/sys/firmware/devicetree/base/__symbols__/gpio
/sys/firmware/devicetree/base/aliases/gpio


it doesn't look like the device exists under the dev structure

gandy

fhem (svn) auf i5-4210U NUC
2x HMLAN, 19x HM-SEC-RHS, 15x HM-LC-Bl1PBU-FM, etc.
ODYS Neron Tablet / Android 4.2
Samsung Galaxy Tab 2 10.1N / Android 4.1.2
Samsung Galaxy Note / Android 6.0.1