homeeUp - virtuelle Geräte in homee

@_kevdi

Hi Kevin, kannst Du uns sagen, wie die Konfiguration für Bewegungsmelder bzwe. Fenster und Türkontakte aussieht?

Leider kann ich es nicht herauslesen :frowning:

1 „Gefällt mir“

Komisch, aus irgendeinem Grund war der Thread für mich „Stummgeschalten“ und ich wurde nicht über Antworten informiert. :frowning:

Hier ein Screenshot, wie das Vorwerk-Plugin mit einem Türkontakt anzeigt, ob sich der Roboter im Dock befindet.

Was möchtest du denn mit dem Sensor abbilden @fisch? Momentan unterstützt nur das Vorwerk-Plugin den Sensor. Wenn du mir aber konkretere Anwendungsfälle zeigst, kann ich diese eventuell abbilden. Da fällt mir ein: Es würde ja Sinn machen diesen über das CMD-Plugin steuerbar zu machen, oder?

1 „Gefällt mir“

Hallo zusammen,
habe mir heute das SimpleMQTTPlugin vorgenommen.
Dieses funktionierte nur im Zusammenspiel mit HMLCSW1.
Da ich gerne einige Daten vom MQTT als Sensoren darstellen wollte, musste eine Lösung her.
@anon21150642 hat je noch ein paar Geräte implementiert und hier ist jetzt der Tür Fensterkontakt und der Bewegungsmelder drin.
Also habe ich mal das Plugin von @gido etwas abgewandelt.
So habe ich mir zwei weitere Plugin erstellt, die jetzt einen Motionsensor und einen Tür Fensterkontakt implementieren können.

Jetzt kann ich auch Sensoren die über einen ESP kommen direkt an homee weiterleiten.

VG Micha

4 „Gefällt mir“

Kannst du mal kurz den Weg vom ESP beschreiben? Was beauch ich damit ich zum Beispiel einen Schalter oder Türkontakt als ESP so in Homee einlesen kann?

Gruß Stev

Hallo @Stev,

hier mein kleines Projekt.
Benötigt wird :

  • Raspi 3 mit Rasbian und einer homeean.de Installation ( MQTT , homeeup )
  • Nodemcu oder WEMOS D1 oder vergleichbar

Der Nodemcu oder auch WEMOS D1 werden mit der Software ArduinoIDE und der Lib PubSubClient programmiert.
Die digitalen Eingänge/Ausgänge können jetzt an den MQTT Broker publish/subscribe werden.
Mit einem entsprechendem Programm ( ioBroker , Node-Red ) können die MQTT Channel geschaltet werden.

Das homeeup wurde auf dem Raspi mit homeean installiert und die config.json nach den eigenen Anforderungen geändert.

hier mal eine Beispiel config.json

{
        "plugins": [{
                        "deviceName": "Relay1",
                        "type": "SimpleMQTTPlugin",
                        "pluginParams": {
                                "mqttServer": "192.XXX.XXX.XX",
                                "mqttOnTopic": "esp8fach/digital(01)",
                                "mqttOffTopic": "esp8fach/digital(01"     
                              }
                },
                      {
                        "deviceName": "Relay3",
                        "type": "SimpleMQTTPluginDoor",
                        "pluginParams": {
                                "mqttServer": "192.XXX.XXX.XX",
                                "mqttOnTopic": "esp8fach/digital(03)",
                                "mqttOffTopic": "esp8fach/digital(03)"
                        }
                },
                         {
                        "deviceName": "Relay4",
                        "type": "SimpleMQTTPluginMotion",
                        "pluginParams": {
                                "mqttServer": "192.XXX.XXX.XX",
                                "mqttOnTopic": "esp8fach/digital(04)",
                                "mqttOffTopic": "esp8fach/digital(04)"
                        }
                }

        ],
        "hostAdress": "192.XXX.XXX.XX"
}

Die Plugin SimpleMQTTPluginDoor und SimpleMQTTPluginMotion sind abgeänderte SimpleMQTTPlugin von @gido .

Wenn das jetzt alles soweit funktioniert können wir dann im homee die Geräte hinzu fügen.
Ausgewählt wird WLAN Gerät / CCU , der Port ist die IP des Raspi wo homeeup installiert wurde.
Nun sucht der liebe homee die Geräte und findet sie im besten Fall :slight_smile:.
Wenn nun der entsprechende Eingang am Nodemcu/WEMOS D1 geschlossen wird , sendet der ESP den Wert an den MQTT Broker. Hier hört homeeup mit was auf dem Channel passiert und entsprechend wird der Zustand in homee gesetzt.

