Logitech Harmony Hub

Begonnen von der-Lolo, 07 August 2013, 14:17:16

Vorheriges Thema - Nächstes Thema

justme1968

#255
ich fürchte ganz so einfach ist es nicht.

es kommt utf8 an und fhem verwendet utf8. da sollte nichts zu konvertieren sein. die zwei zeichen auf deinem screenshot deuten auch auf utf8 hin. kannst du mal bitte in deinem browser das seiten encoding explizit auf utf8 stellen. wie sieht es dann aus?

ps: ö ist ein utf8 ö mit latin1 encoding dargestellt. safari hat übrigens probleme wenn man die textcodierung von einer konkreten Einstellung (utf8/latin1) zurück auf default stellt. da hilft fenster schliessen und neu öffnen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

mein Browser (Chrome) steht explizit auf UTF8
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Wenn ich in Deinem readingsSingleUpdate ein utf8ToLatin1() für den Readingwert einbaue, stimmt die Anzeige.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

dann stimmt hier noch etwas anderes nicht.

fhemweb stellt das seiten encoding auf utf8 und liefert strings 1:1 aus. der string im reading und auf der seite ist utf8. per telnet und mit safari wird es korrekt angezeigt wenn beide jeweils auf utf8 stehen und falsch wenn beide auf latin1 stehen.

gerade noch mal mit chrome getestet: wenn ich auf utf8 stelle ist alles ok. wenn ich auf latin1 stelle sieht es so aus wie bei dir.

ö ist ein zwei byte utf8 ö das fälschlicher weise als latin1 angezeigt wird. deshalb auch zwei zeichen.

das es bei dir hilft utf8ToLatin1() aufzurufen deutet auch darauf hin das dein chrome die seite als latin1 darstellt und nicht als utf8. ein utf8ToLatin1() kann niemals eine korrekte utf8 seite liefern wenn nicht noch mal etwas konvertiert wird. und das tut fhemweb nicht.

die frage ist jetzt also wo genau und was schief geht. was spuckt locale bei dir aus?

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen


LANG="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_CTYPE="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_ALL=
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

hmmm. sehr seltsam.

was macht dein chrome wenn du ihn auf latin1 stellst? und wieder zurück auf utf8?

ich habe gerade keine idee woran es liegt.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

Nix.

Gegenfrage: Was passiert denn, wenn Du bei Dir die Konvertierung einbaust und dann die Seite im Browser aufrufst?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

dann ist es falsch wenn der browser auf utf8 steht (es ist ja dann ein 'falsches' zeichen mit gesetztem high bit das keinem unicode code point entspricht bzw. das zeichen ist im normalen font nicht vorhanden) und korrekt dargestellt wenn ich auf latin1 stellen. sowohl in safari wie in chrome und ebenfalls per telnet. auf dem screenshot ist nur currentActivity durch utf8ToLatin1 geschickt.

kannst du mal bitte safari und telnet probieren? jeweils auf utf8 gestellt. bei telnet das fhem encoding und das terminal programm.

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

Meinem Chrome ist es völlig wurscht, auf welche Codierung ich ihn einstelle. Wenn die utf8ToLatin1() aufgerufen wurde, stimmt die Anzeige immer, selbst bei "Automatisch".

getestet mit: UTF8 ISO-8859-1 ISO-8859-2 ISO-8859-15 WINDOWS-1250 WINDOWS-1252

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

so sollte das explizite einstellen des encodings nicht funktionieren. zumindest zwischen 1 und 2 byte kodierung muss ein unterschied zu sehen sein. spätestens beim neu laden oder neu öffnen der seite. zeichen >0x7f sind definitiv unterschiedlich zwischen 1 und 2 byte encoding.

und 'mein' chrome (mac os 10.10) ändert die seite beim umschalten auch. konsistent mit safari, firefox und telnet.

was macht denn dein browser mit dem abschnitt hier: http://de.wikipedia.org/wiki/UTF-8#Nicht_im_Unicodeblock_Basis-Lateinisch_enthaltene_Zeichen. die beiden beispiele entsprechen auch jeweils der darstelung bei mir wenn das encding nicht passt und das erste stimmt mit deiner falsch darstellung überein.

