Evaluierungsversion 2.2

Begonnen von setstate, 17 März 2016, 10:40:13

Vorheriges Thema - Nächstes Thema

wildea

Bin mir nicht ganz sicher ob es daran liegt aber ich habe vor 2 Tagen ein update von Fhem gemacht.

wildea

Interessant unter Firefox Pop ständig eine andere Meldung mit einer anderen Zeilennummer auf.


setstate

#437
Zitat von: CoolTux am 09 Juni 2016, 11:12:32
Wenn ich mich Recht erinnere hattest Du das doch Rudi gemeldet gehabt, oder?

Nicht ganz, das war ein Wunsch für das JSON Longpoll Format. Das fand aber keinen Gefallen und ich workarounde mich jetzt um den "verkorksten" Output herum.

Das Escapen ist noch eine andere Baustelle.

ZitatJSON is in Unicode, so all output must be checked for Unicode validity. Further, this module insists on the UTF-8 encoding. (See "Input strings must be UTF-8".) Invalid UTF-8 within input strings produces the error "Invalid UTF-8" and the undefined value is returned. This behaviour can be altered with the method "replace_bad_utf8". (For full details of the corner cases, see "UNICODE HANDLING".)

Some whitespace and control characters must be also escaped for the output to be valid JSON. (See "RFC 7159".)

In addition to this, "create_json_strict" or the "strict" option reject inputs containing non-ASCII bytes (bytes with values of from 128 to 255) which are not marked as character strings.

Control characters and whitespace

To form valid JSON, bytes of value less than 0x20 in a Perl string must be converted into JSON escapes, either the whitespace escapes \b (backspace) \r, \t, \n, and \f, or the form \u0001 for other control characters. Further, the backslash must be written as \\ and double quotes must be written as \".

Quelle: Cpan JSON create https://metacpan.org/pod/JSON::Create#Strings

wildea

