Somfy Markise mit Siri steuern

  • Hi.


    vielleicht könntest Du mir bei meinem Projekt weiter helfen ?!
    Ich möchte meine Somfy Markise mit Siri steuern, aber da die FB einen rolling Code hat, geht das nicht mit meinem Broadlink.

    Ich habe nun im Netz eine Anleitung gefunden, aber dort geht es im Alexa und nicht um Siri.

    Könntest Du da vielleicht man nen Blick drauf werfen und mir helfen? Wäre toll.

    https://www.instructables.com/…Remote-to-Alexa-With-an-/


    CU Kai

  • Ich hab kurz überflogen. Meine Frage erstmal hast du die Hardware schon? Werde heute Abend mal genauer schauen aber so wie es aussieht auf den ersten Blick, sollte das ähnlich wie bei mir funktionieren. Zumindest mit Shortcuts. Besser wäre es aber, wenn du die Markise direkt in Homekit einbinden kannst. Da hab ich auch schon eine Idee ?? Aber wie gesagt heute Abend werd ichs mir frühestens genauer anschauen können.


    Du hörst von mir :)

  • Hi.
    Ja die Hardware habe ich schon hier.
    Einen NodeMCU esp8266 und die 2. Fernbedienung auch.
    Dann bin ich ja mal gespannt.
    Danke schonmal.
    Gruß Kai



    Gesendet von iPhone mit Community

  • So servus! Ist jetzt doch Sonntagvormittag geworden ... :D


    Also erstmal folgendes. Ich habe jetzt den Code so wie er ist genommen und bearbeitet. Logischerweise kann ich das ganze nicht unter reellen Bedingungen testen. Und ich gehe mal davon aus, dass der bereitgestellte Code in der Grundfunktion einwandfrei funktioniert, wenn man die Hardware nach der Beschreibung der Webseite umbaut.


    Momentan kann ich dir folgendes anbieten. Aktuell die Steuerung über ein Shortcut.



    Das ist mein Code, wie ich ihn jetzt bearbeitet habe.

    Beim Aufspielen des Scripts, wird die IP-Adresse des ESPs im seriellen Monitor angezeigt.


    unter http://ESP_IP_ADRESSE/ wird einfach nur "Markisencontroller" angezeigt.


    http://ESP_IP_ADRESSE/control_down

    http://ESP_IP_ADRESSE/control_up


    sind jeweils fürs Ein- und Ausfahren zuständig.

    Das könntest du aber auch erstmal einfach direkt über Safari testen, ohne einen Shortcut anzulegen.


    Bevor ich mich als Neuling da jetzt ransetze und das ganze samt aktuellen Status in Homekit versuche einzubinden, würde ich gerne wissen, ob das so erstmal funktioniert. Sodass ich dann wenigstens mit 'nem funktionierendem Script weiterarbeite bevor ich da unnötig Zeit investiere, falls diese Variante erst noch bearbeitet werden muss ... :D

    3 Mal editiert, zuletzt von makeDT ()

  • Hey Super.
    Vielen Dank schonmal. Das werde ich die Tage mal testen. Mal sehen ob ich es heute Abend schaffe. Aber in den nächsten Tagen sicher. Das lässt mir ja auch keine Ruhe.
    Danke schonmal.
    Gruß Kai



    Gesendet von iPhone mit Community

  • Hi,


    so, der ESP826 ist beschrieben und die Kabel sind an der FB angekötet.

    Aber leider passiert über den Webaufruf nichts ... Wenn ich die Buttons der FB drücke stimmt auch irgendwas nicht ganz.


    Wenn ich die Knöpfe auf der FB drücke geht es ... nur mal der Stop-Knopf beim 1. drücken stop und beim 2. drücken geht

    die Markise wieder in Richtung down ...


    Ist der GPIO D1 denn auch der mit der Bezeichnung D1 oder muss der an D0 ran? Auf den Fotos in der Anleitung sieht es so

    aus, als wenn die ersten beiden PINs benutzt werden.


    Node_Somfy01.jpg


    So sieht es hier aus ... Gruß Kai


    Die Schaltung geht soweit ... wenn ich das Kabel vom Up-Botton an Masse lege

    und wenn ich das Kabel vom Down-Button an Masse lege bewegt sich die Markise auf bzw. ab.

    Aber über die Web-Befehle geht es noch nicht ...



  • Okay ja gut, solange du die Kabel nicht auf Masse legst oder auf 3.3 / 5V kannst du auch nichts kaputt machen.

    Überprüfe das einfach mal was passiert, wenn du umsteckst. :)


    https://dziadalnfpolx.cloudfro…demcu-dev-kit-v2-pins.png


    Ist das dein Layout?



    €: Haben den Fehler gefunden... man sollte natürlich die Pins auch als Output definieren ... :D


    Code
    pinMode(DOWN,OUTPUT);
    pinMode(UP,OUTPUT);

    im

    Code
    void setup(){
    
    }



    Habs oben im Script mal noch gleich bearbeitet für andere die drauf stoßen, dass es ohne Fehler funktioniert.

    Einmal editiert, zuletzt von makeDT ()

  • Ja, bis jetzt läuft es schonmal.
    Werde noch versuchen den Stop Button mit einzubringen.
    Aber das wollte noch nicht so recht klappen.


    Aber vielen Dank nochmal für Deine Hilfe.


    Nun muss ich mich mal ans http Switch Plugin machen, das wollte bei der config nicht so recht. Da ich keine Status url habe.


    Gruß Kai

  • Oh man ...


    wie bekommt man denn so nen schönen Shortcut hin ... tippe hier gefühlt schon ewig rum ;(


    Der Shortcut soll "Markise" heißen ... und dann soll gefragt werden:

    "Möchtest Du die Markise einfahren oder ausfahren"

    Wenn man dann "einfahren" oder "ausfahren" sagt,

    soll das Signal über die WebSeite "http://xxx.xxx.xxx/control_up" für einfahren und "http://xxx.xxx.xxx/control_down" für ausfahren gestartet werden.

    Und als Antwort wäre dann noch klasse:

    "Alles klar, die Markise wird eingefahren" oder eben "Alles klar, die Markise wird ausgefahren"


    Aber das ist mir noch zu hoch ... und zu fummelig auf dem iPhone ;)


    CU und gute Nacht ... Kai


  • Dein Shortcut

    https://www.icloud.com/shortcu…b7f72400597c2d7a8be77eb61



    Nun muss ich mich mal ans http Switch Plugin machen, das wollte bei der config nicht so recht. Da ich keine Status url habe.


    Gruß Kai


    Und hier deine Status URL

    Nachdem das Plugin 0 als aus und 1 als an definiert, brauchen wir erstmal eine Variable die den Status beinhaltet.

    Die definieren wir ganz oben, am besten vor den Wlan-Daten.


    Code
    int state = 0;
    const char* ssid        = "";
    const char* password    = "";


    Jetzt haben wir schon mal den Status gesetzt. Der ist standardmäßig auf 0, also aus.

    Jedesmal, wenn wir jetzt die Markise schalten, muss sich ebenfalls der Status ändern, damit das Plugin den richtigen Status anzeigt.


    Das machen wir den den beiden Funktionen fürs Ein- und Ausfahren.


    Fürs Ausfahren setzen wir den Status am Ende auf 1, damit das Plugin weiß, dass die Markise ausgefahren, also aktiv ist.

    Den Staus setzen wir ganz am Ende.

    Code
    void control_down() { 
        Serial.println("ON/DOWN");
        server.send(200, "text/plain", "State: ON/DOWN");
        digitalWrite(DOWN,LOW); 
        delay(5000);
        digitalWrite(DOWN, HIGH);  
        state  = 1;
    }



    Beim Einfahren das gleiche, nur das wir den Status dann wieder am Ende auf 0 setzen.


    Code
    void control_up() { 
        Serial.println("OFF/UP");
        server.send(200, "text/plain", "State: OFF/UP");
        digitalWrite(UP,LOW); 
        delay(5000);
        digitalWrite(UP, HIGH);
        state  = 0;    
    }




    Dann fügst du noch nach der Funktion control_up(){} von oben diese neue Funktion hier ein

    Code
    void get_state() { 
        server.send(200, "text/plain", String(state));     
    }



    und im void setup() {} fehlt dann nur noch diese Zeile hier


    Code
    server.on("/get_state", HTTP_GET, get_state);


    Da wo eben auch die ganzen anderen Definitionen für die Links sind.

    Code
        server.on("/control_down", HTTP_GET, control_down);
        server.on("/control_up", HTTP_GET, control_up);
        server.on("/get_state", HTTP_GET, get_state);
        server.on("/", HTTP_GET, set_message);
        server.begin();



    Wenn du jetzt http://IP_DES_ESPs/get_state aufrufst, wird entweder 0 oder 1 angezeigt. Jenachdem ob die Markise ein- oder ausgefahren ist. Und das kannst du jetzt als Status-URL verwenden.



    Gruß,


    wenn was ist einfach melden. :) Sollte aber klappen mM nach.

    3 Mal editiert, zuletzt von makeDT ()

  • Hey 1000 Danke mal wieder :) Das werde ich gleich mal testen ...

    Den Status kann ich mir schon anzeigen lassen.

    Aber beim Booten des ESP blinkt die FB immer ne Zeit lang als wenn da schon was "auf einen Knopf" drückt.

    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • So wie es aussieht geht dann die Steuerung auch nicht mehr ... wenn ich auf den Button der FB drücke passiert nichts

    und über das WebIf passiert auch nichts. Seltsam.

  • So, habe noch mal alle Kabel ab gemacht und nen besseren Massepunkt gefunden.

    Dann habe ich etwas dickere Kabel für die Verbindung mit der Fernebdienung genommen und die anderen

    über eine kleine Platine verbunden.

    4217-l%C3%B6ten-2-versuch-jpg

    Bin gespannt ob es nun besser klappt.


    Auf jeden Fall kann ich die FB schonmal einwandfrei nutzen wenn ich die Batterie einlege, mal sehen wie es sich am ESP entwickelt.

    Und ich werde noch mal andere GPIO Pins vom ESP versuchen ...


    Aber es klappt immer noch nicht ... was ist denn bloß los ...


    Vielen Dank noch mal an PasiB für die Hilfe !!!

  • So, No.Trace und ich haben parallel natürlich privat weiter miteinander geschrieben und es scheint zu funktionieren. 8)


    Aus irgendwelchen Gründen hat das Script plötzlich einfach nicht mehr funktioniert. No.Trace hat sich dann mal auf die Fehlersuche gemacht und den Fehler auch gefunden. Mit seinem Multimeter bewaffnet den Pins auf den Fersen ist ihm aufgefallen, dass beim Booten die Schalter immer geschalten wurden, und erst nach einem Betätigen gingen sie anschließend auf 0.0V.

    Das haben wir gefixxt, indem wir einfach im setup() beide Pins mal auf HIGH setzen. Fragt mich nicht, warum es vorher funktioniert hat und dann plötzlich nicht mehr. :/



    So, und erst wenn sie über die Webseite geschaltet werden sollen, werden diese auch geschaltet. Funktioniert anscheinen jetzt einwandfrei!



    Und das mit dem Plugin hat auch funktioniert. :)

    No.Trace hat mir jetzt nochmal seinen final Code geschickt, ich editiere ihn direkt so mit den zwei neuen Zeilen oben rein. Damit es bei anderen auf Anhieb funktioniert. (Den ESP-Code halt)


    Der Post:

    Siri macht automatisch 'nen Kaffee (Senseo-Padmaschine)




    Und wie gesagt, das mit dem http-switch Plugin, um das ganze nicht nur über Shortcuts sondern auch direkt in Homekit steuern zu können inklusive Status funktioniert ebenfalls. Ich erlaube mir mal Trace's config-Abschnitt zu posten.


    Plugin:

    https://www.npmjs.com/package/homebridge-http-switch



    Mission scheint geglückt! 8) Well done Trace :thumbup:




    Noch ein kleiner Anstoß von mir:

    Wie wärs mit 'nem Photosensor

    https://www.amazon.de/AZDelive…ensor&tag=hktips-forum-21


    oder 'nem Windsensor, die entsprechend beide ganz simple einfach nur bei einem gewissen Wert control_up() oder control_down() ausführen... ? Noch mehr Automatisierung und trotzdem automatisch der richtige Status in der Home App! Zwei Fliegen mit einer Klappe... :love:8o


    Freue mich auf weitere Projekte :)


    Gruß

  • Hey ...


    schön geschrieben ! Und vielen Dank noch mal für Deine Unterstützung, hätte das sonst nicht allein geschafft.

    Hm, wie das wohl geht mit der Fotozelle? Da könnte ich ja meine Rollos im Wohnzimmer mit Steuern ;)

    Aber erstmal muss ich nun ein passendes Case für den Kabelsalat finden ... oder noch mal umlöten (besser nicht)


    CU und Gruß Kai