Hallo Leute und @mtbz,
Habe es geschafft den Shelly BLU Move in die homee via Webhook zu integrieren! Habe das bestehende Script so angepasst das es eine Bewegung meldet und auch wieder zurücksetzt wenn der BLU Move keine Bewegung mehr meldet.
Das Script zum BLU DoorWin läuft schon einige Tage und funktioniert super. Wie schon weiter oben angesprochen hat mich @Micha da gewaltig unterstützt!
Ich teste das jetzt erstmal wie es so klappt. Dann kann ich das Script auch gern hier veröffentlichen.
Wenn ich dann soweit bin und mich mit @Micha abgesprochen habe dann gern!
Also bis auf das trottle von etwa 1 Sekunde ist das schonmal eine sehr brauchbare Sache! Ich stelle alle Bewegungsmelder und Fenster- Türkontakte um! Weg von Z-Wave, denn schon wieder ein Gerät nicht mehr verfügbar. Ausgerechnet die Alarmsirene! Geht nicht, sowas…
Hi…
Dann nehme ich Shelly, da gibt es welche die via MQTT (WLAN) kommunizieren. Ich mache damit zurzeit sehr gute Erfahrungen. Bewegungsmelder gibt es zwar auch von Shelly die MQTT sprechen, die fressen aber Batterie was ich nicht möchte. Deshalb befasse ich mich mit den BLU Geräten die echt nicht schlecht sind. Wenn homee es gebacken bekommt das auch Geräte die durch ein MQTT Script bereitgestellt werden erkannt und verarbeitet wäre das schlichtweg der Hammer!
Ein weiterer Grund sind die Preise und die Zuverlässigkeit der Shelly Plus Geräte! Ich war seeeehr positiv überrascht… Die Unterputz 1PM und 2PM schalten innerhalb Millisekunden. Bei den Fibaros merkst du wenn sie schalten, das dauert ne Sekunde.
Hey super Arbeit von euch. Habe mir einen BLU Door/Window Sensor zugelegt und es funktioniert mit dem Script.
Einen Fehler hatte ich Anfangs: Die Mac Adresses des Shellys wird in der App ohne „:“ angezeigt. Die muss man dann noch mit einbauen.
Was mir noch aufgefallen ist Webhooks werden permanent getriggert.
Es gibt wohl auch Sensoren die den Neigungswinkel messen. Meiner kann es nicht oder wird nicht angezeigt. Wie siehts bei deinem aus? Das wäre ja auch sehr nützlich.
Hi, hab gestern und heute versucht das Script zum laufen zu bekommen. Leider hab ich es bisher nicht geschafft.
Hab einen blu motion gekoppelt an einen Shelly 1pm. Über die Shelly App funktioniert der Schaltvorgang auch bestens. Jedoch möchte ich über Homee die Zeitsteuerung „Nachts“ laufen lassen.
Hab deshalb ein Webhook im Homee erstellt und den Link ins Script eingefügt. Ferner hab ich die IP-Adresse und MAC-Adresse des blu motion ergänzt. Mehr Veränderungen am Script hab ich nicht vorgenommen.
Im Homee gibt es als Sichtbare Geräte nur den Shelly 1pm. Wie bekomme ich nun ein virtelles Gerät eingebunden, das den blu motion-Zustand anzeigt?
Über Hilfe beim Einbinden und evtl. Fehlerbehebung wäre ich Dankbar.
Grüße
Wie IP?! Die kommt doch nirgends rein. [EDIT] Du meinst die IP zur homee? Die ist natürlich zwingend notwendig. Habe gedacht du meintest die vom Shelly…
Nur die MAC-Adresse ist wichtig. Du mußt für eine BLU Gerät 2 WebHooks anlegen. Einmal für Negativ (value_0_WebHookName: ‚0000‘) und einmal für Positiv (value_1_WebHookName: ‚1111‘). Beim Bewegungsmelder wäre „Positiv“ wenn eine Bewegung erkannt wurde und „Negativ“ wenn der Normalzustand wieder hergestellt wurde.
Im homee kannst du dafür ein Virtuells Gerät anlegen. Zu finden unter /Neues Gerät/Andere/Virtuelles Gerät (als Schalter). Dann benötigst du für die WebHooks 2 Automationen. Mit der einen Automation schaltest du mit dem 1. Webhook den Schalter ein, mit dem anderen Webhook aus. So hast du eine visuelle Anzeige des Zustands. Alle weiteren Automationen kannst du ebenfalls mit diesen Webhooks steuern.
Ich habe z. B. eine Alarmanlage damit realisiert. In der dieser Schalter dann als „Sensor“ fungiert. Wenn der eingeschaltet ist, dann brüllt die Sirene. Eine weitere Automation sorgt dafür das die Sirene nach 30 Sek. abgeschaltet wird, ein weiterer Button in der App zum sofortigen abschalten.
Hi, irgendwie stehe ich wohl auf dem Schlauch. Hab das Script in der Shelly-App eingefügt und aktiviert. Änderungen hab ich nur an den gelb markierten Stellen vorgenommen. S. Bild
Ferner hab ich den virtuellen Schalter in der Homee-App angelegt und die zwei Webhooks erstellt. Leider hab ich keine Schaltung auf dem Homee empfangen, entsprechend auch keine Schaltung der Lampe (Shelly 1pm)
Irgendwie hab ich in der Schnittstelle noch einen Fehler.
Mein key hier ist willkürlich. Den Status habe ich im Script schon geändert, statt „0000“ habe ich „Status_Haustuer_Closed“ usw eingetragen der dann natürlich auch in der Automation so eingetragen.
Das kannst du mit einem Browser testen. Beide Webhooks müssen korrekt sein um die Automation in homee zu triggern.
Mir schwant da was wegen der Freigabe in homee für lokalen Zugriff. Ich weiß gerade nicht was das war. Teste einfach mal mit deinen Daten. Denke daran das die URL in eins durch geschrieben wird und nicht wie hier unterbrochen dargestellt…
EDIT: Für den lokalen Zugriff reicht meines Erachtens die Beigabe des Ports 7681. Ist der in deiner Firewall freigegeben? Das wäre wichtig. Kannst du über die oben angegebene URL testen.
Bei mir sieht das Script so aus. (Originaldaten sind verändert!)
Ich habe mit Klarnamen gearbeitet um den Überblich behalten zu önnen. Würde ich dir auch empfehlen. Besser auch in der homee damit man nicht durcheinander kommt.
// ******************* START CHANGE HERE *******************
let CONFIG = {
debug: false,
active: false,
homeeip: '192.168.100.5',
webhookkey: 'nLsC5pXjtDWvN4-GEHEIM-aD5mpcG1EvZwVnYHyw',
device: {
window:[
{
macAddresse : '3c:2e:f5:b9:00:e4', // Gefrierschrank Küche
value_0_WebHookName: 'Status_GefrKue_Closed', // Event in homee für geschlossen
value_1_WebHookName: 'Status_GefrKue_Open'}, // Event in homee für geöffnet
{
macAddresse : '60:ef:00:4b:22:58', // Haustür
value_0_WebHookName: 'Status_Haustuer_Closed', // Event in homee für geschlossen
value_1_WebHookName: 'Status_Haustuer_Open'}, // Event in homee für geöffnet
{
macAddresse : '60:ef:ab:00:b5:d1', // Fenster Küche Gasse
value_0_WebHookName: 'Status_FeKueGa_Closed', // Event in homee für geschlossen
value_1_WebHookName: 'Status_FeKueGa_Open'}, // Event in homee für geöffnet
{
macAddresse : '3c:00:f5:66:c1:33', // Fenster Küche links
value_0_WebHookName: 'Status_FeKueLi_Closed', // Event in homee für geschlossen
value_1_WebHookName: 'Status_FeKueLi_Open'}, // Event in homee für geöffnet
{
macAddresse : '60:ef:ab:3f:bb:00', // Fenster Küche rechts
value_0_WebHookName: 'Status_FeKueRe_Closed', // Event in homee für geschlossen
value_1_WebHookName: 'Status_FeKueRe_Open'}], // Event in homee für geöffnet
motion:[
{
macAddresse : '3c:00:f5:be:1c:8d', // Bewegungsmelder Flur unten
value_0_WebHookName: 'Status_MoveFlurUnten_false',// Event keine Bewegung
value_1_WebHookName: 'Status_MoveFlurUnten_true'},// Event Bewegeung
{
macAddresse : 'e8:e0:7e:cb:00:53', // Bewegungsmelder Stube
value_0_WebHookName: 'Status_MoveStube_false', // Event keine Bewegung
value_1_WebHookName: 'Status_MoveStube_true'}, // Event Bewegung
{
macAddresse : '00:e0:7e:a6:a9:78', // Bewegungsmelder Küche
value_0_WebHookName: 'Status_MoveKueche_false', // Event keine Bewegung
value_1_WebHookName: 'Status_MoveKueche_true'}], // Event Bewegung
},
allowedMacAddresses:[],
motionHandler: function ( eventData) {
CONFIG.device.motion.forEach(function(element){
if (element.macAddresse.toLowerCase() === eventData.address.toLowerCase()){
if (eventData.motion === 1 ){
webhookHandler(element.value_1_WebHookName)}
else if (eventData.motion === 0 ){
webhookHandler(element.value_0_WebHookName)}
else{}
}
else{}
})
},
windowHandler: function (eventData) {
CONFIG.device.window.forEach(function(element) {
if (element.macAddresse.toLowerCase() === eventData.address.toLowerCase()){
if (eventData.window === 1 ){webhookHandler(
element.value_1_WebHookName)}
else if (eventData.window === 0 ){
webhookHandler(element.value_0_WebHookName)}
else{}
}
else{}
})
},
// Handler Helligkeit
illuminanceHandler: function (illuminance, eventData) {
let topic = eventData.address + "/illuminance";
console.log(illuminance);
},
// Handler Status Update
onStatusUpdate: function (eventData) {}
};
// ******************* Webhook homee Function *******************
Ich werd das Skript im Shelly nochmal neu erstellen. Die Webhooks aus der Homee funktionieren und er schaltet auch, wenn man es im Browser eingibt.
Vielleicht hab ich ja was übersehen. Melde mich wenns läuft.
Danke erstmal für den Support hier.
Grüße
Hab nochmal im Homee den virtuel Node weg gelassen und nur das „Garagenlicht außen“ direkt angesprochen. Jetzt funktioniert es. Hab’s wohl beim virtuellen Gerät verbockt.
Du hast die MAC korrekt eingetragen? Du hast das Script auch aktiviert und auf Autostart gestellt wenn der Shelly neu bootet?
Wenn du den Shelly 1PM über einen Browser konfigurierst dann kannst du ein DEBUG aktivieren um zu sehen was das Script so macht. Da kannst du sehen ob der BLU etwas an den Shelly 1PM sendet. Steht auch hier im Forum wie das gemacht wird…
Den Node brauchst du ja auch nicht zwingend. Nur wenn du z.B. im Smart Widget „Sicherheit“ etwas anzeigen lassen möchtest, dann kannst du das zurzeit nur über diese Nodes realisieren.
Ich möchte meine Zwave Tür/Fenster-Sensoren wegen häufiger Betteriewechsel und teilweise unsicherer Funktion gegen Shelly-Blu-Geräte in mein homee integrieren. Habe jetzt vorab ein Shelly Blu-Gateway und einen DW-Sensor in der Shelly-App angelernt und einen Virtual Node-Schalter und 2 Homeegramme mit Webhooks angelegt. Außerdem habe ich aus dem Wiki das von @Poi und @Micha eingestellte Script mit der homeeIP und der Geräteadresse des DW-Sensors ausgefüllt(Änderungen sind gelb markiert). Außerdem habe ich in meiner FritzBox eine Portfreigabe für die homeeIP eingerichtet.
Leider funktioniert das Script nicht, die Webhooks werden nicht ausgelöst, wenn der DW-Sensor geöffnet wird.
Daher bitte ich die Shelly-BLU-/Script-Fachleute, einen Blick auf mein Script und die Webhook-Homeegramme zu werfen. Was habe ich falsch gemacht? Danke für jegliche Hilfe. Shelly-Script.pdf (191,2 KB) Homeegramme_Shelly-Webhooks.pdf (147,5 KB)
Vielen Dank für deine schnelle Reaktion. Deinen Vorschlag habe ich natürlich sofort ausprobiert, leider ohne Erfolg.
Hätte ich noch im letzten Teil des Skripts in „Webhook homee Function“ die Felder eigentlich auch ausfüllen müssen?