Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - basic Formula - Ausgabe format

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

    - √ - basic Formula - Ausgabe format

    Hallo, als Anfänger bräuchte ich Eure Hilfe.
    Habe eben erfolgreich das Kostal plug-In eingebunden, und mochte den Gesamtertrag der Anlage ausgeben.

    4994 ist die Gesamtenergie, die der erste Wechselrichter vor den Geräteaustausch hatte
    0.2874 meine Vergütung in Euro
    solar.total kommt aus dem Plugin und wird korrekt angezeigt (Gesamtenergie)

    Code:
     {{ basic.formula('formula1', 'solar.total',  'Euro ', '(AVG(VAR)+4994) * 0.2874   ') }}<
    Ausgabe:
    Gesamtertrag:7157.984399999999 Euro ??? Sch.. Ungenauigkeit beim Float, aber 7157.9844 Euro sind auch nicht viel besser.

    Wie muss ich vorgehen, wenn ich die Ausgabe runden bzw. auf integer setzen will. Die Suche hat mich nicht weitergebracht, ich kapier´s einfach nicht. Und der Hinweis in der Doku "your own" wirft gleich die nächste Frage auf , wie hier die Zusammenhänge sind ...
    Code:
    [FONT=Courier New]{{ basic.formula(id, gad, unit, formula) }}[/FONT] 
     
     
    formula formula to use: SUM(VAR), AVG(VAR), SUB(VAR), [COLOR=red]your own[/COLOR], (optional, default: SUM(VAR))
    Gruß Stephan
    Angehängte Dateien

    #2
    Mach doch mal als Einheit .

    Die Einheiten werden gemäß lang/lang_de.txt (oder je nach Sprache) umgerechnet.

    Wenn du was ändern willst, am Besten die lang_de nach lang_XX kopieren, ändern und auswählen.

    Gruss
    Join smartVISU on facebook. Web: smartvisu.de.
    Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

    Kommentar


      #3
      Hallo Apollo, der Weg war der Richtige, aber mit dem € -Zeichen als Einheit hat es nicht geklappt - weder als € noch als
      Code:
      &euro;
      .
      Die anderen Einheiten haben funktioniert

      Habe in die lang_de.txt folgende Zeile eingefügt:
      Code:
      $lang['format']['euro']    = '%01,2f &euro;';
      damit klappt es einwandfrei

      Meinst Du ich habe noch irgendwo vergessen den Zeichensatz richtig zu definieren, damit auch € und ° geht ?



      Gruß Stephan

      Kommentar


        #4
        Halllo,

        mich würde mal generell interessieren, wie man das Kostal Plugin in die Visu einbindet ?

        Danke
        Alex

        Kommentar


          #5
          https://github.com/mknx/smarthome/tr...plugins/kostal

          In der Readme findest Du die Anleitung.
          Development Version läuft einmandfrei mit meinem Pico 10.1 zusammen
          Wenn das Plugin noch die analogen Eingänge auslesen würde, wäre es perfekt.


          Auslgelesen wird alle 300s:
          konfiguriert und parametrisiert in der plugin.conf

          hier meine Berechnungen / html:

          Code:
          /**
          * -----------------------------------------------------------------------------
          * @package     smartVISU
          * @author      Stephan Schaade
          * @copyright   2013
          * @license     GPL [http://www.gnu.de]
          * -----------------------------------------------------------------------------
          */
           
          {% extends "rooms.html" %}
          {% block content %}
           <h1><img class="icon" src='{{ icon0 }}sani_solar.png' />Photovoltaikanlage</h1>
           <div class="block">
           <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
           <div data-role="collapsible" data-collapsed="false">
           <h3>Status</h3>
               {{ basic.symbol('nacht1', 'pvwetter.nacht', '', icon1~'weather_moon_phases_8.png', 1) }}
               {{ basic.symbol('regent1', 'pvwetter.regen', '', icon1~'weather_rain.png', 1) }}
               {{ basic.symbol('bewoelkt1', 'pvwetter.bewoelkt', '', icon1~'weather_cloudy.png', 1) }}
               {{ basic.symbol('sonne1', 'pvwetter.sonne', '', icon1~'weather_sun.png', 1) }} 
            <table width=100%>
            <tr>
             <td align=left style="padding-left: 10px;">
                Aktuelle Leistung:
             </td>
             <td align=right>
              {{ basic.float('pakt', 'solar.current', 'W') }}
             </td>
            </tr>
           </table>
           
            <table width=100%>
           
            <tr>
             <td align=left style="padding-left: 10px;">
             Status: 
             </td>
             <td align=right>
             {{basic.value('value1','solar.status' )}}
             </td>
            </tr>
           </table>
           
           <table width=100%>
            <tr>
             <td align=left style="padding-left: 10px;">
             Gesamtenergie
             </td>
             <td align=right>
              {{ basic.float('pges', 'solar.total', 'kwh') }}
             </td>
            </tr>
           </table>
           <table width=100%>
            <tr>
             <td align=left style="padding-left: 10px;">
               Tagesenergie:
             </td>
             <td align=right>
              {{ basic.float('tges', 'solar.day', 'kwh') }}
             </td>
            </tr>
           </table> 
            <table width=100%>
            <tr>
             <td align=left style="padding-left: 10px;">
               Tagesertrag:
             </td>
             <td align=right>
              {{ basic.formula('formula15', 'solar.day',  'euro', 'SUM(VAR)* 1.2525 * 0.2874  ') }}
             </td>
            </tr>
           </table>    
            <HR>
             <table width=100%>
            <tr>
             <td align=left style="padding-left: 10px;">
             Energie Kostal:
             </td>
             <td align=right>
              {{ basic.formula('formula2', 'solar.total',  'kwh', '(SUM(VAR)+4591)  ') }}
             </td>
            </tr>
           </table>  
            <table width=100%>
            <tr>
             <td align=left style="padding-left: 10px;">
             Energie SMA:
             </td>
             <td align=right>
              {{ basic.formula('formula3', 'solar.total',  'kwh', '(SUM(VAR)+4591) *0.2525 ') }}
             </td>
            </tr>
           </table> 
            <table width=100%>
            <tr>
             <td align=left style="padding-left: 10px;">
             Energie total:
             </td>
             <td align=right>
              {{ basic.formula('formula4', 'solar.total',  'kwh', '(SUM(VAR)+4591) * 1.2525 ') }}
             </td>
            </tr>
           </table>
            <hr> 
             <table width=100%>
            <tr>
             <td align=left style="padding-left: 10px;">
              Ertrag Kostal:
             </td>
             <td align=right>
              {{ basic.formula('formula11', 'solar.total',  'euro', '(AVG(VAR)+4994) * 0.2874   ') }}
             </td>
            </tr>
           </table>
            <table width=100%>
            <tr>
             <td align=left style="padding-left: 10px;">
              Ertrag SMA:
             </td>
             <td align=right>
              {{ basic.formula('formula12', 'solar.total',  'euro', '(AVG(VAR)+4591) * 0.2874  *0.2525 ') }}
             </td>
            </tr>
           </table>   <hr><hr>
            <table width=100%>
            <tr>
             <td align=left style="padding-left: 10px;">
              Gesamtertrag:
             </td>
             <td align=right>
              {{ basic.formula('formula5', 'solar.total',  'euro', '(SUM(VAR)+4591)* 1.2525 * 0.2874  ') }}
             </td>
            </tr>
           </table>   
           
           
           
           <div>
           
           
           
           </div>
           
           
           
           
          </div>
           </div>
           </div>
           
            <div class="block">
           <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
             <div data-role="collapsible" data-collapsed="false">
           
           
           
                  <h3>Tagesverlauf</h3>
                     Leistung {{ plot.period('p2', 'solar.current', 'avg', '1d', 0,0,'' , '', '', '', '', '', '1h'  ) }}<br>
                     Energie {{ plot.period('p1', 'solar.day', 'avg', '1d', 0,0 ,'' , '', '', '', '', '', '1h'  ) }} 
              <br>
           
               {{ basic.symbol('nacht1', 'pvwetter.nacht', '', icon1~'weather_moon_phases_8.png', 1) }}
               {{ basic.symbol('regent1', 'pvwetter.regen', '', icon1~'weather_rain.png', 1) }}
               {{ basic.symbol('bewoelkt1', 'pvwetter.bewoelkt', '', icon1~'weather_cloudy.png', 1) }}
               {{ basic.symbol('sonne1', 'pvwetter.sonne', '', icon1~'weather_sun.png', 1) }} 
           
           
           <div>
          pvwetter berechne ich aus der aktuellen Leistung als Logik. Kleine Spielerei um aus der PV-Leistung das aktuelle Wetter / Bewölkung anzuzeigen und ein dynamisches Batteriesymbol abhängig von der relativen Leistung darzustellen.

          Code:
          #!/usr/bin/env python
          #
          #sh.solar.current('7000')
          wert=sh.solar.current()  / 8000*255
          if  sh.solar.current() == 0:
            logger.info('PV Wetter Nacht')
            sh.pvwetter.nacht('1')
            sh.pvwetter.regen('0')
            sh.pvwetter.bewoelkt('0')
            sh.pvwetter.sonne('0')
            sh.pvwetter.wert(wert)
          else:
            if sh.solar.current() < 1000:
                logger.info('PV Regen')
                sh.pvwetter.nacht('0')
                sh.pvwetter.regen('1')
                sh.pvwetter.bewoelkt('0')
                sh.pvwetter.sonne('0')
                sh.pvwetter.wert(wert) 
            else:
                  if sh.solar.current() < 5000:
                      logger.info('PV Bewoelkt')
                      sh.pvwetter.nacht('0')
                      sh.pvwetter.regen('0')
                      sh.pvwetter.bewoelkt('1')
                      sh.pvwetter.sonne('0') 
                      sh.pvwetter.wert(wert) 
                  else:
                      logger.info('PV Sonnenschein')
                      sh.pvwetter.nacht('0')
                      sh.pvwetter.regen('0')
                      sh.pvwetter.bewoelkt('0')
                      sh.pvwetter.sonne('1')
                      sh.pvwetter.wert(wert)
          und stelle Wettersymbol und Akku wie folgt dar:

          Code:
                {{ basic.symbol('nacht2', 'pvwetter.nacht', '', icon1~'weather_moon_phases_8.png', 1) }}
               {{ basic.symbol('regent32', 'pvwetter.regen', '', icon1~'weather_rain.png', 1) }}
               {{ basic.symbol('bewoelkt2', 'pvwetter.bewoelkt', '', icon1~'weather_cloudy.png', 1) }}
               {{ basic.symbol('sonne2', 'pvwetter.sonne', '', icon1~'weather_sun.png', 1) }}{{ icon.battery('icon2batt', '', 'pvwetter.wert') }}
          Gruß Stephan

          PS: nicht wundern, dass ich auch Werte für meinen SMA ausgebe. Dieser bringt auf der Garage nahezu konstant 25,25% des Kostal.
          Laufen jetzt die berechneten Werte mit meinem Stromzähler auseinander ist was faul.
          Angehängte Dateien

          Kommentar


            #6
            Hallo Stephan,

            danke für die Anwort, aber irgendwo hakt es noch.

            Ich habe jetzt folgendes gemacht:

            unter SmartHome.py\plugins\kostal
            die beiden Dateien abgelt (__init__.py und README.md

            unter SmartHome.py\items
            die smartvisu.conf ergänzt mit den ITEMS:

            Code:
            [solar]
                [[status]]
                    type = str
                    kostal = status
                [[current]]
                    type = num
                    kostal = power_current
                [[total]]
                    type = num
                    kostal = power_total
                [[day]]
                    type = num
                    kostal = power_day
                [[l1v]]
                    type = num
                    kostal = l1_watt
                [[l1w]]
                    type = num
                    kostal = l1_watt
                [[l2v]]
                    type = num
                    kostal = l2_watt
                [[l2w]]
                    type = num
                    kostal = l2_watt
                [[l3v]]
                    type = num
                    kostal = l3_watt
                [[l3w]]
                    type = num
                    kostal = l3_watt
            Dann noch die Seite eingepflegt:
            Code:
            /**
            * -----------------------------------------------------------------------------
            * @package     smartVISU
            * @author      Stephan Schaade
            * @copyright   2013
            * @license     GPL [http://www.gnu.de]
            * -----------------------------------------------------------------------------
            */
             
            {% extends "wp.html" %}
            {% block content %}
            
             <h1><img class="icon" src='{{ icon0 }}sani_solar.png' />Photovoltaikanlage</h1>
             <div class="block">
             <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
             <div data-role="collapsible" data-collapsed="false">
             <h3>Status</h3>
                 {{ basic.symbol('nacht1', 'pvwetter.nacht', '', icon1~'weather_moon_phases_8.png', 1) }}
                 {{ basic.symbol('regent1', 'pvwetter.regen', '', icon1~'weather_rain.png', 1) }}
                 {{ basic.symbol('bewoelkt1', 'pvwetter.bewoelkt', '', icon1~'weather_cloudy.png', 1) }}
                 {{ basic.symbol('sonne1', 'pvwetter.sonne', '', icon1~'weather_sun.png', 1) }} 
              <table width=100%>
              <tr>
               <td align=left style="padding-left: 10px;">
                  Aktuelle Leistung:
               </td>
               <td align=right>
                {{ basic.float('pakt', 'solar.current', 'W') }}
               </td>
              </tr>
             </table>
             
              <table width=100%>
             
              <tr>
               <td align=left style="padding-left: 10px;">
               Status: 
               </td>
               <td align=right>
               {{basic.value('value1','solar.status' )}}
               </td>
              </tr>
             </table>
             
             <table width=100%>
              <tr>
               <td align=left style="padding-left: 10px;">
               Gesamtenergie
               </td>
               <td align=right>
                {{ basic.float('pges', 'solar.total', 'kwh') }}
               </td>
              </tr>
             </table>
             <table width=100%>
              <tr>
               <td align=left style="padding-left: 10px;">
                 Tagesenergie:
               </td>
               <td align=right>
                {{ basic.float('tges', 'solar.day', 'kwh') }}
               </td>
              </tr>
             </table> 
              <table width=100%>
              <tr>
               <td align=left style="padding-left: 10px;">
                 Tagesertrag:
               </td>
               <td align=right>
                {{ basic.formula('formula15', 'solar.day',  'euro', 'SUM(VAR)* 1.2525 * 0.2874  ') }}
               </td>
              </tr>
             </table>    
              <HR>
               <table width=100%>
              <tr>
               <td align=left style="padding-left: 10px;">
               Energie Kostal:
               </td>
               <td align=right>
                {{ basic.formula('formula2', 'solar.total',  'kwh', '(SUM(VAR)+4591)  ') }}
               </td>
              </tr>
             </table>  
              <table width=100%>
              <tr>
               <td align=left style="padding-left: 10px;">
               Energie SMA:
               </td>
               <td align=right>
                {{ basic.formula('formula3', 'solar.total',  'kwh', '(SUM(VAR)+4591) *0.2525 ') }}
               </td>
              </tr>
             </table> 
              <table width=100%>
              <tr>
               <td align=left style="padding-left: 10px;">
               Energie total:
               </td>
               <td align=right>
                {{ basic.formula('formula4', 'solar.total',  'kwh', '(SUM(VAR)+4591) * 1.2525 ') }}
               </td>
              </tr>
             </table>
              <hr> 
               <table width=100%>
              <tr>
               <td align=left style="padding-left: 10px;">
                Ertrag Kostal:
               </td>
               <td align=right>
                {{ basic.formula('formula11', 'solar.total',  'euro', '(AVG(VAR)+4994) * 0.2874   ') }}
               </td>
              </tr>
             </table>
              <table width=100%>
              <tr>
               <td align=left style="padding-left: 10px;">
                Ertrag SMA:
               </td>
               <td align=right>
                {{ basic.formula('formula12', 'solar.total',  'euro', '(AVG(VAR)+4591) * 0.2874  *0.2525 ') }}
               </td>
              </tr>
             </table>   <hr><hr>
              <table width=100%>
              <tr>
               <td align=left style="padding-left: 10px;">
                Gesamtertrag:
               </td>
               <td align=right>
                {{ basic.formula('formula5', 'solar.total',  'euro', '(SUM(VAR)+4591)* 1.2525 * 0.2874  ') }}
               </td>
              </tr>
             </table>   
             
             <div>
             
             </div>
             
             
            </div>
             </div>
             </div>
             
              <div class="block">
             <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
               <div data-role="collapsible" data-collapsed="false">
             
             
             
                    <h3>Tagesverlauf</h3>
                       Leistung {{ plot.period('p2', 'solar.current', 'avg', '1d', 0,0,'' , '', '', '', '', '', '1h'  ) }}<br>
                       Energie {{ plot.period('p1', 'solar.day', 'avg', '1d', 0,0 ,'' , '', '', '', '', '', '1h'  ) }} 
                <br>
             
                 {{ basic.symbol('nacht1', 'pvwetter.nacht', '', icon1~'weather_moon_phases_8.png', 1) }}
                 {{ basic.symbol('regent1', 'pvwetter.regen', '', icon1~'weather_rain.png', 1) }}
                 {{ basic.symbol('bewoelkt1', 'pvwetter.bewoelkt', '', icon1~'weather_cloudy.png', 1) }}
                 {{ basic.symbol('sonne1', 'pvwetter.sonne', '', icon1~'weather_sun.png', 1) }} 
             
             
             <div>
            und zu guter Letzt die plugins.conf

            Code:
            # plugin.conf
            
            [knx]
               class_name = KNX
               class_path = plugins.knx
               send_time = 600 # update date/time every 600 seconds, default none
               time_ga = 0/1/1 # default none
               date_ga = 0/1/0 # default none
            
            [ow]
                class_name = OneWire
                class_path = plugins.onewire
            #    host = 127.0.0.1
            #    port = 4304
            
            [cli]
                class_name = CLI
                class_path = plugins.cli
                ip = 0.0.0.0
                update = True
            
            [visu]
                class_name = WebSocket
                class_path = plugins.visu
            #   ip='0.0.0.0'
            #   port=2424
                acl = rw
                smartvisu_dir = /var/www/smartvisu
            
            [KOSTAL]
               class_name = Kostal
               class_path = plugins.kostal
               ip = 192.168.0.101
               user = pvserver
               passwd = pvwr
               cycle = 300
                
            [sql]
                class_name = SQL
                class_path = plugins.sqlite
            
            [rrd]
                class_name = RRD
                class_path = plugins.rrd
                step = 300
            aber irgendwie kommt nur ne weise Seite.

            Gruß
            Alex

            Kommentar


              #7
              Hallo Stephan,

              danke für die Anwort, aber irgendwo hakt es noch.

              Ich habe jetzt folgendes gemacht:

              unter SmartHome.py\plugins\kostal
              die beiden Dateien abgelt (__init__.py und README.md

              unter SmartHome.py\items
              die smartvisu.conf ergänzt mit den ITEMS:

              Code:
              [solar]
                  [[status]]
                      type = str
                      kostal = status
                  [[current]]
                      type = num
                      kostal = power_current
                  [[total]]
                      type = num
                      kostal = power_total
                  [[day]]
                      type = num
                      kostal = power_day
                  [[l1v]]
                      type = num
                      kostal = l1_watt
                  [[l1w]]
                      type = num
                      kostal = l1_watt
                  [[l2v]]
                      type = num
                      kostal = l2_watt
                  [[l2w]]
                      type = num
                      kostal = l2_watt
                  [[l3v]]
                      type = num
                      kostal = l3_watt
                  [[l3w]]
                      type = num
                      kostal = l3_watt
              Dann noch die Seite eingepflegt:
              Code:
              /**
              * -----------------------------------------------------------------------------
              * @package     smartVISU
              * @author      Stephan Schaade
              * @copyright   2013
              * @license     GPL [http://www.gnu.de]
              * -----------------------------------------------------------------------------
              */
               
              {% extends "wp.html" %}
              {% block content %}
              
               <h1><img class="icon" src='{{ icon0 }}sani_solar.png' />Photovoltaikanlage</h1>
               <div class="block">
               <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
               <div data-role="collapsible" data-collapsed="false">
               <h3>Status</h3>
                   {{ basic.symbol('nacht1', 'pvwetter.nacht', '', icon1~'weather_moon_phases_8.png', 1) }}
                   {{ basic.symbol('regent1', 'pvwetter.regen', '', icon1~'weather_rain.png', 1) }}
                   {{ basic.symbol('bewoelkt1', 'pvwetter.bewoelkt', '', icon1~'weather_cloudy.png', 1) }}
                   {{ basic.symbol('sonne1', 'pvwetter.sonne', '', icon1~'weather_sun.png', 1) }} 
                <table width=100%>
                <tr>
                 <td align=left style="padding-left: 10px;">
                    Aktuelle Leistung:
                 </td>
                 <td align=right>
                  {{ basic.float('pakt', 'solar.current', 'W') }}
                 </td>
                </tr>
               </table>
               
                <table width=100%>
               
                <tr>
                 <td align=left style="padding-left: 10px;">
                 Status: 
                 </td>
                 <td align=right>
                 {{basic.value('value1','solar.status' )}}
                 </td>
                </tr>
               </table>
               
               <table width=100%>
                <tr>
                 <td align=left style="padding-left: 10px;">
                 Gesamtenergie
                 </td>
                 <td align=right>
                  {{ basic.float('pges', 'solar.total', 'kwh') }}
                 </td>
                </tr>
               </table>
               <table width=100%>
                <tr>
                 <td align=left style="padding-left: 10px;">
                   Tagesenergie:
                 </td>
                 <td align=right>
                  {{ basic.float('tges', 'solar.day', 'kwh') }}
                 </td>
                </tr>
               </table> 
                <table width=100%>
                <tr>
                 <td align=left style="padding-left: 10px;">
                   Tagesertrag:
                 </td>
                 <td align=right>
                  {{ basic.formula('formula15', 'solar.day',  'euro', 'SUM(VAR)* 1.2525 * 0.2874  ') }}
                 </td>
                </tr>
               </table>    
                <HR>
                 <table width=100%>
                <tr>
                 <td align=left style="padding-left: 10px;">
                 Energie Kostal:
                 </td>
                 <td align=right>
                  {{ basic.formula('formula2', 'solar.total',  'kwh', '(SUM(VAR)+4591)  ') }}
                 </td>
                </tr>
               </table>  
                <table width=100%>
                <tr>
                 <td align=left style="padding-left: 10px;">
                 Energie SMA:
                 </td>
                 <td align=right>
                  {{ basic.formula('formula3', 'solar.total',  'kwh', '(SUM(VAR)+4591) *0.2525 ') }}
                 </td>
                </tr>
               </table> 
                <table width=100%>
                <tr>
                 <td align=left style="padding-left: 10px;">
                 Energie total:
                 </td>
                 <td align=right>
                  {{ basic.formula('formula4', 'solar.total',  'kwh', '(SUM(VAR)+4591) * 1.2525 ') }}
                 </td>
                </tr>
               </table>
                <hr> 
                 <table width=100%>
                <tr>
                 <td align=left style="padding-left: 10px;">
                  Ertrag Kostal:
                 </td>
                 <td align=right>
                  {{ basic.formula('formula11', 'solar.total',  'euro', '(AVG(VAR)+4994) * 0.2874   ') }}
                 </td>
                </tr>
               </table>
                <table width=100%>
                <tr>
                 <td align=left style="padding-left: 10px;">
                  Ertrag SMA:
                 </td>
                 <td align=right>
                  {{ basic.formula('formula12', 'solar.total',  'euro', '(AVG(VAR)+4591) * 0.2874  *0.2525 ') }}
                 </td>
                </tr>
               </table>   <hr><hr>
                <table width=100%>
                <tr>
                 <td align=left style="padding-left: 10px;">
                  Gesamtertrag:
                 </td>
                 <td align=right>
                  {{ basic.formula('formula5', 'solar.total',  'euro', '(SUM(VAR)+4591)* 1.2525 * 0.2874  ') }}
                 </td>
                </tr>
               </table>   
               
               <div>
               
               </div>
               
               
              </div>
               </div>
               </div>
               
                <div class="block">
               <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
                 <div data-role="collapsible" data-collapsed="false">
               
               
               
                      <h3>Tagesverlauf</h3>
                         Leistung {{ plot.period('p2', 'solar.current', 'avg', '1d', 0,0,'' , '', '', '', '', '', '1h'  ) }}<br>
                         Energie {{ plot.period('p1', 'solar.day', 'avg', '1d', 0,0 ,'' , '', '', '', '', '', '1h'  ) }} 
                  <br>
               
                   {{ basic.symbol('nacht1', 'pvwetter.nacht', '', icon1~'weather_moon_phases_8.png', 1) }}
                   {{ basic.symbol('regent1', 'pvwetter.regen', '', icon1~'weather_rain.png', 1) }}
                   {{ basic.symbol('bewoelkt1', 'pvwetter.bewoelkt', '', icon1~'weather_cloudy.png', 1) }}
                   {{ basic.symbol('sonne1', 'pvwetter.sonne', '', icon1~'weather_sun.png', 1) }} 
               
               
               <div>
              und zu guter Letzt die plugins.conf

              Code:
              # plugin.conf
              
              [knx]
                 class_name = KNX
                 class_path = plugins.knx
                 send_time = 600 # update date/time every 600 seconds, default none
                 time_ga = 0/1/1 # default none
                 date_ga = 0/1/0 # default none
              
              [ow]
                  class_name = OneWire
                  class_path = plugins.onewire
              #    host = 127.0.0.1
              #    port = 4304
              
              [cli]
                  class_name = CLI
                  class_path = plugins.cli
                  ip = 0.0.0.0
                  update = True
              
              [visu]
                  class_name = WebSocket
                  class_path = plugins.visu
              #   ip='0.0.0.0'
              #   port=2424
                  acl = rw
                  smartvisu_dir = /var/www/smartvisu
              
              [KOSTAL]
                 class_name = Kostal
                 class_path = plugins.kostal
                 ip = 192.168.0.101
                 user = pvserver
                 passwd = pvwr
                 cycle = 300
                  
              [sql]
                  class_name = SQL
                  class_path = plugins.sqlite
              
              [rrd]
                  class_name = RRD
                  class_path = plugins.rrd
                  step = 300
              aber irgendwie kommt nur ne weise Seite.

              Noch was: Wenn ich die Seite direkt aufrufe erhalte ich folgende Meldung:

              Code:
              # plugin.conf
              
              [knx]
                 class_name = KNX
                 class_path = plugins.knx
                 send_time = 600 # update date/time every 600 seconds, default none
                 time_ga = 0/1/1 # default none
                 date_ga = 0/1/0 # default none
              
              [ow]
                  class_name = OneWire
                  class_path = plugins.onewire
              #    host = 127.0.0.1
              #    port = 4304
              
              [cli]
                  class_name = CLI
                  class_path = plugins.cli
                  ip = 0.0.0.0
                  update = True
              
              [visu]
                  class_name = WebSocket
                  class_path = plugins.visu
              #   ip='0.0.0.0'
              #   port=2424
                  acl = rw
                  smartvisu_dir = /var/www/smartvisu
              
              [KOSTAL]
                 class_name = Kostal
                 class_path = plugins.kostal
                 ip = 192.168.0.101
                 user = pvserver
                 passwd = pvwr
                 cycle = 300
                  
              [sql]
                  class_name = SQL
                  class_path = plugins.sqlite
              
              [rrd]
                  class_name = RRD
                  class_path = plugins.rrd
                  step = 300
              Gruß
              Alex

              Kommentar


                #8
                Hallo Alex,


                Du hast danach smarhome.py schon neu gestartet ?

                Ich empfehle Dir in einem zweiten Fenster eine SSH Verbindung zu Deinem Raspi zu machen ( z.B. mit Putty)

                dann smarthome.py stoppen smarthome.py -s und starten mit smarthome.py -d ( ( Abbruch wit ctrl-Z)

                Im Fenster siehst Du alle Logmeldungen in Echtzeit. Schau mal was bei Dir bzgl Kostal passier bei mir ist es:

                Code:
                [COLOR=red]#Laden Plugin[/COLOR]
                2013-11-09 17:40:59,264 DEBUG    Main         Plugin: KOSTAL -- plugin.py:__init__:43
                
                2013-11-09 17:41:01,629 INFO     Main         Start Plugins -- plugin.py:start:65
                
                [COLOR=red]#Trigger  für Kostan[/COLOR]
                2013-11-09 17:41:01,640 DEBUG    KOSTAL       Kostal next time: 2013-11-09 17:41:13+01:00 -- scheduler.py:_next_time:289
                 
                [COLOR=red]# hier laufen die Werte rein[/COLOR]
                2013-11-09 17:41:13,493 DEBUG    Kostal       set status = Aus -- __init__.py:_refresh:99
                2013-11-09 17:41:13,497 DEBUG    Kostal       set string2_ampere = x x x&nbsp -- __init__.py:_refresh:99
                2013-11-09 17:41:13,501 DEBUG    Kostal       set l3_watt = x x x&nbsp -- __init__.py:_refresh:99
                2013-11-09 17:41:13,506 DEBUG    Kostal       set l2_volt = x x x&nbsp -- __init__.py:_refresh:99
                2013-11-09 17:41:13,510 DEBUG    Kostal       set power_day = 14.52 -- __init__.py:_refresh:99
                2013-11-09 17:41:13,515 DEBUG    Kostal       set string3_ampere = x x x&nbsp -- __init__.py:_refresh:99
                2013-11-09 17:41:13,519 DEBUG    Kostal       set power_current = x x x&nbsp -- __init__.py:_refresh:99
                2013-11-09 17:41:13,523 DEBUG    Kostal       set l1_volt = x x x&nbsp -- __init__.py:_refresh:99
                2013-11-09 17:41:13,528 DEBUG    Kostal       set power_total = 19952 -- __init__.py:_refresh:99
                2013-11-09 17:41:13,532 DEBUG    Kostal       set string1_volt = x x x&nbsp -- __init__.py:_refresh:99
                
                [COLOR=red]# es ist Nacht und Kostal liefert -- statt numerischer Werte ( kein Problem)[/COLOR]
                2013-11-09 17:41:13,537 DEBUG    Kostal       set l2_watt = x x x&nbsp -- __init__.py:_refresh:99
                2013-11-09 17:41:13,541 DEBUG    Kostal       set l3_volt = x x x&nbsp -- __init__.py:_refresh:99
                2013-11-09 17:41:13,548 DEBUG    Scheduler    Kostal next time: 2013-11-09 17:46:13+01:00 -- scheduler.py:_next_time:289
                2013-11-09 17:41:13,551 DEBUG    Kostal       set string1_ampere = x x x&nbsp -- __init__.py:_refresh:99
                2013-11-09 17:41:13,558 DEBUG    Kostal       set l1_watt = x x x&nbsp -- __init__.py:_refresh:99
                2013-11-09 17:41:13,562 DEBUG    Kostal       set string2_volt = x x x&nbsp -- __init__.py:_refresh:99
                2013-11-09 17:41:13,567 DEBUG    Kostal       set string3_volt = x x x&nbsp -- __init__.py:_refresh:99
                2013-11-09 17:41:13,572 DEBUG    Kostal       Item solar.status = Aus via Kostal None None -- item.py:__update:363
                2013-11-09 17:41:13,579 WARNING  Kostal       Item solar.current: value x x x&nbsp does not match type num. Via Kostal None -- item.py:__update:347
                2013-11-09 17:41:13,586 DEBUG    Kostal       Item solar.total = 19952 via Kostal None None -- item.py:__update:363
                2013-11-09 17:41:13,593 DEBUG    Kostal       Item solar.day = 14.52 via Kostal None None -- item.py:__update:363
                2013-11-09 17:41:13,677 WARNING  Kostal       Item solar.l1v: value x x x&nbsp does not match type num. Via Kostal None -- item.py:__update:347
                2013-11-09 17:41:13,683 WARNING  Kostal       Item solar.l1w: value x x x&nbsp does not match type num. Via Kostal None -- item.py:__update:347
                2013-11-09 17:41:13,689 WARNING  Kostal       Item solar.l2v: value x x x&nbsp does not match type num. Via Kostal None -- item.py:__update:347
                2013-11-09 17:41:13,696 WARNING  Kostal       Item solar.l2w: value x x x&nbsp does not match type num. Via Kostal None -- item.py:__update:347
                2013-11-09 17:41:13,702 WARNING  Kostal       Item solar.l3v: value x x x&nbsp does not match type num. Via Kostal None -- item.py:__update:347
                2013-11-09 17:41:13,708 WARNING  Kostal       Item solar.l3w: value x x x&nbsp does not match type num. Via Kostal None -- item.py:__update:347
                [COLOR=red]# statusmeldung bzgl Kostal lesen
                [/COLOR]2013-11-09 17:41:13,714 DEBUG    Kostal       cycle takes 0.674098014831543 seconds -- __init__.py:_refresh:109
                
                [COLOR=red]# Neuladen Deiner html Seite durch browser[/COLOR]
                WebSocket: incoming connection from 192.168.123.161:54489 to 0.0.0.0:2424 -- connection.py:accept:187
                2013-11-09 17:41:59,115 DEBUG    Main         192.168.123.161:54489 sent '{"cmd":"proto","ver":3}' -- __init__.py:json_parse:273
                2013-11-09 17:41:59,131 DEBUG    Main         192.168.123.161:54489 sent '{"cmd":"monitor","items":["pvwetter.nacht","pvwetter.regen[COLOR=red]","pvwetter.bewoelkt[/COLOR][COLOR=red]","pvwetter.sonne","solar.current","solar.status","solar.total","solar.day[/COLOR]","env.location.sunrise","env.location.sunset","env.location.moonrise","env.location.moonset","flurdg_bewegung","kontakte.ankleideusz","schlafen.dimmer1.schalten","ping.schaade1","ping.arbeit","kontakte.badudach","kontakte.tinkiufranzi","kontakte.klausulina","flur_bewegung","temp","wohnen.fenster","heizen","wohnen.led.schalten","wohnen.dimmer1.schalten","wohnen.dimmer2.schalten","essenkueche.fenster","essenkueche.dimmeressen.schalten","essenkueche.dimmerkueche.schalten","kontakte.haustuer","flur.licht.led","flur.licht.eg","alarm.wind","aussentemperatur","aussen_regen","aussen_gartenlicht_schalten","aussen_haustuerlicht_schalten","aussen_steckdose_schalten","aussen_freischaltung","flurkg_bewegung","lwz_speichertemperatur","([lwz_verdichter] && [lwz_pumpe_wasser])","([lwz_verdichter] && [lwz_pumpe_heizung])","pvwetter.wert"]}' -- __init__.py:json_parse:273
                
                 
                [COLOR=red]# Ergebnis der PV Wetter Berechnung
                [/COLOR]2013-11-09 17:42:11,398 INFO     pvwetter     PV Wetter Nacht -- pvwetter.py:<module>:7
                Hänge doch mal Dein Logfile mit rein


                Gruß Stephan

                Kommentar


                  #9
                  Halo Stephan,

                  funktioniert soweit... Problem war beim Download des Plugins hat es mit irgendwelchen HTML Code reingehauen... Es kam zu Syntax Errors.

                  Sonst passt alles - VIELEN DANK !!

                  Gruß
                  Alex

                  Kommentar


                    #10
                    Super, ich hatte das gleiche Problem, aber gedacht nur ich bin so.

                    Gruß Stephan

                    Kommentar


                      #11
                      Pack doch mal alles zusammen in ein Paket und schicks mir als .zip (bitte so, das im Paket die Verzeichnise wo es hinkopiert werden muss mit drin sind).

                      Gruss
                      Join smartVISU on facebook. Web: smartvisu.de.
                      Dir gefällt smartVISU? Bitte spenden für die Weiterentwicklung.

                      Kommentar


                        #12
                        voilá


                        Bitte nur noch die Schnipsel in die eigenen logic.conf und plugin.conf reinkopieren und IP.Adresse und Passwort des Kostal WR eintragen in plugin.conf eintragen

                        Gruß Stephan
                        Angehängte Dateien

                        Kommentar


                          #13
                          Nachtrag

                          Kleiner Nachtrag noch zum gelösten Formatierungsproblem.
                          Ich hatte in meinem Texteditor bei dieser Seite kein UCF-8 eingestellt, und das war das Problem. Formatierungen mit Sonderzeichen wie € hatten dadurch nicht geklappt.
                          Den Workarround mit der eigenen Sprachdatei hat damit ausgedient.

                          Gruss Stephan

                          Kommentar

                          Lädt...
                          X