Nein, einfach das Item schalten
Ankündigung
Einklappen
Keine Ankündigung bisher.
Indego Connect
Einklappen
X
-
Servus Marco,
das alte Plugin mit SHNG 1.5.1 ist bei mir gelaufen.
Hab mir die aktuelle Version aus dem Dev installiert...
SHNG Version: 1.6 ( aktuell )
smartVisu: 2.9
Die Visu zeigt folgenden Fehler:
indego_visu.jpg
geht's dabei um die
- "widget_basic_large_symbol.html" ( umbenennen in "large_symbol.html" bringt nichts )
.... habe ich in meinem Page Verzeichnis
In der "indego.html" steht:
{% import "large_symbol.html" as large %}
Im Logging stehen einige Meldungen.....
indego_log.jpg
Danke, JG
Zuletzt geändert von Haiphong; 30.05.2019, 23:50.Gruß, JG
Kommentar
-
Die aktuelle Version aus dem develop branch hat den Status develop. Ich habe extra nach Release reingepusht weil Marcov bisher noch kein Go gegeben hat und ich das aber von meinem Zettel mal runterhaben muß. Insofern ist das im develop als Work in Progress anzusehen. Ich habe keinen Indego und daher habe ich auch nicht die Möglichkeiten das zu testen.
Es wäre also sinnvoll, das das jemand zu Laufen bringt, der auch testen kann.
Im Log übrigens steht drin, das da kein Zugriff auf die bosch-si.com erfolgt ist und das bei Dir einige Items nicht angelegt zu sein scheinen...
Kommentar
-
Du kannst mal die Funktion set_children ab Zeile 257 austauschen:
Code:def set_childitem(self, itemname, value ): """ a shortcut function to set an item with a given value if it exists :param itemname: :param value: :return: """ item = self.get_sh().return_item(self.parent_item + '.' + itemname) if item is not None: item(value, 'indego_plugin') else: self.logger.warning("Could not set item '{}.{}' to '{}'".format(self.parent_item, itemname, value))
Kommentar
-
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'
Gruß, JG
Kommentar
-
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
Gruß, JG
Kommentar
-
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.
Kommentar
-
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) }}
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 AndreZuletzt geändert von AndreK; 01.06.2019, 18:03.
Kommentar
-
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
Kommentar
Kommentar