Nun wird mir also ein Bewegungsalarm gemeldet oder auch ein geöffnetes Fenster mitgeteilt.

Mit dem SimpleMQTTPlugin kann ich die Ausgänge am ESP schalten.
Hier mal ein Foto von einem 8fach Relais.

Jetzt habe ich also 8 Geräte im homee die ich schalten kann. ( extrem schnell )
Kosten dafür WEMOS D1 3€ , Relais 4€ , 5V netzteil 4€ .

Wenn noch jemand Fragen hat nur her damit.
Und Vielen Dank an @anon21150642 und @gido
VG Micha

8 „Gefällt mir“

Lange Geschichte:

Kurze Geschichte:
Ich habe einen CMD Switch angelegt, diesen als “Dashboard” umbenannt und als On/ Off Befehle vcgencmd display_power 1 bzw. vcgencmd display_power 0 eingetragen.

Wenn ich das per 2 HGs schalte, funktioniert es:

  • Wenn abgespielt, dann schalte Dashboard an
  • Wenn abgespielt, dann schalte Dashboard aus

Wenn ich jedoch das Gerät direkt schalte, dann springt der Schalter immer zurück auf “An”, auch, wenn es eigentlich “Aus” wäre. Klicke ich nochmals auf den Schalter, springt dieser zwar kurz auf Aus und zurück auf An, aber das Display bleibt aus.

Habe den CheckIntervall mal gelöscht (dann ging nichts mehr) und auf 5 gestellt, das hat aber nichts gebracht.

Kann man “CCU” Geräte nicht als Gerät schalten? Oder stimmt hier etwas nicht?

{
        "plugins": [
                {
                        "deviceName": "Dashboard",
                        "type": "SimpleCMDPlugin",
                        "pluginParams": {
                                "onCmd": "vcgencmd display_power 1",
                                "offCmd": "vcgencmd display_power 0",
                                "statusCmd": "ls /tmp/file >> /dev/null; echo 0",
                                "checkInterval": 2000
                        }
                }
        ],
        "hostAdress": "IP meines RPI"
}

Hallo Wildsparrow,

das sieht schon mal gut aus, du musst nur noch das „statusCmd“ anpassen. Gibt es eine Möglichkeit per CMD abzufragen, ob dein Gerät an oder aus ist? Hätte dann den Vorteil, dass das Gerät auf „An“ umspringt, wenn du das Display beispielsweise manuell weckst.

Falls nicht, kann ich an homeeUp eine Anpassung vornehmen, sodass das „statusCmd“ optional ist. Dann springt auch der Status des Schalters nicht um.

1 „Gefällt mir“

Sollte erledigt sein. Bitte auf die neueste master-Version updaten: npm install -g kdietrich/homeeup und anschließend in der config.json das statuscmd entfernen. :wink:

1 „Gefällt mir“

Ich such noch, ob es möglich ist, per cmd den Status abzufragen … wenn ich nichts finde, mach ich das update. Danke schonmal :slight_smile:

Wenn ich das Update versuche, erhalte ich folgende Fehlermeldung:

pi@raspberrypi:~ $ npm install -g kdietrich/homeeup
npm WARN checkPermissions Missing write access to /usr/lib/node_modules/homeeup
npm WARN checkPermissions Missing write access to /usr/lib/node_modules
npm ERR! path /usr/lib/node_modules/homeeup
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules/homeeup'
npm ERR!  { Error: EACCES: permission denied, access '/usr/lib/node_modules/homeeup'
npm ERR!   stack: 'Error: EACCES: permission denied, access \'/usr/lib/node_modules/homeeup\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/lib/node_modules/homeeup' }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).
sudo
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/pi/.npm/_logs/2018-07-27T21_09_58_158Z-debug.log

(Achtung: Habe homeeup per homeean installiert, wenn das einen Unterschied macht)

Wenn ich nur

vcgencmd display_power

eingebe, dann erhalte ich als Antwort
display_power=1 wenn der HDMI Ausgang an ist und display_power=0wenn der HDMI Ausgang aus ist

Damit kann man doch bestimmt was machen?

Moin @anon21150642

Was muss ich nun tun , dsss ich die Rollos reinbekomme?

Greetz