auch diese beiden seiten: http://www.slovo.info/testuni.htm und http://www.columbia.edu/~kermit/utf8.html zeigen das dein browser aus irgendeinem grund ein ausreißer ist der sich anders (und ich würde sagen falsch) verhält. ich verstehe aber nicht warum.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

#265
Meine Zeichensatzcodierung im Browser funktioniert auf zigtausenden von Webseiten, nur die Activities in Deinen Readings stimmen nicht. Schon klar, dass das dann an MEINEM Browser liegen muss ...  8)

Zur slovo.info Seite - da sehe ich das hier:

(http://up.picr.de/20023680ff.jpg)

für mich sieht das 100% korrekt aus.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

#266
ich habe mit keinem wort gesagt das es an deinem browser liegt. ich beschäftige mich schon zu lange mit encoding problemen als das es immer so einfach wäre.

aber der umkehrschluss stimmt eben aus genau dem gleichen grund nicht. 'meine' readings werden in allen meinen browsern und per telnet korrekt dargestellt.

ich versuche nur das problem einzugrenzen und vermute das es weder an den readings noch am browser liegt.

die slovo seite hat ganz genau das gleiche 2byte encoding wie meine readings. und werden genau mit dem gleichen symptom falsch dargestellt wie bei dir wenn ich das encoding auf latin1 stelle. was passiert wenn du auf der slovo seite das encoding umschaltest? bei den german characters solltest du dann genau den fehler sehen.

kannst du bitte mal wie oben vorgeschlagen telnet und safari testen.

die oben verlinkte wiki Seite beschreibt genau die symptome die ich sehe wenn ich die von dir vorschlagene änderung einbaue. dann es ist mit jedem browser und per telnet falsch.

wie sieht es eigentlich im drop down menü für den parameter des activity commandos aus?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

betateilchen

Safari:

(http://up.picr.de/20023952tu.png)

(in currentActivity ist die utf8ToLatin1() aktiv)

Aber Safari und fhem sind ohnehin zwei Welten, zwischen denen permanent Krieg herrscht.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

#268
ich habe noch weiter probiert und kann ie falsche darstellung die du bei dir siehst nur dann reproduzieren wenn ich absichtlich auf fhem oder browser seite das encoding falsch einstelle. wenn alles auf utf8 ist ist die darstellung in allen meinen browsern und per telnet korrekt.

das einzige das mir beim suchen aufgefallen ist das fhemweb das charset nur im html body angibt und nicht im head. das könnte der grund sein warum das automatisch erkennen beim hin und her schalten in safari nicht klappt. erklärt aber eigentlich nicht warum dein chrome sich anders verhält als meiner.

kannst du mir bitte mal ein wget/curl der device detail seite mit dem kaputten reading und des headers anhängen?

so lange ich das ganze nicht reproduzieren kann kann ich es nicht beheben. vielleicht magst du mal versuchen in 01_FHEMWEB.pm nach zeile 634 ein FW_pO '<meta charset="'. $FW_encoding .'"/>'; einzubauen und schauen ob es etwas ändert.

ansosnten:
hat sonst noch jemand umlaute in device oder activity namen und probleme diese anzuzeigen?

hat sonst noch jemand umlaute in device oder activity namen und kann sich ohne probleme in fhem anzeigen?

edit: ich habe den meta tag mal bei mir eingebaut und etwas getestet. das mit funktioniert jetzt das automatische erkennen des standard encodings in safari und firefox ist auch etwas zuverlässiger. chrome verhält sich beim hin und her schalten auch 'besser'. ob es auch bei dir hilft weiss ich nicht da ich die ursache immer noch nicht verstehe.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

scooty

Hallo André,

sorry, dass ich hier so reingrätsche, aber meine Umlaute (Chrome) werden korrekt dargestellt. :-)

Erst einmal auch von mir noch ein dickes Danke für das Modul!
Die fhem-Einbindung der über den Hub gesteuerten Geräte eröffnet ungeahnte Möglichkeiten.
:)

Eine Sache hätte ich noch (oder ist es ein Verständnisproblem meinerseits?) bezüglich "autocreate":

Ein
get WZOG_LOGIHUB devices
liefert u.a. die Infos zu meinem Fernseher:
17177520 Panasonic-Fernseher Television          Panasonic      TH-42PX64

