Ankündigung

Einklappen
Keine Ankündigung bisher.

Luftfeuchte vom DWD?

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

  • callidomus
    antwortet
    Hi Hendrik,

    in welchem Widget zeigt die smartVISU denn den falschen Prozentwert an?
    In dem Beispiel wohl nicht. Und welchen Wert schickst Du denn hin?

    Die Kommunikation SH.py und SV erfolgt momentan ohne Einheiten. Einfach nur Werte.

    Jetzt muss man entweder dem sV-Widget die Einheit mitgeben, oder man muss den Wert in SH.py entsprechend aufbereiten.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    nochmal zum Prozentwert:

    Wie werden Datentypen zwischen sh.py und SV denn allgemein gehandhabt?
    Die SV zeigt nämlich 0.92% an und ich bin sicher, dass 92% näher an der Wahrheit liegt...

    Code:
      [[relative_luftfeuchte_perc]]
        type=num
        xmlstring=relative_humidity
      [[relative_luftfeuchte]]
        type=num
            rrd=1
            visu=yes
            eval=sh.aktuelles_wetter.relative_luftfeuchte_perc() * 0.01
            eval_trigger=aktuelles_wetter.relative_luftfeuchte_perc
            sv_widget="{{ plot.period('item', 'item', 'avg', 24h) }}"
        knx_send=7/7/251
        knx_listen=7/7/251
        knx_dpt=5
    relative_luftfeuchte_prec hat den Wert 92.

    relative_luftreuchte dann 0.01*92=0.92.

    Woher weiß die Smartvisu, wie die Werte zu Handhaben sind? In KNX gibt es dafür ja den DPT..

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo Hendrik,

    Zitat von henfri Beitrag anzeigen
    Wofür ist denn "name" gedacht. Prinzipiell ist der doch redundant zu dem, was in den eckigen Klammern steht, oder?
    An manchen Stellen, z.B. der Autogeneration wird der name verwendet.
    Anstelle von eg.kueche steht dann dort Küche.

    Zitat von henfri Beitrag anzeigen
    Wie sollte ich Prozent-Werte behandeln? Sollte ich den Wert in 0.39 umwandeln?
    Ja, ich würde ihn in 0.39 wandeln.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hi Marcus,

    Ja, das klappt. Sorry, das hatte ich so nicht verstanden.
    Wofür ist denn "name" gedacht. Prinzipiell ist der doch redundant zu dem, was in den eckigen Klammern steht, oder?

    So sieht es jetzt aus:
    Code:
    2013-08-02 22:53:01,266 wunderground DEBUG    wind_degrees -- wunderground.py:<module>:23
    2013-08-02 22:53:01,267 wunderground DEBUG    aktuelles_wetter.windrichtung = 110 via Logic None -- item.py:_update:219
    2013-08-02 22:53:01,274 wunderground ERROR    Item 'aktuelles_wetter.relative_luftfeuchte': value (39%) does not match type (num). Via Logic None -- item.py:__call__:197
    Wie sollte ich Prozent-Werte behandeln? Sollte ich den Wert in 0.39 umwandeln?

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo Hendrik,

    Zitat von henfri Beitrag anzeigen
    Hast du das alles ohne programmiert?!
    Ja.

    Zu dem anderen Problem. Korrekt wäre item.id().

    Aber Du möchtest ja eigentlich etwas anderes.

    Code:
    [test]
       type = num
       wg = percip_today_metric  # oder wunderground = percip_today_metric
    Das kannst Du dann mit
    Code:
    sh.test.conf['wg']
    auslesen. Die Plugins machen das mit ihren Keywords ebenso.

    hth

    Marcus

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    zum Editor:
    Ich finde halt das Debuggen echt anstrengend. Man muss sich für alles einen Log-Output schreiben. Ich kenne es von Matlab und VBA so, dass ich mir Breakpoints setzen kann, den Inhalt von Variabeln ansehen kann etc. Hast du das alles ohne programmiert?!

    zum item.name:
    So sieht es hier jetzt aus:
    Code:
    for item in sh.aktuelles_wetter:
       logger.debug(item.id)
       item(get_current_weather_data(xml,item.id))
       logger.debug(get_current_weather_data(xml,item.id))
    Das gibt zwar keinen Fehler mehr, aber es funktionier auch nicht:
    Code:
    2013-08-01 22:33:01,293 wunderground DEBUG    <bound method Item.id of Item: 0> -- wunderground.py:<module>:23
    2013-08-01 22:33:01,296 wunderground DEBUG    None -- wunderground.py:<module>:25
    2013-08-01 22:33:01,297 wunderground DEBUG    <bound method Item.id of Item: 0> -- wunderground.py:<module>:23
    2013-08-01 22:33:01,300 wunderground DEBUG    None -- wunderground.py:<module>:25
    2013-08-01 22:33:01,300 wunderground DEBUG    <bound method Item.id of Item: 0> -- wunderground.py:<module>:23
    2013-08-01 22:33:01,303 wunderground DEBUG    None -- wunderground.py:<module>:25
    2013-08-01 22:33:01,303 wunderground DEBUG    <bound method Item.id of Item: 0> -- wunderground.py:<module>:23
    2013-08-01 22:33:01,306 wunderground DEBUG    None -- wunderground.py:<module>:25
    2013-08-01 22:33:01,307 wunderground DEBUG    <bound method Item.id of Item: 0> -- wunderground.py:<module>:23
    2013-08-01 22:33:01,310 wunderground DEBUG    None -- wunderground.py:<module>:25
    Nur dass wir uns nicht missverstehen:
    Was ich benötige ist aus:
    Code:
      [[Niederschlag_Heute]]
        type=num
        name=percip_today_metric
        knx_send=7/7/17
        knx_dpt=9
    den String "percip_today_metric".

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo Hendrik,

    1) ich benutze Vim: https://knx-user-forum.de/smarthome-...g-mit-vim.html
    Ist für einen Windowsnutzer aber warhscheinlich etwas ungewohnt.

    2) name ist kein Attribute das direkt an den Items hängt. Probier mal print item.id()

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    zwei Fragen:
    1) benutzt ihr einfach einen Text-Editor zum Programmieren, oder eine IDE?
    Ich würde das Plugin gerne standalone testen, aber ich kann auf Dinge wie sh.aktuelles_wetter.temp ja so nicht zugreifen... Wie macht ihr das?

    2) Warum geht dies nicht?
    Code:
    /usr/local/smarthome/items# cat wetter.conf
    [aktuelles_wetter]
      [[windrichtung]]
        type=num
        name=wind_degrees
      [[temperatur]]
        type=num
        name=temp_c
    Code:
    for item in sh.aktuelles_wetter:
       print item.name
    (Fehlermeldung:
    Method: <module>, Exception: Item instance has no attribute 'name' -- scheduler.py:_task:281
    )

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo Robert,

    ich hoffe, das wundert dich nicht. Du warst es doch, der mir nahe gelegt hat, python zu lernen ;-)

    Das, was ich momentan vor habe, ist die Wetterstation von einem Wunderground-Nutzer hier ganz in der Nähe anzuzapfen, für Niederschlag etc.
    (konkret diese: wunderground.com/weatherstation/WXDailyHistory.asp?ID=INIEDERS60)

    Diese "Nutzer-Wetterstationen" bieten keine Vorhersage, wie z.B.
    Bremen, Germany Weather Forecast from Weather Underground

    Die xml ist aber ähnlich:
    Weather Underground

    vs.

    Weather Underground

    Current Observation ist gleich.

    Forecast gibt es bei der User-Wetterstation nicht.

    Ich schau mal, wie ich es flexibel halte.

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • Robert
    antwortet
    Wenn ich das jetzt richtig durchdringe, willst du ein "WUnderground-Plugin" schreiben? Falls ja, gibt der Name schon vor was das sein sollte... ;-)

    Wenn das funktioniert wäre ich auch noch ein dankbarer Abnehmer. Ich benutze zwar schon das WUnderground-Widget der smartVISU, aber manche Daten könnte man aus Spaß auch auf den Bus schicken.

    Grüße
    Robert

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    nicht so schlimm, ich habe mal eine Logik angefangen:

    Code:
    #!/usr/bin/python
    
    from xml.dom import minidom
    import urllib2
    
    
    def get_current_weather_data(xml, name):
       for node in xml.getElementsByTagName(name): 
          return node.childNodes[0].nodeValue
    
    response= urllib2.urlopen('http://api.wunderground.com/weatherstation/WXCurrentObXML.asp?ID=INIEDERS60')
    
    xml=response.read()
    xml=minidom.parseString(xml)
    #xml=minidom.parse("wetter.xml")
    
     
    
     
    
    for item in sh.aktuelles_wetter:
       #print item.name
       item(get_current_weather_data(xml,item.name))
    
      
    #relative_humidity=get_current_weather_data(xml,'relative_humidity')
    #print(relative_humidity)
    Die Idee ist alle Items die Children von aktuelles_wetter in der XML nachzuschlagen.

    Macht das Sinn so, oder bin ich auf dem Holzweg?

    Und: Sollte das lieber ein Plugin, oder eine Logik werden.

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Hallo Hendrik,

    ich habe gerade noch mal nachgesehen. Der DWD liefert anscheinend die Luftfeuchte nicht mit aus. => das Plugin liefert sie nicht.

    sorry

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • henfri
    hat ein Thema erstellt Luftfeuchte vom DWD?

    Luftfeuchte vom DWD?

    Hallo,

    ist es richtig, dass ich vom DWD-Plugin die Luftfeuchte nicht bekomme?

    Gruß,
    Hendrik
Lädt...
X