Vor dem Update Befehl musst du noch ein sudo hinzufügen, dann klappt es. Du könntest außerdem als statusCmd das hier probieren:

vcgencmd display_power | sed "s/display_power=//"

Hier wird die von dir geschriebene Ausgabe ausgegeben und das display_power= wird entfernt, sodass nur 0 oder 1 übrig bleibt. Genau einen solchen Wert erwartet statusCmd.

Ich melde mich bei dir per Slack.

1 „Gefällt mir“

Leider funktioniert das nicht, auch, wenn es logisch klingt. Aber wenn ich das eingebe, dann wird mein Gerät im homee ausgegraut (nicht erreichbar) und ich kann es nicht mehr schalten.

also ich habe als Zeile jetzt "statusCMD": vcgencmd display_power | sed "s/display_power=//", als auch "statusCMD": "vcgencmd display_power | sed "s/display_power=//"", probiert

OK, ich hab mich durch das halbe Internet gelesen (zwecks Befehl sed) und dutzende Dinge ausprobiert … nichts hat funktioniert. Dann hab ich geschaut, ob statusCMD eine Null als 0 oder als “0” erwartet. Also folgender Code:

{
        "plugins": [
                {
                        "deviceName": "Dashboard",
                        "type": "SimpleCMDPlugin",
                        "pluginParams": {
                                "onCmd": "vcgencmd display_power 1",
                                "offCmd": "vcgencmd display_power 0",
                                "statusCmd": "0",
                                "checkInterval": 2000
                        }
                }
        ],
        "hostAdress": "IP meines RPI"
}

Und … damit funktioniert es soweit problemlos. Ich seh jetzt den Status, ob das Display an oder aus ist, ich kann im Gerät das Display an und aus schalten … wie ein ganz normales, reales Gerät in homee.

Wenn ich das Display aber nicht über homee (Direkt Gerät) ausschalte, sondern per Kommandozeile, dann ändert sich jetzt natürlich nicht der Status in homee. @anon21150642 Hast du noch eine Idee?

Anmerkung: Eben ausprobiert: Über Alexa kann ich das Display auch an/aus schalten, der Status wird dann (natürlich) richtig übernommen.
Im Prinzip würde mir das alles langen, da ich das Display nur über das Tor und Sprache an/aus schalte. Aber so eine Rückkopplung über den tatsächlichen Status wäre rein aus Prinzip gut :wink:

2 „Gefällt mir“

Wir haben das Problem zwischenzeitlich gelöst. Eine 0 im statusCmd bedeutet “Gerät an” und nicht “Gerät aus”, angelehnt am Returncode von Bash.

Daher:

"statusCmd": "vcgencmd display_power | sed 's/display_power=0/1/;s/display_power=1/0/'"
3 „Gefällt mir“

Nach 2 Tagen ohne Internet (nur per Handy, Kabel-Internet wurde hoffentlich zum letzten Mal für eine längere Zeit “optimiert”) hier nur das Endergebnis :wink:

Meinen Raspberry Pi 3 B+ habe ich noch eine GUI (LXDE) und Browser spendiert (Chromium). Unclutter verdeckt den Mauszeiger nach wenigen Sekunden Inaktivität. Dann kam noch homeeUp drauf und ein Gerät wurde angelegt. Dieses konnte ich dann in homee per WLAN- CCU2 anwählen. Das Gerät aktiviert bzw. deaktiviert den HDMI Ausgang von meinem RPI, somit schaltet sich mein Monitor automatisch in den Standby, wenn der HDMI Ausgang aus ist. Als Symbol in homee habe ich natürlich das Monitor/TV Symbol gewählt. Das sieht jetzt wirklich so aus, als wenn der Monitor direkt eingebunden wäre :slight_smile:
Und das hat einen ganz großen Vorteil, dies so “direkt” zu machen, statt über Umwege wie Webhooks: Ich kann den Monitor ganz einfach in HGs einfügen und auch Alexa kann ihn ohne irgendetwas dazu zutun steuern. Und: Ich sehe den aktuellen Status, also ob er an oder aus ist.

Wozu brauche ich das ganze?
Ich habe meinen alten 22" Monitor in meine Garage gehängt (Kabelführung ist noch nicht fertig). Dieser geht jetzt immer automatisch an, wenn entweder mein Garagentor oder meine Hauseingangstür über die Garage geöffnet wird (beide jeweils per Tür/Fenstersensor überwacht). Ebenso geht er nach ein paar Minuten aus, wenn das Tor oder die Tür geschlossen wird. Selbstverständlich wird das Ausschalten gestoppt, wenn ich z.B. die Tür schließe aber das Tor öffne :wink:

