Guten Morgen,
Wenn ich in meinem Modul ein GetFn auslöse und die Daten per HttpUtils_NonblockingGet hole schicke ich die verarbeitete Antwort zum Anzeigen im Browser an die asyncOutput Funktion
asyncOutput( $param->{cl}, $ret )
Der Inhalt von $ret sieht so aus
<html><table><tr><td><table class="block wide"><tr class="even"><td><b>City</b></td><td><b>Last Update Time</b></td><td><b>Latitude</b></td><td><b>Longitude</b></td><td></td></tr><tr class="odd"><td>Beijing</td><td>2017-10-20 12:00:00</td><td>39.954592</td><td>116.468117</td><td><a target="_blank" href="https://www.google.de/maps/search/39.954592+116.468117">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Beijing+Aqicn+1451&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="even"><td>Beijing US Embassy, Beijing</td><td>2017-10-20 12:00:00</td><td>39.954592</td><td>116.468117</td><td><a target="_blank" href="https://www.google.de/maps/search/39.954592+116.468117">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Beijing_US_Embassy__Beijing+Aqicn+3303&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="odd"><td>Beijing South , Huai'an</td><td>2017-10-20 12:00:00</td><td>33.578039</td><td>119.007906</td><td><a target="_blank" href="https://www.google.de/maps/search/33.578039+119.007906">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Beijing_South___Huai_an+Aqicn+885&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="even"><td>Haidian Beijing Botanical Garden, Beijing</td><td>2017-10-20 12:00:00</td><td>40.002</td><td>116.207</td><td><a target="_blank" href="https://www.google.de/maps/search/40.002+116.207">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Haidian_Beijing_Botanical_Garden__Beijing+Aqicn+454&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="odd"><td>Pinggu town, Beijing</td><td>2017-10-20 12:00:00</td><td>40.143</td><td>117.1</td><td><a target="_blank" href="https://www.google.de/maps/search/40.143+117.1">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Pinggu_town__Beijing+Aqicn+465&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="even"><td>Huairou town, Beijing</td><td>2017-10-20 12:00:00</td><td>40.328</td><td>116.628</td><td><a target="_blank" href="https://www.google.de/maps/search/40.328+116.628">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Huairou_town__Beijing+Aqicn+466&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="odd"><td>Yanqing town, Beijing</td><td>2017-10-20 12:00:00</td><td>40.453</td><td>115.972</td><td><a target="_blank" href="https://www.google.de/maps/search/40.453+115.972">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Yanqing_town__Beijing+Aqicn+468&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="even"><td>Xizhimen N St, Beijing</td><td>2017-10-20 11:00:00</td><td>39.954</td><td>116.349</td><td><a target="_blank" href="https://www.google.de/maps/search/39.954+116.349">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Xizhimen_N_St__Beijing+Aqicn+478&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="odd"><td>Haidian Wanliu, Beijing</td><td>2017-10-20 12:00:00</td><td>39.987</td><td>116.287</td><td><a target="_blank" href="https://www.google.de/maps/search/39.987+116.287">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Haidian_Wanliu__Beijing+Aqicn+452&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="even"><td>Changping Town, Beijing</td><td>2017-10-20 12:00:00</td><td>40.217</td><td>116.23</td><td><a target="_blank" href="https://www.google.de/maps/search/40.217+116.23">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Changping_Town__Beijing+Aqicn+463&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="odd"><td>Fengtai garden, Beijing</td><td>2017-10-20 12:00:00</td><td>39.863</td><td>116.279</td><td><a target="_blank" href="https://www.google.de/maps/search/39.863+116.279">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Fengtai_garden__Beijing+Aqicn+455&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="even"><td>Wanshou Temple, Beijing</td><td>2017-10-20 12:00:00</td><td>39.878</td><td>116.352</td><td><a target="_blank" href="https://www.google.de/maps/search/39.878+116.352">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Wanshou_Temple__Beijing+Aqicn+449&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="odd"><td>Miyun Reservoir, Beijing</td><td>2017-10-20 12:00:00</td><td>40.499</td><td>116.911</td><td><a target="_blank" href="https://www.google.de/maps/search/40.499+116.911">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Miyun_Reservoir__Beijing+Aqicn+471&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="even"><td>Fengtai Yungang, Beijing</td><td>2017-10-20 12:00:00</td><td>39.824</td><td>116.146</td><td><a target="_blank" href="https://www.google.de/maps/search/39.824+116.146">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Fengtai_Yungang__Beijing+Aqicn+456&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="odd"><td>South Ring Road, Beijing</td><td>2017-10-20 12:00:00</td><td>39.856</td><td>116.368</td><td><a target="_blank" href="https://www.google.de/maps/search/39.856+116.368">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+South_Ring_Road__Beijing+Aqicn+479&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="even"><td>Dongcheng Dongsi, Beijing</td><td>2017-10-20 12:00:00</td><td>39.929</td><td>116.417</td><td><a target="_blank" href="https://www.google.de/maps/search/39.929+116.417">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Dongcheng_Dongsi__Beijing+Aqicn+446&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="odd"><td>Shijingshan city, Beijing</td><td>2017-10-20 12:00:00</td><td>39.914</td><td>116.184</td><td><a target="_blank" href="https://www.google.de/maps/search/39.914+116.184">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Shijingshan_city__Beijing+Aqicn+457&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="even"><td>Shunyi New Town , Beijing</td><td>2017-10-20 12:00:00</td><td>40.127</td><td>116.655</td><td><a target="_blank" href="https://www.google.de/maps/search/40.127+116.655">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Shunyi_New_Town___Beijing+Aqicn+462&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="odd"><td>Yufazhen, Daxing, Beijing</td><td>2017-10-20 12:00:00</td><td>39.52</td><td>116.3</td><td><a target="_blank" href="https://www.google.de/maps/search/39.52+116.3">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Yufazhen__Daxing__Beijing+Aqicn+474&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="even"><td>The town of Miyun, Beijing</td><td>2017-10-20 12:00:00</td><td>40.37</td><td>116.832</td><td><a target="_blank" href="https://www.google.de/maps/search/40.37+116.832">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+The_town_of_Miyun__Beijing+Aqicn+467&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr></table></td></tr></table></html>
In einem Browser als html Seite angezeigt klappt das super. FHEMWEB meldet aber
fhem?detail=aqicnWebBridge line 1:
Uncaught SyntaxError: missing ) after argument list
statt der erwarteten Antwortseite im Popup Fenster.
Grüße
Bin da mal ein Schritt weiter. Es liegt an den Stationsnamen.
Hier mal ein JSON
{"status":"ok","data":[{"uid":1539,"aqi":"76","time":{"tz":"+0800","stime":"2017-10-20 12:00:00","vtime":1508472000},"station":{"name":"Shenzhen","geo":[22.543099,114.057868],"url":"shenzhen"}},{"uid":927,"aqi":"76","time":{"tz":"+0800","stime":"2017-10-20 12:00:00","vtime":1508472000},"station":{"name":"OCT, Shenzhen","geo":[22.542454,113.987495],"url":"shenzhen/huaqiaocheng"}},{"uid":915,"aqi":"","time":{"tz":"","stime":"","vtime":0},"station":{"name":"Xiapi, Shenzhen","geo":[0,0],"url":""}},{"uid":920,"aqi":"61","time":{"tz":"+0800","stime":"2017-10-20 12:00:00","vtime":1508472000},"station":{"name":"Nanyou, Shenzhen","geo":[22.516847,113.923192],"url":"shenzhen/nanyou"}},{"uid":928,"aqi":"57","time":{"tz":"+0800","stime":"2017-10-20 12:00:00","vtime":1508472000},"station":{"name":"Honghu, Shenzhen","geo":[22.562334,114.116872],"url":"shenzhen/honghu"}},{"uid":925,"aqi":"59","time":{"tz":"+0800","stime":"2017-10-20 12:00:00","vtime":1508472000},"station":{"name":"Liyuan, Shenzhen","geo":[22.5500005,114.0960791],"url":"shenzhen/liyuan"}},{"uid":932,"aqi":"","time":{"tz":"","stime":"","vtime":0},"station":{"name":"Fuyong, Shenzhen","geo":[0,0],"url":""}},{"uid":914,"aqi":"22","time":{"tz":"+0800","stime":"2017-10-20 11:00:00","vtime":1508468400},"station":{"name":"Yantian, Shenzhen","geo":[22.590807,114.262078],"url":"shenzhen/yantian"}},{"uid":923,"aqi":"","time":{"tz":"","stime":"","vtime":0},"station":{"name":"Longhua, Shenzhen","geo":[0,0],"url":""}},{"uid":929,"aqi":"","time":{"tz":"","stime":"","vtime":0},"station":{"name":"Henggang, Shenzhen","geo":[0,0],"url":""}},{"uid":924,"aqi":"55","time":{"tz":"+0800","stime":"2017-10-20 12:00:00","vtime":1508472000},"station":{"name":"Xi xiang, Shenzhen","geo":[22.720358,114.247468],"url":"shenzhen/longgang"}},{"uid":930,"aqi":"","time":{"tz":"","stime":"","vtime":0},"station":{"name":"Guangming, Shenzhen","geo":[0,0],"url":""}},{"uid":926,"aqi":"59","time":{"tz":"+0800","stime":"2017-10-20 12:00:00","vtime":1508472000},"station":{"name":"Kwai Chung, Shenzhen","geo":[22.630626,114.423948],"url":"shenzhen/kuiyong"}},{"uid":921,"aqi":"22","time":{"tz":"+0800","stime":"2017-10-20 11:00:00","vtime":1508468400},"station":{"name":"Nan'aozhen, Shenzhen","geo":[22.528186,114.496906],"url":"shenzhen/nanao"}}]}
Ich habe beim Zusammenbau der HTML Seite für die Ausgabe im Get Popup jetzt mal die Stationsnamen raus genommen und es geht. Jetzt muß ich mal schauen welche Namen er nicht mag.
$ret .= "<td>".encode_utf8($dataset->{station}{name})."</td>";
Grüße
Also ich kann da beim besten Willen kein Problem Character erkennen
JSON
{"status":"ok","data":[{"uid":1539,"aqi":"76","time":{"tz":"+0800","stime":"2017-10-20 12:00:00","vtime":1508472000},"station":{"name":"Shenzhen","geo":[22.543099,114.057868],"url":"shenzhen"}},{"uid":927,"aqi":"76","time":{"tz":"+0800","stime":"2017-10-20 12:00:00","vtime":1508472000},"station":{"name":"OCT, Shenzhen","geo":[22.542454,113.987495],"url":"shenzhen/huaqiaocheng"}},{"uid":915,"aqi":"","time":{"tz":"","stime":"","vtime":0},"station":{"name":"Xiapi, Shenzhen","geo":[0,0],"url":""}},{"uid":925,"aqi":"59","time":{"tz":"+0800","stime":"2017-10-20 12:00:00","vtime":1508472000},"station":{"name":"Liyuan, Shenzhen","geo":[22.5500005,114.0960791],"url":"shenzhen/liyuan"}},{"uid":928,"aqi":"57","time":{"tz":"+0800","stime":"2017-10-20 12:00:00","vtime":1508472000},"station":{"name":"Honghu, Shenzhen","geo":[22.562334,114.116872],"url":"shenzhen/honghu"}},{"uid":920,"aqi":"61","time":{"tz":"+0800","stime":"2017-10-20 12:00:00","vtime":1508472000},"station":{"name":"Nanyou, Shenzhen","geo":[22.516847,113.923192],"url":"shenzhen/nanyou"}},{"uid":932,"aqi":"","time":{"tz":"","stime":"","vtime":0},"station":{"name":"Fuyong, Shenzhen","geo":[0,0],"url":""}},{"uid":914,"aqi":"22","time":{"tz":"+0800","stime":"2017-10-20 11:00:00","vtime":1508468400},"station":{"name":"Yantian, Shenzhen","geo":[22.590807,114.262078],"url":"shenzhen/yantian"}},{"uid":923,"aqi":"","time":{"tz":"","stime":"","vtime":0},"station":{"name":"Longhua, Shenzhen","geo":[0,0],"url":""}},{"uid":929,"aqi":"","time":{"tz":"","stime":"","vtime":0},"station":{"name":"Henggang, Shenzhen","geo":[0,0],"url":""}},{"uid":924,"aqi":"55","time":{"tz":"+0800","stime":"2017-10-20 12:00:00","vtime":1508472000},"station":{"name":"Xi xiang, Shenzhen","geo":[22.720358,114.247468],"url":"shenzhen/longgang"}},{"uid":930,"aqi":"","time":{"tz":"","stime":"","vtime":0},"station":{"name":"Guangming, Shenzhen","geo":[0,0],"url":""}},{"uid":926,"aqi":"59","time":{"tz":"+0800","stime":"2017-10-20 12:00:00","vtime":1508472000},"station":{"name":"Kwai Chung, Shenzhen","geo":[22.630626,114.423948],"url":"shenzhen/kuiyong"}},{"uid":921,"aqi":"22","time":{"tz":"+0800","stime":"2017-10-20 11:00:00","vtime":1508468400},"station":{"name":"Nan'aozhen, Shenzhen","geo":[22.528186,114.496906],"url":"shenzhen/nanao"}}]}
Ergibt als HTML und somit $ret
<html><table><tr><td><table class="block wide"><tr class="even"><td><b>City</b></td><td><b>Last Update Time</b></td><td><b>Latitude</b></td><td><b>Longitude</b></td><td></td></tr><tr class="odd"><td>Shenzhen</td><td>2017-10-20 12:00:00</td><td>22.543099</td><td>114.057868</td><td><a target="_blank" href="https://www.google.de/maps/search/22.543099+114.057868">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Shenzhen+Aqicn+1539&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="even"><td>OCT, Shenzhen</td><td>2017-10-20 12:00:00</td><td>22.542454</td><td>113.987495</td><td><a target="_blank" href="https://www.google.de/maps/search/22.542454+113.987495">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+OCT__Shenzhen+Aqicn+927&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="odd"><td>Xiapi, Shenzhen</td><td></td><td>0</td><td>0</td><td><a target="_blank" href="https://www.google.de/maps/search/0+0">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Xiapi__Shenzhen+Aqicn+915&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="even"><td>Nanyou, Shenzhen</td><td>2017-10-20 12:00:00</td><td>22.516847</td><td>113.923192</td><td><a target="_blank" href="https://www.google.de/maps/search/22.516847+113.923192">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Nanyou__Shenzhen+Aqicn+920&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="odd"><td>Liyuan, Shenzhen</td><td>2017-10-20 12:00:00</td><td>22.5500005</td><td>114.0960791</td><td><a target="_blank" href="https://www.google.de/maps/search/22.5500005+114.0960791">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Liyuan__Shenzhen+Aqicn+925&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="even"><td>Honghu, Shenzhen</td><td>2017-10-20 12:00:00</td><td>22.562334</td><td>114.116872</td><td><a target="_blank" href="https://www.google.de/maps/search/22.562334+114.116872">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Honghu__Shenzhen+Aqicn+928&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="odd"><td>Fuyong, Shenzhen</td><td></td><td>0</td><td>0</td><td><a target="_blank" href="https://www.google.de/maps/search/0+0">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Fuyong__Shenzhen+Aqicn+932&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="even"><td>Yantian, Shenzhen</td><td>2017-10-20 11:00:00</td><td>22.590807</td><td>114.262078</td><td><a target="_blank" href="https://www.google.de/maps/search/22.590807+114.262078">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Yantian__Shenzhen+Aqicn+914&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="odd"><td>Longhua, Shenzhen</td><td></td><td>0</td><td>0</td><td><a target="_blank" href="https://www.google.de/maps/search/0+0">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Longhua__Shenzhen+Aqicn+923&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="even"><td>Henggang, Shenzhen</td><td></td><td>0</td><td>0</td><td><a target="_blank" href="https://www.google.de/maps/search/0+0">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Henggang__Shenzhen+Aqicn+929&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="odd"><td>Xi xiang, Shenzhen</td><td>2017-10-20 12:00:00</td><td>22.720358</td><td>114.247468</td><td><a target="_blank" href="https://www.google.de/maps/search/22.720358+114.247468">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Xi_xiang__Shenzhen+Aqicn+924&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="even"><td>Guangming, Shenzhen</td><td></td><td>0</td><td>0</td><td><a target="_blank" href="https://www.google.de/maps/search/0+0">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Guangming__Shenzhen+Aqicn+930&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="odd"><td>Kwai Chung, Shenzhen</td><td>2017-10-20 12:00:00</td><td>22.630626</td><td>114.423948</td><td><a target="_blank" href="https://www.google.de/maps/search/22.630626+114.423948">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Kwai_Chung__Shenzhen+Aqicn+926&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr><tr class="even"><td>Nan'aozhen, Shenzhen</td><td>2017-10-20 11:00:00</td><td>22.528186</td><td>114.496906</td><td><a target="_blank" href="https://www.google.de/maps/search/22.528186+114.496906">Station on Google Maps</a></td><td><a href="http://192.168.1.128:8083/fhem?cmd=define+Nan_aozhen__Shenzhen+Aqicn+921&fwcsrf=csrf_264147850923508">Create Station Device</a></td></tr></table></td></tr></table></html>
Lass ich die Stationsnamen für den $ret weg klappt es.
Dank eines Users wurde der Fehler gefunden
<td>Nan'aozhen, Shenzhen</td>
Er stört sich an den Hochkommata. Frage wäre nun ist das ein FHEMWEB Bug oder muß ich das schon bei mir abfangen?
Grüße