Ankündigung

Einklappen
Keine Ankündigung bisher.

Steckdose an/aus und Zustandsanzeige im Web

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

    Steckdose an/aus und Zustandsanzeige im Web

    Hallo zusammen,

    habe nun doch einiges u.a. auch mir Eurer Hilfe umsetzen können.
    Einiges fehlt noch, denke aber das wird schon.

    Beschattung nach Sonnenstand, geht, Berücksichtigung von Google Wetter fehlt noch, habe keine Wetterstation.
    Webserver und email geht soweit auch.
    Habe einen Schaltaktor von merten mit Stromerkennung, hier möchte ich gerne die Betriebsstunden oder Stromverbrauch im Webserver anzeigen. Hat hierzu jemand schon mal ein Beispiel veröffentlicht?

    Habe mir ausserdem von MDT einen Schaltaktor für eine UP Dose gekauft und installiert. Dieser soll eine Steckdose an und aus schalten. Wollte dies mit shifter machen, ist mir nicht gelungen.
    Hat auch hierzu jemand evtl. ein Beispiel wie man mittels shifter / button den Aktor an und aus schaltet und dabei im Webserver auch den Zustand anzeigt.

    Momentan habe ich es so gelöst und ohne Zustandsanzeige:

    [WebServer]
    //Seite erstellen
    Page(1) [$Allgemein$,$Zentralfunktion$]
    button(1)......
    button(17)[SWITCH]$SD an Schiebetür AN$ button(18)[SWITCH]$SD an Schiebetür AUS$

    [EibPC]
    //Steckdosen
    if button(17)==1 then write("SD Schiebetür-4/0/0",EIN) endif
    if button(18)==1 then write("SD Schiebetür-4/0/0",AUS) endif

    Danke und Gruß
    Ralf

    #2
    Zitat von amazing Beitrag anzeigen
    Habe einen Schaltaktor von merten mit Stromerkennung, hier möchte ich gerne die Betriebsstunden oder Stromverbrauch im Webserver anzeigen. Hat hierzu jemand schon mal ein Beispiel veröffentlicht?
    Hierzu hab ich gerade was gebastelt.. wart aber noch auf ein OK von meinem Betatester

    wenn ich da des OK hab, werd ich mal was online stellen... bei mir funktionierts jedenfalls schon ganz gut...

    zum Schalter... da gibts ein super Macro...
    UmschaltButtonZustand in der EnertexWeb2.0

    einfach mal anschaun !!!

    Gruß Martin
    Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

    Kommentar


      #3
      Zitat von amazing Beitrag anzeigen
      [WebServer]
      //Seite erstellen
      Page(1) [$Allgemein$,$Zentralfunktion$]
      button(1)......
      button(17)[SWITCH]$SD an Schiebetür AN$ button(18)[SWITCH]$SD an Schiebetür AUS$

      [EibPC]
      //Steckdosen
      if button(17)==1 then write("SD Schiebetür-4/0/0",EIN) endif
      if button(18)==1 then write("SD Schiebetür-4/0/0",AUS) endif
      Hi Ralf

      Das ist ein klassischer 5 Zeiler, 3 Zeilen hast Du schon.
      [highlight=epc]
      if "Reed A-P-5/0/100" then {
      pdisplay(FensterzuID,$Alles zu$c14,WINDOW,INACTIVE,GREEN,VerlassenSID)
      }else {
      pdisplay(FensterzuID,$Fenster offen$c14,WINDOW,BRIGHTRED,BLINKBLUE,VerlassenSID)
      }endif
      [/highlight]
      Ist jetzt mein Code mit pdisplay und der SID = SeitenID
      kannst auch display machen ohne SID

      Dein Switch ist 17 nicht 18!
      Ah, Du hast zwei Switches?
      17 kann man auch als variable schreiben (bei mir FensterzuID)
      [highlight=epc]
      FensterzuID=17
      [/highlight]
      z.B.

      Ich hab' mir ein Macro gebastelt für SWITCH'es
      Aufruf:
      [highlight=epc]
      ButtonM(SteckdZ2ID, "Steckdose Zimmer 2-4/0/2", SWITCH)
      [/highlight]
      Und das Macro
      [highlight=epc]
      // ButtonM
      :begin ButtonM(But, GA, Art)
      :info $ButtonM$ \\
      $Button ID in der Visu$ \\
      $Gruppenadresse$ \\
      :shortinfo $ButtonM$
      :var sein@
      :var saus@
      sein@ = $$c14
      saus@ = $$c14
      if Art == BLIND then sein@=$Ab$c14; saus@=$Auf$c14 endif
      if Art == WEATHER then sein@=$Ein$c14; saus@=$Aus$c14 endif
      if Art == LIGHT then sein@=$An$c14; saus@=$Aus$c14 endif
      if Art == SWITCH then sein@=$An$c14; saus@=$Aus$c14 endif
      if Art == PRESENT then sein@=$Anwesend$c14; saus@=$Abwesend$c14 endif
      if button(But)==1 then write(GA,!GA) endif
      if GA then {
      display(But,sein@,Art,ACTIVE,GREEN)
      }else {
      display(But,saus@,Art,INACTIVE,GREY)
      }endif
      :end
      [/highlight]
      Das Macro habe ich ein mal gschrieben.
      Jetzt brauche ich für jeden Switch nur noch zwei Zeilen:
      Einmal die Definition und zweitens den Macroaufruf:
      [highlight=epc]
      button(SteckdZ2ID)[SWITCH]$Steckdose Zimmer2$
      ButtonM(SteckdZ2ID, "Steckdose Zimmer 2-4/0/2", SWITCH)
      [/highlight]
      Grüsse Bodo
      Fragen gehören ins Forum, und nicht in mein Postfach;
      EibPC-Fan; Wiregate-Fan; Timberwolf-Fan mit 30x 1-Wire Sensoren;

      Kommentar


        #4
        @Brick,
        wäre echt prima, wenn Du den Code zu Verfügung stellst, mache auch gerne den beta oder gamma Tester.
        Habe UmschaltButtonZustand eingerichtet, klappt prima, trotz suche habe das Makro übersehen

        @Bodo
        danke für den Code, das Makro werde ich mir anpassen, sobald ich mehrere Steckdosen am Bus habe. Macht auf jeden Fall Sinn.


        Danke und Gruß
        Ralf

        Kommentar


          #5
          Hi Ralf,

          schau mal im Downloadbereich unter Codeschnipsel. Dort findest Du u.a. die bmxweb15.lib. Da ist einiges drin.

          Gruß,
          Bernd

          Kommentar


            #6
            Zitat von amazing Beitrag anzeigen
            @Brick,
            wäre echt prima, wenn Du den Code zu Verfügung stellst, mache auch gerne den beta oder gamma Tester.
            na dann.. viel Spaß

            https://knx-user-forum.de/eibpc/2110...speichern.html

            Gruß Martin
            Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

            Kommentar


              #7
              hilf mir mal kurz
              in Section Makro habe ich jetzt

              StrommessungVar(AktTagesVerbrauch,Name^akttagverbr auch,1)

              also erstmal ein button zum Test zum Thema aktueller TAgesverbrauch

              Was muss jetzt noch in Section WebServer?
              Und wo erfolgt die Verknüpfung zur GA des merten Stromerkennungsaktor.

              Kämpfe gerade an unterschiedl. Fronten mit Versachttung, Google Wetter etc.

              Danke und Gruß
              Ralf

              Kommentar


                #8
                klar...

                [highlight=epc]

                [EibPC]
                // Werte aus Macro
                if change(tSumme) then {
                pdisplay(6, convert(convert(takttagverbrauch,0f16),$$)+$ kWh / $ +convert(convert(takttagverbrauch*varkosten,0f16), $$) + $ €$, MONITOR,INACTIVE,GREEN,Strom2ID);
                pdisplay(7, convert(convert(tvortagverbrauch,0f16),$$)+$ kWh / $ +convert(convert(tvortagverbrauch*varkosten,0f16), $$) + $ €$, MONITOR,INACTIVE,GREEN,Strom2ID);
                pdisplay(8, convert(convert(taktwocheverbrauch,0f16),$$)+$ kWh / $+convert(convert(taktwocheverbrauch*varkosten,0f1 6),$$)+ $ €$,MONITOR,INACTIVE,GREEN,Strom2ID); pdisplay(9, convert(convert(tvorwocheverbrauch,0f16),$$)+$ kWh / $+convert(convert(tvorwocheverbrauch*varkosten,0f1 6),$$)+ $ €$,MONITOR,INACTIVE,GREEN,Strom2ID);
                pdisplay(10,convert(convert(taktmonatverbrauch,0f1 6),$$)+$ kWh / $+convert(convert(taktmonatverbrauch*varkosten,0f1 6),$$)+ $ €$, MONITOR,INACTIVE,GREEN,Strom2ID);
                pdisplay(11,convert(convert(tvormonatverbrauch,0f1 6),$$)+$ kWh / $+convert(convert(tvormonatverbrauch*varkosten,0f1 6),$$)+ $ €$,MONITOR,INACTIVE,GREEN,Strom2ID);
                pdisplay(12,convert(convert(taktjahrverbrauch,0f16 ),$$)+$ kWh / $ +convert(convert(taktjahrverbrauch*varkosten,0f16) ,$$) + $ €$, MONITOR,INACTIVE,GREEN,Strom2ID);
                pdisplay(13,convert(convert(tvorjahrverbrauch,0f16 ),$$)+$ kWh / $ +convert(convert(tvorjahrverbrauch*varkosten,0f16) ,$$) + $ €$,MONITOR,INACTIVE,GREEN,Strom2ID)
                } endif

                [WebServer]

                pshifter(6)[MONITOR]$heute$ pshifter(7)[MONITOR]$gestern$
                pshifter(8)[MONITOR]$laufende Woche$ pshifter(9)[MONITOR]$letzte Woche$
                pshifter(10)[MONITOR]$laufender Monat$ pshifter(11)[MONITOR]$letzter Monat$
                pshifter(12)[MONITOR]$laufendes Jahr$ pshifter(13)[MONITOR]$letztes Jahr$

                [Macros]
                //Infopage
                kWh_Einfach(TVWohnzimmer,"TV Wohnzimmer-6/0/0")
                StrommessungVar(t,kWh_TVWohnzimmer,5)
                [/highlight]

                der Macroname (t) ist bei mir noch recht aussagelos.. weils ja nur zum testen ist...

                Gruß Martin
                Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                Kommentar


                  #9
                  prima, habe ich übernommen und angepasst, sieht jetzt so aus:
                  [highlight=epc]
                  [WebServer]
                  Page(7) [$Strom$,$Verbrauch Poolpumpe$]
                  pshifter(22)[MONITOR]$heute$ pshifter(23)[MONITOR]$gestern$
                  pshifter(24)[MONITOR]$laufende Woche$ pshifter(25)[MONITOR]$letzte Woche$
                  pshifter(26)[MONITOR]$laufender Monat$ pshifter(27)[MONITOR]$letzter Monat$
                  pshifter(28)[MONITOR]$laufendes Jahr$ pshifter(29)[MONITOR]$letztes Jahr$

                  [Makro]
                  kWh_Einfach(PoolPumpe,"Strom Poolpumpe-3/4/0")
                  StrommessungVar(t,kWh_PoolPumpe,21)

                  [EibPC]
                  // Werte aus Macro
                  if change(tSumme) then {
                  pdisplay(22, convert(convert(takttagverbrauch,0f16),$$)+$ kWh / $ +convert(convert(takttagverbrauch*varkosten,0f16), $$) + $ €$, MONITOR,INACTIVE,GREEN,Strom2ID);
                  pdisplay(23, convert(convert(tvortagverbrauch,0f16),$$)+$ kWh / $ +convert(convert(tvortagverbrauch*varkosten,0f16), $$) + $ €$, MONITOR,INACTIVE,GREEN,Strom2ID);
                  pdisplay(24, convert(convert(taktwocheverbrauch,0f16),$$)+$ kWh / $+convert(convert(taktwocheverbrauch*varkosten,0f1 6),$$)+ $ €$,MONITOR,INACTIVE,GREEN,Strom2ID); pdisplay(25, convert(convert(tvorwocheverbrauch,0f16),$$)+$ kWh / $+convert(convert(tvorwocheverbrauch*varkosten,0f1 6),$$)+ $ €$,MONITOR,INACTIVE,GREEN,Strom2ID);
                  pdisplay(26,convert(convert(taktmonatverbrauch,0f1 6),$$)+$ kWh / $+convert(convert(taktmonatverbrauch*varkosten,0f1 6),$$)+ $ €$, MONITOR,INACTIVE,GREEN,Strom2ID);
                  pdisplay(27,convert(convert(tvormonatverbrauch,0f1 6),$$)+$ kWh / $+convert(convert(tvormonatverbrauch*varkosten,0f1 6),$$)+ $ €$,MONITOR,INACTIVE,GREEN,Strom2ID);
                  pdisplay(28,convert(convert(taktjahrverbrauch,0f16 ),$$)+$ kWh / $ +convert(convert(taktjahrverbrauch*varkosten,0f16) ,$$) + $ €$, MONITOR,INACTIVE,GREEN,Strom2ID);
                  pdisplay(29,convert(convert(tvorjahrverbrauch,0f16 ),$$)+$ kWh / $ +convert(convert(tvorjahrverbrauch*varkosten,0f16) ,$$) + $ €$,MONITOR,INACTIVE,GREEN,Strom2ID)
                  } endif
                  [/highlight]

                  Meldung:
                  Datei: "D:/Util/EibStudio-win/EibstudioData/tmpMacroOut.txt" wurde geschrieben
                  Laufzeitfehler:
                  ! Variable nicht definiert: >varkosten< !
                  ID:11
                  EibParser wurde mit Fehler beendet.


                  Muss ich beim Aktor auch auf etwas achten, z. Bsp. Stromwert senden auf nur lesen oder senden bei Änderung?
                  Angehängte Dateien

                  Kommentar


                    #10
                    ach so, ja.... hab noch eine Variable drin für die Stromkosten..

                    einfach eine Variable (varkosten=0,23f16) erstellen... 0,23 bitte
                    mit deinem wirklichen Stromkosten ersetzen...

                    pdisplay(22, convert(convert(takttagverbrauch,0f16),$$)+$ kWh / $ +convert(convert(takttagverbrauch*varkosten,0f16),$$) + $ €$, MONITOR,INACTIVE,GREEN,Strom2ID);

                    Gruß Martin
                    Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                    Kommentar


                      #11
                      ja hatte ich mir auch gedacht aber bei
                      //Variablen
                      varkosten=0,23f16
                      kommt

                      Syntaxfehler in Zeile:[80]
                      >varkosten=0,23f16< in der Datei "D:/Util/EibStudio-win/EibstudioData/tmpApp.txt"
                      Gültig bis Spaltenposition: {11}
                      STOP Parser --> ,23f16

                      ersetze ich komma durch punkt dann kommt:

                      Datei: "D:/Util/EibStudio-win/EibstudioData/tmpMacroFuncOut.txt" wurde geschrieben
                      Laufzeitfehler:
                      ! Benutzten Sie Konvertierungsfunktionen:
                      Datentyp der Parameter nicht gleich. Kontrollieren Sie auch die Zuweisung der Funktionsrückgabe. 1-tes Argument von : >takttagverbrauch*varkosten< !
                      ID:14
                      EibParser wurde mit Fehler beendet.

                      Gruß
                      Ralf

                      Kommentar


                        #12
                        *räusper* ... probier mal:
                        [highlight=epc]
                        varkosten=0.23f32
                        [/highlight]
                        Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                        Kommentar


                          #13
                          ok, geht jetzt meckert er über Strom2ID

                          Müsste doch in der if Schleife alle 0f16 gegen 0f32 austauschen, oder?


                          if change(tSumme) then {
                          pdisplay(22, convert(convert(takttagverbrauch,0f16),$$)+$ kWh / $ +convert(convert(takttagverbrauch*varkosten,0f16), $$) + $ €$, MONITOR,INACTIVE,GREEN,Strom2ID);

                          Kommentar


                            #14
                            nein nein.. die Strom2ID ist meine SeitenID...

                            du weißt schon... Funktion pdisplay(ID, Text, Icon, State, TextStil, PageID)

                            Handbuch.. Seite 215 !!!
                            Die Selbsthilfegruppe "UTF-8-Probleme" trifft sich diesmal abweichend im groüen Saal.

                            Kommentar


                              #15
                              so, habe mal soweit alles angepasst, sehe manchmal den Wald vor lauter Bäumen nicht, Compiler läuft jetzt fehlerfrei durch. Anzeig im Web geht dennoch nicht.
                              Du schreibst Start ID 8fach aufsteigend, bei Dir geht es bei 5 los und endet mit 13, oder sehe ich das falsch?

                              Aber egal, ob ich im Makro mit 21 oder 22 starte, im Web wird nichts angezeigt. Muss an anderen Stellen noch etwas eingestellt werden?

                              Danke und Gruß
                              Ralf

                              [highlight=epc]

                              [WebServer]
                              Page(7) [$Allgemein$,$Verbrauch Poolpumpe$]
                              pshifter(22)[MONITOR]$heute$ pshifter(23)[MONITOR]$gestern$
                              pshifter(24)[MONITOR]$laufende Woche$ pshifter(25)[MONITOR]$letzte Woche$
                              pshifter(26)[MONITOR]$laufender Monat$ pshifter(27)[MONITOR]$letzter Monat$
                              pshifter(28)[MONITOR]$laufendes Jahr$ pshifter(29)[MONITOR]$letztes Jahr$

                              [EibPC]
                              //Stromerkennung
                              kWh_Einfach(StromHinten,"Strom Hinten-3/4/0")
                              StrommessungVar(t,kWh_StromHinten,21)

                              //Werte aus Macro Strom
                              if change(tSumme) then {
                              pdisplay(22, convert(convert(takttagverbrauch,0f32),$$)+$ kWh / $ +convert(convert(takttagverbrauch*varkosten,0f32), $$) + $ €$,MONITOR,INACTIVE,GREEN,7);
                              pdisplay(23, convert(convert(tvortagverbrauch,0f32),$$)+$ kWh / $ +convert(convert(tvortagverbrauch*varkosten,0f32), $$) + $ €$,MONITOR,INACTIVE,GREEN,7);
                              pdisplay(24, convert(convert(taktwocheverbrauch,0f32),$$)+$ kWh / $+convert(convert(taktwocheverbrauch*varkosten,0f3 2),$$)+ $ €$,MONITOR,INACTIVE,GREEN,7); pdisplay(25, convert(convert(tvorwocheverbrauch,0f32),$$)+$ kWh / $+convert(convert(tvorwocheverbrauch*varkosten,0f3 2),$$)+ $ €$,MONITOR,INACTIVE,GREEN,7);
                              pdisplay(26,convert(convert(taktmonatverbrauch,0f3 2),$$)+$ kWh / $+convert(convert(taktmonatverbrauch*varkosten,0f3 2),$$)+ $ €$,MONITOR,INACTIVE,GREEN,7);
                              pdisplay(27,convert(convert(tvormonatverbrauch,0f3 2),$$)+$ kWh / $+convert(convert(tvormonatverbrauch*varkosten,0f3 2),$$)+ $ €$,MONITOR,INACTIVE,GREEN,7);
                              pdisplay(28,convert(convert(taktjahrverbrauch,0f32 ),$$)+$ kWh / $ +convert(convert(taktjahrverbrauch*varkosten,0f32) ,$$) + $ €$,MONITOR,INACTIVE,GREEN,7);
                              pdisplay(29,convert(convert(tvorjahrverbrauch,0f32 ),$$)+$ kWh / $ +convert(convert(tvorjahrverbrauch*varkosten,0f32) ,$$) + $ €$,MONITOR,INACTIVE,GREEN,7)
                              } endif
                              [/highlight]

                              Kommentar

                              Lädt...
                              X