ich habe das gefunden wo er keinen UniCode gefunden hat.

  "Name":"ZWDongle_1",
    "PossibleSets":"addNode:off,on,onNw,onNwSec,onSec backupCreate backupRestore controllerChange:on,stop,stopFailed createNewPrimary:on,stop,stopFailed createNode factoryReset learnMode:disable,on,onNw removeFailedNode removeNode:off,on,onNw reopen replaceFailedNode sendNIF setNIF sucNodeId sucRequestUpdate sucSendNodeId timeouts",
    "PossibleAttrs":"verbose:0,1,2,3,4,5 room group comment:textField-long alias eventMap userReadings:textField-long do_not_notify:1,0 dummy:1,0 model:ZWDongle disable:0,1 homeId networkKey DbLogExclude DbLogInclude cmdIcon devStateIcon devStateStyle fm_type icon sortby webCmd widgetOverride userattr",
    "Internals": {
      "CFGFN": "./FHEM/fhem_1_zwave.cfg",
      "CallbackNr": "0",
      "Clients": ":ZWave:",
      "DEF": "/dev/ttyACM0@115200",
      "DeviceName": "/dev/ttyACM0@115200",
      "FD": "7",
      "MaxSendRetries": "3",
      "NAME": "ZWDongle_1",
      "NR": "8",
      "PARTIAL": "",
      "RAWMSG": "000400040e3202213400000697000100000683",
      "ReadTime": "1465464550.18281",
      "STATE": "Initialized",
      "SendRetries": "0",
      "SendTime": "1465463395.49526",
      "TYPE": "ZWDongle",
      "WaitForAck": "0",
      "ZWDongle_1_MSGCNT": "532",
      "ZWDongle_1_TIME": "2016-06-09 11:29:10",
      "homeId": "e57641cf",
      "nodeIdHex": "01",
      "nrNAck": "0"
    },
    "Readings": {
      "caps": { "Value":"Vers:5 Rev:1 ManufID:0115 ProductType:0400 ProductID:0001 SERIAL_API_GET_INIT_DATA SERIAL_API_APPL_NODE_INFORMATION APPLICATION_COMMAND_HANDLER ZW_GET_CONTROLLER_CAPABILITIES SERIAL_API_SET_TIMEOUTS SERIAL_API_GET_CAPABILITIES SERIAL_API_SOFT_RESET UNKNOWN_09 UNKNOWN_0a ZW_SET_R_F_RECEIVE_MODE ZW_SET_SLEEP_MODE ZW_SEND_NODE_INFORMATION ZW_SEND_DATA ZW_SEND_DATA_MULTI ZW_GET_VERSION ZW_SEND_DATA_ABORT ZW_R_F_POWER_LEVEL_SET ZW_SEND_DATA_META ZW_GET_RANDOM MEMORY_GET_ID MEMORY_GET_BYTE MEMORY_PUT_BYTE MEMORY_GET_BUFFER MEMORY_PUT_BUFFER FLASH_AUTO_PROG_SET UNKNOWN_28 NVM_GET_ID NVM_EXT_READ_LONG_BUFFER NVM_EXT_WRITE_LONG_BUFFER NVM_EXT_READ_LONG_BYTE NVM_EXT_WRITE_LONG_BYTE ZW_GET_NODE_PROTOCOL_INFO ZW_SET_DEFAULT ZW_REPLICATION_COMMAND_COMPLETE ZW_REPLICATION_SEND_DATA ZW_ASSIGN_RETURN_ROUTE ZW_DELETE_RETURN_ROUTE ZW_REQUEST_NODE_NEIGHBOR_UPDATE ZW_APPLICATION_UPDATE ZW_ADD_NODE_TO_NETWORK ZW_REMOVE_NODE_FROM_NETWORK ZW_CREATE_NEW_PRIMARY ZW_CONTROLLER_CHANGE ZW_SET_LEARN_MODE ZW_ASSIGN_SUC_RETURN_ROUTE ZW_REQUEST_NETWORK_UPDATE ZW_SET_SUC_NODE_ID ZW_DELETE_SUC_RETURN_ROUTE ZW_GET_SUC_NODE_ID ZW_SEND_SUC_ID ZW_EXPLORE_REQUEST_INCLUSION ZW_REQUEST_NODE_INFO ZW_REMOVE_FAILED_NODE_ID ZW_IS_FAILED_NODE ZW_REPLACE_FAILED_NODE UNKNOWN_66 UNKNOWN_67 UNKNOWN_78 GET_ROUTING_TABLE_LINE LOCK_ROUTE_RESPONSE UNKNOWN_92 UNKNOWN_93 UNKNOWN_98 ZW_SET_WUT_TIMEOUT ZW_WATCHDOG_ENABLE ZW_WATCHDOG_DISABLE ZW_WATCHDOG_CHECK ZW_SET_EXT_INT_LEVEL ZW_RF_POWERLEVEL_GET ZW_TYPE_LIBRARY ZW_SEND_TEST_FRAME ZW_GET_PROTOCOL_STATUS WATCHDOG_START WATCHDOG_STOP UNKNOWN_d4 UNKNOWN_ef ZME_FREQ_CHANGE ZME_BOOTLOADER_FLASH UNKNOWN_f5", "Time":"2016-06-09 10:41:42" },
      "ctrlCaps": { "Value":"MEMBER PRIMARY SUC", "Time":"2016-06-09 10:41:42" },
      "homeId": { "Value":"HomeId:e57641cf CtrlNodeIdHex:01", "Time":"2016-06-09 10:41:42" },
      "nodeList": { "Value":"ZWDongle_1 Keller.Waschmaschine FlurEG_Bewegungsmelder FlurEG.Licht WZ.TV Buero.Schreibtisch", "Time":"2016-06-07 15:45:47" },
      "random": { "Value":"58748ed532479235bee13ff19a59c1e619f1e2509ed56069fa48162f36527581", "Time":"2016-06-09 10:41:42" },
      "state": { "Value":"Initialized", "Time":"2016-06-09 10:41:42" },
      "sucNodeId": { "Value":"1", "Time":"2016-06-09 10:41:42" },
      "version": { "Value":"Z-Wave 3.99� STATIC_CONTROLLER", "Time":"2016-06-09 11:09:55" }
    },
    "Attributes": {      "room": "9.1_System"    }
  },


