Shpi - smart home peripheral interface

@volkerm
@JuergenG
Ich glaube wir können uns darauf einigen das die Implementierung von KNX-RF für den RasPi „unvollständig“ ist. Vermutlich ist einfach das Interesse daran zu gering. Kann ich jedenfalls gut nachvollziehen: da ich kein Kabel zu den Rollläden ziehen darf (danke Vermieter) will ich sie nun auch mit Funk schalten. Ein KNX-RF Aktor kostet einfach mal doppelt so viel ein Homematic Produkt mit den selben Eigenschaften. Und da funktioniert die Implementierung. Dabei muß ich als Anwender nichtmal das genaue Protokoll oder die Modulationsart kennen. Es reicht zu wissen das dieses Funkmodul mit diesem Treiber die erfolgreiche Kommunikation ermöglichen.

@Fonzo
IPSView würde vermutlich laufen wenn es endlich eine Linuxversion gäbe. Meinst du mit Schnitstellen die Hardware oder die Software?

Die Frage ist ja eher ist der ist der Raspberry Pi Zero überhaupt in der Lage eine App flüssig darzustellen oder eben auch Dinge in einem normalen Browser flüssig ohne Ruckler darzustellen oder bekommt man da schon Performanceprobleme? NEO gibt es z.B. auch für Linux, die Frage ist eher läuft so was überhaupt grundsätzlich auf so einem Gerät?

Ich würde von einem Gerät das kommerziell verkauft wird zumindest erwarten das eine Standardoberfläche mitgeliefert wird, die die Daten auch alle darstellen kann von den Sensoren die im Gerät verbaut worden sind. Mit Schnittstellen meine ich ob es klar definierte und dokumentierte Beschreibungen gibt wie die Sensoren des Geräts z.B. per REST oder MQTT von anderen Systemen abgefragt werden können?

Der Hersteller hat eine Standardoberfläche, alle paar Tage kommen Updates. Das steht zu mqtt

MQTT Client

MQTT Client - start with startmqttclient = 1 in config.py

published channels: atmega_volt, d13, hwb, a0, a1, a2, a3, a4, a5, a7, atmega_temp, vent_rpm, vent_pwm, atmega_ram, buzzer, relais1current, mlxamb, mlxobj, bmp280_temp, pressure, lightlevel, sht_temp, humidity, motion, set_temp, backlight_level, gputemp, cputemp, act_temp, useddisk, load, freespace, wifistrength, ipaddress, led_red, led_green, led_blue, ssid, uhrzeit, relais1, relais2, relais3, lastmotion, max_backlight, usertext, usertextshow, alert

subscribed channels for remote control of SHPI (set/): relais1, relais2, relais3, buzzer, d13, alert, max_backlight, set_temp, vent_pwm, led

USE: ON | OFF for relais1, relais2, relais3, d13, alert

USE: 1 .. 31 for max_backlight

USE: 0.0 .. 88.5 for set_temp

USE: 0 .. 255 for vent_pwm

USE: 255,255,255 for led

Der Hersteller hat alles an Software Open Source auf Github :
GitHub - shpi/zero_main_application
Das ist die Standartanwendung, die dann auch die Basis für Eigenentwicklungen ist. Dort steht auch die Dokumentation.
So taucht da auch ein HTTP Server und ein MQTT Client auf. Außerdem scheint noch in Arbeit zu sein:
Apple Home Kit (testing)
Config Files for Openhab, Loxone, FHEM, IP Symcon
Bluetooth Sensor Broadcasting

Was die Rechenleistung angeht denke ich das man das mal ausprobieren mus. Der RasPi hat in etwa die Rechenleistung eines Smartphones. Das reicht sicher nicht zum Bitcoin mining, aber für Betriebssystem und Anwendugen.

Die Rechenleistung würde ich niedriger als ein modernes Smartphone einstufen. Es ist ein 1 GHz Arm mit 512 MB Ram. Ich hab den Stromverbrauch mal versucht zu messen und es lag unter 2 Watt. Die Python3 Anwendung ist flüssig und lässt sich angenehm bedienen, aber Chromium lädt etwas langsam.

Ok, also ein älteres Smartphone. :smiley:

Im Datenblatt taucht bei den I2C Adressen ein INA219 als Option auf und auf der Platiene ist wohl auch ein Platz dafür vorgesehen. Miß den Stromverbrauch doch direkt. :slight_smile:

Na dann warte ich mal ab, grundsätzlich ist das ja ein gute Idee mehrere Sensoren in einem Gerät zu haben, voraus gesetzt die Sensoren taugen was von der Messqualität und es ist eben eine Anbindung an andere Systeme möglich, ohne das man Wochen benötigt um so ein System anzubinden.Sollte es mal so weit ausgereift sein das Configfiles für IP-Symcon vorliegen und man das dann mit nicht allzu viel Arbeit anbinden kann, ist das eine Option, die ich mir persönlich dann vielleicht näher anschaue, vor allem wenn wirklich mal der shpi one erscheinen sollte. Wenn ihr so oder so das Gerät einsetzt bzw. damit rum experimentiert, könnte ihr ja gerne eine Anleitung zur Anbindung von IP-Symcon schreiben oder vielleicht sogar ein Modul schreiben, mit dem man die Messwerte des Geräts einfach in IP-Symcon übertragen kann bzw. auch Daten von IP-Symcon, wie ein Bild, auf das Gerät übertragen kann.

Also das Display hat 800x480 Pixel, für was möchtest du ein Bild rüberkopieren? Um Statistiken anzuzeigen?

Ich sehe 3 potentielle Möglichkeiten

  1. In der Python3 Anwendung zyklisch ein Bilder herunterladen, speichern und auf einem Slide anzeigen.
    2 Ein Bild per HTTP-Post übertragen, wenn der Config Webserver fertig ist
  2. Per ssh rüberschieben?

Ich nehme an Variante 1 macht am meisten Sinn.

Wenn dann um das mit den möglichen theoretisch beschriebenen Einsatzszenarien nutzten zu können, also als Überwachungsmonitor für IP-Kameras oder als Gegensprechanlage. Als Überwachungsmonitor muss das Gerät in der Lage sein von IP-Symcon ein Event empfangen zu können und dann auf einen Stream zu wechseln den man entweder schon hinterlegt hat oder besser dessen Stream URL von IP-Symcon an das Gerät übertragen wird. Um das Gerät als Gegensprechanlage nutzten zu können, muss das Gerät als SIP Endpunkt funktionieren können und ebenfalls in der Lage sein von IP-Symcon im Falle eines Events auf den Stream zu wechseln und dann den Anruf entgegen zu nehmen.

Also in der Main App ist ein Slide der RTSP oder H264 Streams anzeigen kann mit omxplayer. Den aktuell angezeigten Slide sollte man steuern können, wenn die Variable in eg_object gepackt wird. Ich leite das mal weiter.

Die Gegensprechanlage Demo funktioniert da wohl anders, anscheinend zwischen zwei SHPI. Damit sollte aber auch jeder Raspberry gehen.