Ein
set WZOG_LOGIHUB autocreate Panasonic-Fernseher
oder
set WZOG_LOGIHUB autocreate 17177520

sollte nach meinem Verständnis der CommandRef ein fhem-Device anlegen, oder?
Die Benamsung des Devices ist mir zwar nicht bekannt, aber weder unter "Everything" noch in der fhem.cfg (auch nach einem Speichern der aktuellen fhem Konfiguration) tauchen neue fhem-Devices auf...?

Die Version des harmony-Moduls ist
# $Id: 37_harmony.pm 6875 2014-11-03 18:21:30Z justme1968 $

Und hier das fhem-log mit verbose 5 für den abgesetzten Befehl
set WZOG_LOGIHUB autocreate Panasonic-Fernseher

2014.11.04 12:28:41 5: Triggering global (1 changes)
2014.11.04 12:28:41 5: Notify loop for global ATTR global verbose 5
2014.11.04 12:28:41 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64091 GET /fhem
2014.11.04 12:28:41 4: /fhem / RL:1365 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2014.11.04 12:28:41 4: Connection closed for FHEMWEB:2001:4dd0:ff00:175e::2:63976
2014.11.04 12:28:41 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64091 GET /fhem/pgm2/style.css
2014.11.04 12:28:41 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64091 GET /fhem/pgm2/jquery.min.js
2014.11.04 12:28:41 4: Connection accepted from FHEMWEB:2001:4dd0:ff00:175e::2:64096
2014.11.04 12:28:41 4: Connection accepted from FHEMWEB:2001:4dd0:ff00:175e::2:64095
2014.11.04 12:28:41 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64096 GET /fhem/pgm2/defaultCommon.css
2014.11.04 12:28:42 4: Connection accepted from FHEMWEB:2001:4dd0:ff00:175e::2:64097
2014.11.04 12:28:42 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64095 GET /fhem/pgm2/jquery-ui.min.js
2014.11.04 12:28:42 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64097 GET /fhem/pgm2/dashboard.js
2014.11.04 12:28:42 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64091 GET /fhem/pgm2/svg.js
2014.11.04 12:28:42 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64096 GET /fhem/pgm2/fhemweb.js
2014.11.04 12:28:42 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64095 GET /fhem/pgm2/dashboard_style.css
2014.11.04 12:28:42 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64097 GET /fhem/pgm2/fhemweb_colorpicker.js
2014.11.04 12:28:42 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64091 GET /fhem/pgm2/fhemweb_multiple.js
2014.11.04 12:28:42 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64096 GET /fhem/pgm2/fhemweb_noArg.js
2014.11.04 12:28:42 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64095 GET /fhem/pgm2/fhemweb_readingsHistory.js
2014.11.04 12:28:42 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64097 GET /fhem/pgm2/fhemweb_slider.js
2014.11.04 12:28:42 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64091 GET /fhem/pgm2/fhemweb_svg.js
2014.11.04 12:28:42 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64096 GET /fhem/pgm2/fhemweb_textField.js
2014.11.04 12:28:42 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64095 GET /fhem/pgm2/fhemweb_time.js
2014.11.04 12:28:42 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64097 GET /fhem/codemirror/fhem_codemirror.js
2014.11.04 12:28:42 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64097 GET /fhem/images/default/fhemicon.png
2014.11.04 12:28:43 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64097 GET /fhem?XHR=1&inform=type=status;filter=×tamp=1415100526534
2014.11.04 12:28:45 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64095 GET /fhem&detail=WZOG_LOGIHUB&detail=WZOG_LOGIHUB&dev.setWZOG_LOGIHUB=WZOG_LOGIHUB&cmd.setWZOG_LOGIHUB=set&arg.setWZOG_LOGIHUB=autocreate&val.setWZOG_LOGIHUB=Panasonic-Fernseher
2014.11.04 12:28:45 5: Cmd: >set WZOG_LOGIHUB autocreate Panasonic-Fernseher<
2014.11.04 12:28:45 5: Triggering WZOG_LOGIHUB (1 changes)
2014.11.04 12:28:45 5: Notify loop for WZOG_LOGIHUB autocreate Panasonic-Fernseher
2014.11.04 12:28:45 4: eventTypes: harmony WZOG_LOGIHUB autocreate Panasonic-Fernseher -> autocreate Panasonic-Fernseher
2014.11.04 12:28:45 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64095 GET /fhem?detail=WZOG_LOGIHUB
2014.11.04 12:28:45 4: /fhem?detail=WZOG_LOGIHUB / RL:3531 / text/html; charset=UTF-8 / Content-Encoding: gzip
/
2014.11.04 12:28:46 4: Connection closed for FHEMWEB:2001:4dd0:ff00:175e::2:64046
2014.11.04 12:28:46 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64095 GET /fhem/pgm2/style.css
2014.11.04 12:28:46 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64096 GET /fhem/pgm2/jquery.min.js
2014.11.04 12:28:46 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64091 GET /fhem/pgm2/jquery-ui.min.js
2014.11.04 12:28:46 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64095 GET /fhem/pgm2/dashboard.js
2014.11.04 12:28:46 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64096 GET /fhem/pgm2/svg.js
2014.11.04 12:28:46 4: Connection accepted from FHEMWEB:2001:4dd0:ff00:175e::2:64099
2014.11.04 12:28:46 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64099 GET /fhem/pgm2/defaultCommon.css
2014.11.04 12:28:46 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64091 GET /fhem/pgm2/fhemweb.js
2014.11.04 12:28:46 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64095 GET /fhem/pgm2/fhemweb_colorpicker.js
2014.11.04 12:28:46 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64096 GET /fhem/pgm2/fhemweb_multiple.js
2014.11.04 12:28:46 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64099 GET /fhem/pgm2/fhemweb_noArg.js
2014.11.04 12:28:46 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64091 GET /fhem/pgm2/dashboard_style.css
2014.11.04 12:28:46 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64095 GET /fhem/pgm2/fhemweb_readingsHistory.js
2014.11.04 12:28:46 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64096 GET /fhem/pgm2/fhemweb_slider.js
2014.11.04 12:28:46 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64099 GET /fhem/pgm2/fhemweb_svg.js
2014.11.04 12:28:46 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64095 GET /fhem/pgm2/fhemweb_time.js
2014.11.04 12:28:46 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64091 GET /fhem/pgm2/fhemweb_textField.js
2014.11.04 12:28:46 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64096 GET /fhem/codemirror/fhem_codemirror.js
2014.11.04 12:28:47 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64096 GET /fhem?cmd={ReadingsVal(%22WZOG_LOGIHUB%22,%22activity%22,%22%22)}&XHR=1
2014.11.04 12:28:47 5: Cmd: >{ReadingsVal("WZOG_LOGIHUB","activity","")}<
2014.11.04 12:28:47 4: /fhem?cmd={ReadingsVal(%22WZOG_LOGIHUB%22,%22activity%22,%22%22)}&XHR=1 / RL:29 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2014.11.04 12:28:47 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64095 GET /fhem/images/default/fhemicon.png
2014.11.04 12:28:47 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64091 GET /fhem?cmd={AttrVal(%22WZOG_LOGIHUB%22,%22room%22,%22%22)}&XHR=1
2014.11.04 12:28:47 5: Cmd: >{AttrVal("WZOG_LOGIHUB","room","")}<
2014.11.04 12:28:47 4: /fhem?cmd={AttrVal(%22WZOG_LOGIHUB%22,%22room%22,%22%22)}&XHR=1 / RL:25 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/
2014.11.04 12:28:48 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64091 GET /fhem?XHR=1&inform=type=status;filter=WZOG_LOGIHUB×tamp=1415100532087
2014.11.04 12:28:50 4: HTTP FHEMWEB:2001:4dd0:ff00:175e::2:64095 GET /fhem&cmd=attr+global+verbose+3
2014.11.04 12:28:50 5: Cmd: >attr global verbose 3<


Sollten noch weitere Infos benötigt werden, liefere ich sie gerne nach.

Viele Grüße,
Andreas
Fhem auf Gigabyte Brix
CUL V3 HM / CUL V3 MAX / MaxCube aFW Homematic&MAX / ZWave.me ZME_UZB1 / SDuino 433 / Velux KLF200
Homematic / MAX / Logitech Hub / ZWave / Wifi LED / div. 433 Temperatursensoren / pywws WH10880 / IO Homecontrol