in dem Reading "version" des zwave Controllers.... in der fhem Weboberfläche ist da aber kein Zeichen zu sehen.

setstate

#439
Wenn du die Zeile und Spalte kennst, dann rufe doch einfach mal das im Browser auf, kopiere das Ergebnis in einem Texteditor und suche die Zeile/Spalte raus.


http://<your-fhem-server>:8083/fhem/?cmd=jsonlist2&XHR=1

setstate

Nach 3.99 ist ein ungültiges Zeichen.

wildea

Hab ich doch schon eins über deinen Post gepostet.


Gesendet von iPhone mit Tapatalk

wildea

Ja aber das Reading kann ich ja nicht beeinflussen. Kann ich das Reading in fhem excluden?


Gesendet von iPhone mit Tapatalk

setstate

Glaube ich nicht, dass das geht.
Besser wäre das aber im z-wave Modul zu beachten, oder/und im jsonlist2

"Bytes less then 0x20 in a Perl string  must be converted into JSON escapes..."

wildea

ich weiss nicht ob es daran liegt aber meine Widgets updaten sich auch nicht mehr.

setstate

Definitiv liegt es daran. ShortPoll (kpl. Update) fällt dann aus. Longpoll müsste aber klappen, da ja die Updates Parameter-fein reinkommen.

wildea

misst dann muss ich die 2.2 Version erst mal wieder bei Seite legen und die alte weiter nutzen bis das bei der 2.2 gefixt ist.

Nutze nur ungern die alte Version weil die bei mir sehr langsam läuft beim laden der Seiten.

StefanD

Zitat von: wildea am 09 Juni 2016, 12:41:53
misst dann muss ich die 2.2 Version erst mal wieder bei Seite legen und die alte weiter nutzen bis das bei der 2.2 gefixt ist.

Nutze nur ungern die alte Version weil die bei mir sehr langsam läuft beim laden der Seiten.

Da kann die 2.2er nix für. FTUI ist keine Kläranlage, wenn auf der einen Seite Mist (=unerlaubte Zeichen in jasonlist) reinkommt, kommt auf der anderen Seite Mist raus...  ;)

Ich hatte im Zusammenspiel mit einem Arduino, der Sensordaten liefert auch immer ein nicht erlaubtes Zeichen mit am Ende des Readings. Ich habe dann halt im Arduinocode das Zeichen abgeschnitten...

VG Stefan
HW: Intel NUC8i5 mit ESXi7 mit Ubuntu Server 18.04 LTS und FHEM als DockerContainer

wildea

Zitat von: StefanD am 09 Juni 2016, 18:49:46
Da kann die 2.2er nix für. FTUI ist keine Kläranlage, wenn auf der einen Seite Mist (=unerlaubte Zeichen in jasonlist) reinkommt, kommt auf der anderen Seite Mist raus...  ;)

Ich hatte im Zusammenspiel mit einem Arduino, der Sensordaten liefert auch immer ein nicht erlaubtes Zeichen mit am Ende des Readings. Ich habe dann halt im Arduinocode das Zeichen abgeschnitten...

VG Stefan

Ja ist schon richtig das die 2.2er in dem Sinn nichts dafür kann. Die alte bringt aber keinen Fehler deswegen und mit der läuft alles. Die Dateien sind 1 zu 1 Räuber kopiert.


Gesendet von iPhone mit Tapatalk

wildea

OK ich hab die 2.2 wieder zum Laufen bekommen. Habe mit

setreading ZWDongle_1 version 3.99

einfach das reading überschrieben und schon non-Uni Char weg und ftui aktualisiert wieder