_websocket hat nichts mit webservice zu tun ?
Ankündigung
Einklappen
Keine Ankündigung bisher.
Support Thread für das Webservices Plugin
Einklappen
X
-
Moin,
ich bin auf ein "Problem" gestoßen, bei dem ich noch nicht ganz sicher bin, wie ich das abstellen kann.
Ich nutze das ws-Plugin mit 'mode': 'all' und greife über URLs auf zwei Items zu.
Das erzeugt mir auf der Konsole regelmäßig (bei jedem Zugriff) folgende Meldungen im Log:
Code:192.168.2.231 - - [12/Dec/2020:18:07:55] "GET /ws/items/d.stat.knx.last_data HTTP/1.1" 404 3872 "" "Python-urllib/3.7" 192.168.2.231 - - [12/Dec/2020:18:07:55] "GET /ws/items/d.stat.knx.activity HTTP/1.1" 404 3871 "" "Python-urllib/3.7"
Habt ihr damit schonmal zu tun gehabt, oder eine Idee, wie man das abstellen kann?
Kommentar
-
Hallo,
nach einem update von 1.6 auf 1.8.2 habe ich folgendes Problem mit dem webservice plugin.
Ich habe fast immer verschiedene webservice_set definiert wie z.B. global & knxweb oder wetter & knxweb damit jeweils nur die benötigten daten geliefert werden.
item-yaml
PHP-Code:
Global:
...
FensterStatus:
name: FensterStatus
type: bool
webservices_set:
- global
- knxweb
webservices_data: full
....
Analog dazu hätte ich erwartet das unter 1.8.2 http://192.168.178.32:8384/ws/itemset/['knxweb']/ das gleiche liefert.
Statt dessen funktioniert nur die Kombinaton http://192.168.178.32:8384/ws/itemset/['global',%20'knxweb']/ oder es darf nur ein webservice_set definert sein global oder knxweb.
Auf der Plugin Webseite wird auch "nur" ein link zur kombinierten Liste geliefert Item-Set: ['global', 'knxweb']. Ich hätte ein Link für Global und einen für KNX erwartet ;-).
Ist das ein Bug oder gewollt so gebaut?
PlugIn Webseite:
Plugin : webservices v1.6.2
Plugin : Aktiv
Modus Alle Items Tipp: Durch Anhängen des Parameters "?mode=val|full" kann erzwungen werden, dass das Item / Itemset mit vollen oder einfachen Daten zurückgeliefert wird. Ansonsten greift die Konfiguration im Item via webservices_data.
Die folgenden Items und Sets können über die REST und die Simple WebService API gelesen und (bei str, num und bool Items) verändert werden:
Item-Set: ['global', 'knxweb'] Item-Set: ['global', 'knxweb'] Global.Anwesenheit Global.Anwesenheit bool Global.day Global.day bool Global.FensterStatus Global.FensterStatus bool
Kommentar
-
Hallo,
nach meinem Update letztes Jahr von 1.6 auf die 1.8.2 musste ich den WebService
von "http://192.168.178.32:8384/ws/itemset/knxweb/" auf "http://192.168.178.32:8384/ws/items/" umstellen.
PHP-Code:Debian 10 Buster
Python 3.7.3 final
SmartHomeNG Version: 1.8.2.master
SmartHomeNG Plugins Version:1.8.2.master
...
cherrypy 8.1.2 18.3.0
...
Im Log finde ich dann folgenden Error.
PHP-Code:2022-06-23 22:18:09 ERROR cherrypy.error.140075533087464 [23/Jun/2022:22:18:09] HTTP
> Traceback (most recent call last):
> File "/usr/local/lib/python3.7/dist-packages/cherrypy/_cprequest.py", line 638, in respond
> self._do_respond(path_info)
> File "/usr/local/lib/python3.7/dist-packages/cherrypy/_cprequest.py", line 702, in _do_respond
> response.finalize()
> File "/usr/local/lib/python3.7/dist-packages/cherrypy/_cprequest.py", line 898, in finalize
> content = self.collapse_body()
> File "/usr/local/lib/python3.7/dist-packages/cherrypy/_cprequest.py", line 856, in collapse_body
> new_body = b''.join(self.body)
> File "/usr/local/lib/python3.7/dist-packages/cherrypy/_json.py", line 24, in encode
> for chunk in _encode(value):
> File "/usr/lib/python3.7/json/encoder.py", line 431, in _iterencode
> yield from _iterencode_dict(o, _current_indent_level)
> File "/usr/lib/python3.7/json/encoder.py", line 405, in _iterencode_dict
> yield from chunks
> File "/usr/lib/python3.7/json/encoder.py", line 405, in _iterencode_dict
> yield from chunks
> File "/usr/lib/python3.7/json/encoder.py", line 376, in _iterencode_dict
> raise TypeError(f'keys must be str, int, float, bool or None, '
> TypeError: keys must be str, int, float, bool or None, not date
Hat jemand einen Tipp wie ich mehr Informationen von cherrypy herausbekommen kann?
Kommentar
Kommentar