Ankündigung

Einklappen
Keine Ankündigung bisher.

Indego Connect

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

  • schuma
    antwortet
    Zitat von Haiphong Beitrag anzeigen
    Bis auf die Karte ist auch alles gelaufen....
    Bei der Karte ist es wichtig, das der richtige Pfad in der Plugin.yaml auch eingetragen ist. Und der User muss auch darauf zugreifen können.
    Bei mir sieht das so aus:
    Code:
    img_pfad: '/var/www/html/smartVISU2.9/temp/garden.svg'
    Übrigens habe ich heute auch mal das neue Plugin getestet. Leider mit mäßigem Erfolg. Etwas komisch ist, das Wetterdaten und einige andere Daten wohl übertragen werden. Allerdings z.B. die Prozentzahl vom Mähvorgang nicht. Auch keiene X/Y Koordinaten und diverse Daten letztes Mähen etc.

    Fehlermeldung gab es eigentlich keine im Log...

    Einen Kommentar schreiben:


  • Haiphong
    antwortet
    Hallo Marc,

    hatte Deinen Upload mit der 1.5 auch eigesetzt.
    Bis auf die Karte ist auch alles gelaufen....

    Hab jetzt die html aus dem Dev mit den Problemen ....( siehe # 77)
    Die Zeile "{% import "large_symbol.html" as large %}" hab ich gelöscht.

    Karte wird aber auch hier nicht runtergeladen

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    Hallo schuma,

    hab nun wieder Deine html-Vorlage in der Visu integriert. Die tut nach wie vor was sie soll.
    Ich hatte nach dem Upload des 1.6er dev-plugins gedacht das wäre dort schon eingeflossen.
    Das mit Post #71 hab ich geändert. Ich würde versuchen im noch ein paar Fehler in der Kommunikation zu elimieren (die die bei mir noch aufschlage)
    und dann eine Beta Version per PR bereitstellen.
    Ich werde versuchen die Punkte von bmx zu berücksichtigen.

    Einen Kommentar schreiben:


  • schuma
    antwortet
    Ich hatte mal eine Seite Für die SmartVisu2.9 gemacht. Ist irgendwo in diesen Beiträgen (Edit #41). Die Seite zeigt dann auch die großen Symbole an.
    Könnte man einfach so übernehmen.
    Wird aber irgendwie hartnäckig ignoriert

    So wie das ursprünglich umgesetzt war, hatte es für mich auch keinen Sinn gemacht.

    Edit: Übrigends, „schläft“ aus Post71 müsste eigentlich „wacht auf“ heißen. Hatte sich jetzt nach ein paar Tagen herausgestellt
    Zuletzt geändert von schuma; 02.06.2019, 09:51.

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Also es gibt zwei Stellen für HTML. Das eine sind die Dropins für die SmartVISU die hat IMHO Marcov vorbereitet. Das zweite ist das Webinterface. Das Webinterface ist nur erstmal vom Musterplugin reingekommen.

    Todo Liste derzeit:

    * indego child-items als struct bereitstellen damit das alles einfach ohne viele Fehler eingebunden werden kann (neu mit SHNG 1.6)
    * anzeigen aller Items im Webinterface (siehe z.B. knx Plugin)
    * Anzeigen der Mählandkarte im Webinterface
    * Aktualisieren der als deprecated markierten Funktionen
    * evtl. robustere Kommunikation mit dem Server bezgl. An- und Abmeldung wenn das Plugin gerade nicht gebraucht wird?
    * Kürzung der bestehenden Funktionen bzw. Refactoring auf das wesentliche, ggf. weitere Nutzung von Formatstrings
    * Ergänzung von fehlenden Implementationsdetails wie z.B. Kalender
    * Implementation von update_item für setzen von items in SHNG und Rückmeldung an Bosch Server?

    Für die schnelle PN hat sich ansonsten auch der Gitter Chat als funktionell gezeigt ...

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    Nochmal kurz die Frage zum Thema HTML bzw. Widget,

    es hat sich sicher jemand was dabei gedacht das so einzubauen. Die Frage ist wer ? und was hat er sich dabei gedacht ?.
    Ich möchte das gar nicht in Frage stellen, nur um das so wie Gedacht ans Laufen zu bringen wären ein paar Tipps ganz hilfreich.
    (Kommt das von Marcov ?)
    Von "twig" hab ich, zumindest bis jetzt recht wenig Ahnung. Ich möchte aber trotz allem versuchen dem Plugin/Visu noch den Kalender hinzuzufügen.
    (Gerne kann das auch jemand anders übernehmen, ich brauch den Kalender da smartmow weiß nicht wann ich dünge und wann ich bewässere)

    Ich würde dann fürs Erste einen PR von meiner Version, mit den Code-Updates von bmx und meinen Umstellugen auf lib.item, lib.shtime und scheduler auf smartplugin erstellen.



    An dieser Stelle auch vielen Dank an bmx der sich einbringt ohne Nutzen zu haben und jetzt auch noch mit Fragen belästigt wird.

    Gruss Andre

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Ich kann wie schon geschrieben leider nicht allzuviel beitragen weil ich keinen Indego habe (Sponsoren willkommen ). Du hast mit dem result Recht. Ich kann die Änderung bei Gelegenheit pushen. Es sei denn Du stellst einen PR

    Einen Kommentar schreiben:


  • AndreK
    antwortet
    Hallo bmx ,

    ich bin auch gerade dabei das Indego-Plugin ans laufen zu bekommen. Beim Post #87 - loggst du nach dem try "next_time" da "next_time" hier noch nicht definiert
    ist kommt es zum Abbruch, ich denke korrekt sollte sein "result".

    Ich habe Deine zwei Posts von heute eingebaut und den scheduler auf smartplugin und get_sh().return_item auf lib.item umgestellt. tzinfo habe ich ebenfalls von get_sh().tzinfo auf lib.shtime umgestellt. (das war nur Kosmetik). Aber die Meldungen für "Depraceted"-functions haben mich genervt)

    Soweit läuft das jetzt. Was ich allerdings nicht hinbekommen will, ist die Anzeige der "großen" Symbole für den aktuellen Zustand
    Code:
    {{ large.symbol('state_offline', 'indego.online','','dropins/icons/ws/scene_robo_lawnmower_offline.svg',0) }}
    Wenn ich das ganze so einsetze wie ichs runterlade geht an der Stelle gar nichts.
    Im file "indego.html" wird "{% import "large_symbol.html" as large %}" importiert, die Datei gibts aber nicht geben tuts "{% import "widget_basic_large_symbol.html" as large %}".
    Dann wird weiter unten in der HTML-Datei das Widget
    "{{ large.symbol('state_offline', 'indego.online','','scene_robo_lawnmower_offline.s vg',0) }}"
    aufgerufen. Dieses wird nicht gefunden da es unter large.large_symbol referenziert wurde.

    Das hab ich soweit korrigiert und trotz allem wird nichts angezeigt bzw. die Seite gar nicht geladen. Beim 1.5 Plugin waren an der Stelle noch basic.symbols. Mit denen funktionierts auch.

    Kannst du dazu einen Tipp geben ? Bzw. weißt du wer den HTML-Teil so gemacht hat ?

    Gruss Andre
    Zuletzt geändert von AndreK; 01.06.2019, 18:03.

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Ok. Jetzt könntest Du noch mal die Funktion get_next_time(self) ab ca. Zeile 381 tauschen gegen:

    Code:
        def get_next_time(self):
            url = "{}alms/{}/predictive/nextcutting?last=YYYY-MM-DDTHH:MM:SS%2BHH:MM".format( self.indego_url, self.alm_sn)
            try:
                result = self.get_url( url, self.context_id, 10)
            except Exception as e:
                self.logger.warning("Problem fetching {0}: {1}".format(url, e))        
            else:
                try:
                    self.logger.debug("Next time raw" + str(result))
                    next_time = result.decode(encoding='UTF-8', errors='ignore')
                    next_time = json.loads(next_time)
                    next_time = next_time['mow_next']
    
                    self.logger.debug("Next time raw 2: " + str(next_time))
                    # next_time = next_time[:-6]
                    # next_time = datetime.datetime.strptime(next_time,'%Y-%m-%dT%H:%M:%S').replace(tzinfo=tz.gettz('UTC')).astimezone(self.get_sh().tzinfo())
                    # #datetime.datetime.strptime(next_time,'%Y-%m-%dT%H:%M:%S+02:00').replace(tzinfo=self.get_sh().tzinfo())
                    next_time = next_time.replace(":", "")
                    next_time = datetime.datetime.strptime(next_time, '%Y-%m-%dT%H%M%S%z')
                    self.logger.debug("Next time final " + str(next_time))
                    self.set_childitem('next_time',next_time)
                except Exception as e:
                    self.logger.warning("Problem to decode {0} in function get_next_time(): {1}".format(result, e))
    Zuletzt geändert von bmx; 01.06.2019, 18:26.

    Einen Kommentar schreiben:


  • Haiphong
    antwortet
    Oh, jetzt werd ich zum schwierigen Patienten....

    Das Verzeichnis WebIf hatte ich nicht kopier .... ist jetzt da

    Verbindung zu Bosch ist aber vorhanden -->> kann den Indigo über die Visu starten

    Danke, JG

    Einen Kommentar schreiben:


  • bmx
    antwortet
    Das weist daraufhin, das Du zum Einen immer noch keine Verbindung zum Bosch Server bekommst und zum anderen scheint das Webinterface die index.html nicht zu finden. Hast Du das gesamte Verzeichnis des Plugins kopiert?

    Einen Kommentar schreiben:


  • Haiphong
    antwortet
    Die Wetter Werte kommen jetzt in der Visu an ...

    Das Web If bringt folgenden Fehler:
    indego_webif.jpgIm Logging kommt jetzt folgendes: ( keine Ahnung ob's was mit diesem plugin zu tun hat )
    Code:
    2019-05-31  17:04:58 ERROR    cherrypy.error.1773385360 [31/May/2019:17:04:58] HTTP 
    > Traceback (most recent call last):
    >   File "/usr/local/lib/python3.5/dist-packages/cherrypy/_cprequest.py", line 628, in respond
    >     self._do_respond(path_info)
    >   File "/usr/local/lib/python3.5/dist-packages/cherrypy/_cprequest.py", line 687, in _do_respond
    >     response.body = self.handler()
    >   File "/usr/local/lib/python3.5/dist-packages/cherrypy/lib/encoding.py", line 219, in __call__
    >     self.body = self.oldhandler(*args, **kwargs)
    >   File "/usr/local/lib/python3.5/dist-packages/cherrypy/_cpdispatch.py", line 54, in __call__
    >     return self.callable(*self.args, **self.kwargs)
    >   File "/usr/local/smarthome/plugins/indego/__init__.py", line 810, in index
    >     tmpl = self.tplenv.get_template('index.html')
    >   File "/usr/local/lib/python3.5/dist-packages/jinja2/environment.py", line 830, in get_template
    >     return self._load_template(name, self.make_globals(globals))
    >   File "/usr/local/lib/python3.5/dist-packages/jinja2/environment.py", line 804, in _load_template
    >     template = self.loader.load(self, name, globals)
    >   File "/usr/local/lib/python3.5/dist-packages/jinja2/loaders.py", line 113, in load
    >     source, filename, uptodate = self.get_source(environment, name)
    >   File "/usr/local/lib/python3.5/dist-packages/jinja2/loaders.py", line 187, in get_source
    >     raise TemplateNotFound(template)
    > jinja2.exceptions.TemplateNotFound: index.html
    2019-05-31  17:07:07 WARNING  plugins.indego      Problem fetching https://api.indego.iot.bosch-si.com/api/v1/alms/706603751/predictive/nextcutting?last=YYYY-MM-DDTHH:MM:SS%2BHH:MM: 204 
    2019-05-31  17:07:07 ERROR    plugins.indego      Error getting next smartmow time

    Einen Kommentar schreiben:


  • Haiphong
    antwortet
    Ah, O.K.
    Zeile 265 bis 268 geändert

    wird getestet....

    Danke

    Einen Kommentar schreiben:


  • bmx
    antwortet
    zwischen indego und weather muß ein Punkt sein. Der ist auch bei den Items da, allerdings nicht beim logger. Daher habe ich Dir den Code gepostet. Du kannst aber auch aus dem develop den neuen Code laden, da habe ich ihn vorhin gepusht

    Einen Kommentar schreiben:


  • Haiphong
    antwortet
    Hallo Bernd,

    "indego" ist in der conf die oberste Ebene
    ( das ist doch dann "parrent". Oder ?? )

    Die conf ist auch nach Vorlage ...
    Bin Amateur, daher würde ich wohl besser auf Marco warten.

    Vermutlich muß "indego" und "weather" auch ein zusammenhängendes Item sein
    Code:
    2019-05-31  15:00:00 WARNING  plugins.indego      Could not set item 'indegoweather.int_0.tt' to '15.4'
    Code:
    %YAML 1.1
    ---
    
    indego:
    
        online:
            type: bool
    
        stateCode:
            type: num
    
    ....................
    
        weather:
    
            int_0:
    
                wwsymbol_mg2008:
                    type: num
                    cache: 'on'

    Einen Kommentar schreiben:

Lädt...
X