Ankündigung

Einklappen
Keine Ankündigung bisher.

Einbindung ESP mit ESPEasy-Firmware

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #31
    Sisamiwe der ESP ist da, ich weiss aber noch nicht wann ich es schaffe. Warte mal mit Deinem HowTo. Wir richten derzeit ein BLOG zu SHNG ein. Dafür wäre das super geeignet.. Und es schreibt sich viel schneller... (Ein HowTo zum Webservices Plugin gibt es dann dort zur Veröffentlichung. Das habe ich gestern testweise geschrieben)

    Kommentar


      #32
      Hallo,
      ich habe ein weiteres ESP8266 basierendes Gerät. Es handelt sich um einen H801 LED-Dimmer.
      Dafür gibt es auch ein ESPEasyPlug in. Geräte ist geflashed und eingebaut. Es reagiert auch auf die Befehle. So nun und nun geht es wieder darum, wie man die Befehle via WebService Interface von shNG sendet.

      So sollen die Befehle aussehen:
      - /control?cmd=ON Turn Leds On
      - /control?cmd=OFF Turn Leds Off
      - /control?cmd=RGB,255,0,0 Set Leds to Red
      - /control?cmd=HSV,0,255,255 Set Leds to Red
      - /control?cmd=Mode,2 Animate Leds in "Flash" mode
      - /control?cmd=Mode,5,400 Animate Leds in "Smooth" mode, with a speed of 400
      In meinem Beispiel: http://192.168.2.121/control?cmd=on

      ... und wieder bin ich ratlos.
      Hast Du eine Idee?

      Kommentar


        #33
        reverse proxy schalten und parameter / url umkonvertieren ;-)

        es macht m.E. keinen Sinn allerlei mögliche Aufrufformate zu unterstützen und zu parsen. Wir haben jetzt schon die Möglichkeit für jedes Plugin einen Kontextpfad zu setzen, irgendwann hat man sonst keinen Durchblick mehr
        ausserdem steht das ausserhalb der idee hinter dem webservice plugin, einen strukturierten (und zumindest in großen teilen standardisierten) zugriff auf items zu bieten.. du müsstest hinter das oben ja eine genau auf das format bezogene API bauen

        Einzige vernünftige Lösung wäre, dass Du dir selbst dazu ein Plugin schreibst und auf der services implementierung des http interfaces aufbaust (das kann man unabh. vom webservices plugin nutzen)

        dazu gibts dann demnächst auch mal einen artikel.. ist sowieso erst aber 1.5 dann fester bestandteil (bzw jetzt im DEV)
        Zuletzt geändert von psilo; 24.03.2018, 18:48.

        Kommentar


          #34
          schau dir einfach den code in https://github.com/smarthomeNG/plugi...es/__init__.py an.. im endeffekt kannst du das ähnlich aufbauen und via cherrypy die url und die parameter definieren und abarbeiten.

          Kommentar


            #35
            Sisamiwe wenn Du das mit dem ESPEASY was bereits geht schön dokumentieren magst, kannst Du Dich gerne bei https://www.smarthomeng.de/blog anmelden.. Wir schalten dann Rechte frei, mit denen Du einen Artikel schreiben kannst - die Freigabe erfolgt dann durch uns. Du kannst einstellen ob Du mit Nick oder echtem Namen erscheinen magst.

            Wäre klasse! Und geht echt flott da was zu schreiben, auch mit Screenshots etc.

            Kommentar


              #36
              psilo

              Klar kann ich dokumentieren, was geht. Teil 1 zur Installation habe ich hier ja schon geschrieben. Das ziehe ich dann um.

              Registrierung ist abgeschlossen. Gleicher Benutzname wie hier. Ich hätte aber auch kein Problem damit, wenn mein richtiger Name auftauchen würden.

              Wie geht es weiter? Schaltest Du mich frei?
              Danke.

              Kommentar


                #37
                Msinn macht Dich zum "Mitarbeiter".. Falls Du ein Beitragsbild brauchst schau mal auf https://www.pexels.com/, die sind lizenz- und referenzfrei verwendbar.

                Kommentar


                  #38
                  OK, ich schaue mir das mal an.
                  Werd schon klarkommen.

                  Kommentar


                    #39
                    Quick-and-Dirty Versuchsaufbau nach einer Woche 'Resturlaub' im schönen Österreich (NodeMCU V3, 3 Sensoren: SHT31, BME280, BMP180). Konnte mir einfach nicht vorstellen, dass es so kompliziert sein muss, die Sache an shNG anzubinden, und bin mal wieder als dummer, pragmatischer Elefant durch den Laden gestapft. Erste Erkenntnis - je Messwert wird immer eine einzelne Übertragung gestartet. Aber hier erstmal der simple Aufbau:

                    0.png

                    Benennung des MCU:

                    1.png

                    Einbindung der Sensoren:

                    2.png

                    Definition, wo die Daten hingehen sollen:

                    2_1.png

                    Netzwerk-Protokoll in der plugin.yaml einschalten, wenn noch nicht passiert:

                    Code:
                    nw:
                        class_name: Network
                        class_path: plugins.network
                        ip: 0.0.0.0
                        port: 2423
                        udp: yes
                        udp_acl: '*'
                    Empfänger-/Verteiler-Item in shNG wie folgt definieren:

                    Code:
                    receiver_port_2423:
                        name: "Klimaddaten hier rein und wieder raus"
                        type: str
                        nw: yes
                        nw_udp_listen: 2423
                        on_update:
                            - eval(value)
                    Jetzt je Messpunkt ein Item gemäß Namen des MCU und der Sensoren definieren (da ist der Pfad zum Item drin enthalten - Receiver-Item wie oben schon definiert):

                    Code:
                    receiver_port_2423:
                        name: "UDP Klimaddaten"
                        type: str
                        nw: yes
                        nw_udp_listen: 2423
                        on_update:
                            - eval(value)
                    wz:
                        klima:
                            SHT31:
                                Temperature:
                                    type: num
                                Humidity:
                                    type: num
                            BMP180:
                                Temperature:
                                    type: num
                                Pressure:
                                    type: num
                            BME280:
                                Temperature:
                                    type: num
                                Humidity:
                                    type: num
                                Pressure:
                                    type: num
                    Alle Messwerte aller Sensoren werden im Backend angezeigt, also scheint es zu funktionieren:

                    3.png

                    Dies ist erst die erste Ausbaustufe und mit Sicherheit noch gaaanz viel optimierbar, aber zu müde dafür heute. Morgen geht's dann weiter.

                    Enjoy.

                    /tom

                    Kommentar


                      #40
                      Tom Bombadil warum udp und nicht tcp? eigentlich will ich doch keine datenverluste haben?

                      ps: ein blogartikel wuerde sich anbieten

                      Kommentar


                        #41
                        Zitat von psilo Beitrag anzeigen
                        Tom Bombadil warum udp und nicht tcp? eigentlich will ich doch keine datenverluste haben?
                        Ist doch nur ein -wie nennst Du das so schön- 'proof of concept'. Und es ist ja auch nicht so, dass bei UDP ständig Protokolle den Bach runtergehen; Paketverlust ist im privaten LAN die sehr sehr seltene Ausnahme ...

                        /tom

                        Kommentar


                          #42
                          So, meine Variante mittels C-Code und Arduino IDE ist nun unter https://www.smarthomeng.de/entfernun...nd-smarthomeng dokumentiert.

                          Ein EasyESP Beispiel folgt die Tage, sofern mir nicht jemand zuvor kommt

                          Kommentar


                            #43
                            Msinn
                            Zitat von psilo Beitrag anzeigen
                            Msinn macht Dich zum "Mitarbeiter".. Falls Du ein Beitragsbild brauchst schau mal auf https://www.pexels.com/, die sind lizenz- und referenzfrei verwendbar.
                            Konntest Du mich schon als "Mitarbeiter" eintragen?
                            Bei smarthomeng.de habe ich mich bereits angemeldet.

                            Dankeschön.

                            Kommentar


                              #44
                              Schon lange (am 25.3.)
                              Viele Grüße
                              Martin

                              There is no cloud. It's only someone else's computer.

                              Kommentar


                                #45
                                Msinn

                                Hallo,
                                ich habe heute mal den Beitrag im Blog zur Einbindung des ESPEasy erstellt und zur Prüfung vorgelegt.
                                Machst Du das oder psilo? Er hatte sich schonmal damit beschäftigt.

                                Kommentar

                                Lädt...
                                X