Auf dem Raspi läuft dann DAKboard https://www.dakboard.com/site
Zur Zeit werden mir

  • Uhrzeit / Datum
  • Kalender
  • Nachrichtenfeed (RSS)
  • Wettervorhersage

angezeigt. Das ist ganz praktisch, vor allem die Müllabfuhrtermine (Abholtermine vom Landkreis als Kalenderdatei runterladen, bei Google Kalender hoch laden, fertig) … geht man zum Auto, schon wird man dran erinnert, die Mülltonne zum Straßenrand rauszuschieben. Auch weiß ich, wer von uns zu Hause gerade wo unterwegs ist (meine Frau ist Stewardess und ich bin ab und an als Ingenieur unterwegs). Ist so ein kleiner Familienkalender :wink:
(Das Hintergrundbild ändert sich alle 2 Minuten)

Wie kommt jetzt das Dashboard automatisch auf den RPI? Ist alles hier beschrieben. Prinzipiell geht es darum, dass der Monitor (wenn gewünscht) um 90° gedreht wird und Chromium ist KioskModus ohne Popups automatisch startet. Dann wird direkt die eigene DAKboard Seite aufgerufen und das eigene Dashboard wird angezeigt. Alles kein Hexenwerk.
https://blog.dakboard.com/diy-wall-display/
Hinweis:
Kapitel

Turn the monitor on and off automatically (optional)

nicht beachten.

Statt

sudo nano ~/.config/lxsession/LXDE-pi/autostart

ist der korrekte Pfad …/lxsession/LXDE/autostart gewesen.

Für homeeUp homeeUp - virtuelle Geräte in homee ist eigentlich nur die Anpassung der config.json erforderlich:
{
“plugins”: [
{
“deviceName”: “Dashboard”,
“type”: “SimpleCMDPlugin”,
“pluginParams”: {
“onCmd”: “vcgencmd display_power 1”,
“offCmd”: “vcgencmd display_power 0”,
“statusCmd”: “vcgencmd display_power | sed ‘s/display_power=0/1/;s/display_power=1/0/’”,
“checkInterval”: 2000
}
}
],
“hostAdress”: “IP des RPI”
}

Besonders Dank an @anon21150642, der sehr beim Aufsetzen von homeeUp und vor allem bei der aktuellen Statusabfrage tatkräftig geholfen hat :slight_smile:

Kleine Randbemerkungen:
Die Monitorhalterung ist eine NB North Bayou F120 17" - 27" Monitor Wandhalterung von Amazon für 19,90 Euro (die wird auf Amazon auch für 30 Euro angeboten - Preisvergleich!). Man kann hier den Monitor am Arm drehen als auch in der Höhe und seitlich verschieben und der Monitor bleibt dank einstellbarer Gasdruckfeder immer genau da im Raum stehen, wo man ihn los lässt. Tolles Teil!
Die Amazon Echo Halterung ist eine RICOO Amazon Echo Plus Halter Z046-B (aktuell für knapp 9 Euro -> Rabattaktion unterm Preis anklicken). Alexa steuert meine Lampen (IKEA Gu10) und das Garagentor (Fibaro Relay Switch), spielt dazu noch Musik, wenn ich in der Garage was arbeite, etc.

Dashboard

12 „Gefällt mir“

Hallo Community,

ich habe über homeeUP einen virtuellen Schalter zum ein- und ausschalten des Gäste-WLAN (FritzBox-Plugin) erstellt. Wenn wir Besuch hatten, sagte ich einfach “Hey Siri, Gäste-Wlan einschalten” und der HomePod hat den Rest gemacht :slight_smile:
Nach dem Update meiner Fritz!Box auf FritzOS 7 funktioniert bei mir das FritzBox Plugin für homeeUp leider nicht mehr. Hat jemand ein ähnliches Problem oder ne Idee, wie ich das Plugin wieder zum laufen bringe.
Danke für Eure Antworten…

Hast Du den homeeUp-Service nach dem Upgrade schon mal neu gestartet?

sudo systemctl restart homeeup

Was sagt das Syslog nach dem Neustart von homeeUp?

tail -f /var/log/syslog

1 „Gefällt mir“