Neueste Beiträge

Seiten: [1] 2 3 ... 10
1
Hi freetz,

Nach meinem Verständnis der Arduino Serial (software, als auch hardware) Implementierung, nutzt keins Interrupts zur Empfangssignalisierung. In beiden Fällen muß gepollt werden. Der Vorteil zum Hardware serial ist der empfangspuffer.
Hier steht was von 64 bytes, bin mir aber nicht sicher ob das für alle Arduino Prozessoren gilt.
https://www.arduino.cc/reference/en/language/functions/communication/serial/available/
Wenn der puffer das gesamte Telegram enthält, bräuchte man gar keine Wartezeit mehr zu beachten?


Gruß,
Thomas
2
Sonstiges / Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Letzter Beitrag von amenomade am Heute um 00:39:56 »
also... HTTPMOD funktioniert so:

- in der DEF ruft man die URL auf, wo die gezielte Daten sind (was man tatsächlich lesen will)
- beim ersten Aufruf, wenn eine Fehlermeldung wegen Authentifizierung kommt, wird diese Meldung von reAuthRegex gefangen, um ggf. einen Authentifizierungsprozess zu starten
- die sid..... Attribute werden für die Authentifizierung benutzt, und ggf die Sitzung-ID oder tokens oder was auch immer geholt
- damit wird die Hauptseite wieder gerufen, und diesmal liefert sie die Daten

Daher:
curl --silent --insecure --data "username=root@pam&password=yourpassword" \
 https://$APINODE:8006/api2/json/access/ticket\
| jq --raw-output '.data.ticket' | sed 's/^/PVEAuthCookie=/' > cookie
wird als sid01..... Attribute implementiert, und damit wird AuthCookie geholt

curl --silent --insecure --data "username=root@pam&password=yourpassword" \
 https://$APINODE:8006/api2/json/access/ticket \
| jq --raw-output '.data.CSRFPreventionToken' | sed 's/^/CSRFPreventionToken:/' > csrftoken
wird als sid02...... Attribute  implementiert, und damit wird den CSRFToken geholt

curl --silent --insecure  --cookie "$(<cookie)" --header "$(<csrftoken)" -X POST\
 --data-urlencode net0="name=myct0,bridge=vmbr0" \
 --data-urlencode ostemplate="local:vztmpl/debian-8.0-standard_8.0-1_amd64.tar.gz" \
 --data vmid=601\
 https://$APINODE:8006/api2/json/nodes/$TARGETNODE/lxc
Das ist die Hauptanfrage. Stimmen übrigens die Parameter in urlencode mit deinem Fall?

Das kann sein, dass enableCookies reicht, um die AuthCookie und gleichzeitig den CSRFToken automatisch zu holen.
Dann würden ein sid01URL und ein sid01Data schon reichen

Besser als die curl Beispiele wäre eine Analyse mit Burp oder evtl. mit F12 im Browser, wenn Du die Daten holst, inkl Anmeldung

Ich würde einfach so anfangen:
defmod myProxmox HTTPMOD https://192.168.178.3:8006/api2/json/nodes/pve4/lxc?net0%3D%22name%3Dmyct0%2Cbridge%3Dvmbr0%22%0A&ostemplate%3D%22local%3Avztmpl%2Fdebian-8.0-standard_8.0-1_amd64.tar.gz%22%0A 0(wenn pve4 tatsächlich dein TARGETNODE ist, und wenn alle Parameter des curl Beispiels bei dir passen)
(Update Interval auf 0 gesetzt, damit man gezielt mit einem set reread triggern kann)
attr myProxmox enableControlSet 1
attr myProxmox enableCookies 1
attr myProxmox requestData vmid=601
attr myProxmox reAuthRegex 401.No.ticket
attr myProxmox sid01Data username=root@pam&password=XXX
attr myProxmox sid01URL https://192.168.178.3:8006/api2/json/access/ticket
Und dann sehen und nach und nach erweitern





3
Jetzt versteh ich wirklich nix mehr. Was soll set cam... bewirken. Nach dem set muss ein Aktor kommen. Im Rahmen von blink kenne ich aber keinen der mit cam... beginnt
4
Sonstiges / Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Letzter Beitrag von carlos am Gestern um 23:53:00 »
Ergibt folgendes im log:
2019.12.06 23:50:20 3: myProxmox: Defined with URL https://192.168.178.3:8006/api2/json/access/ticket and interval 300 featurelevel 5.9
2019.12.06 23:50:20 5: myProxmox: update timer modified: will call GetUpdate in 2.0 seconds at 2019-12-06 23:50:22
2019.12.06 23:50:20 5: myProxmox: UpdateHintList called
2019.12.06 23:50:20 5: myProxmox: UpdateHintList: setlist = interval reread:noArg stop:noArg start:noArg clearCookies:noArg upgradeAttributes:noArg storeKeyValue
2019.12.06 23:50:20 5: myProxmox: UpdateHintList: getlist =
2019.12.06 23:50:23 5: myProxmox: GetUpdate called (update)
2019.12.06 23:50:23 5: myProxmox: update timer modified: will call GetUpdate in 300.0 seconds at 2019-12-06 23:55:23
2019.12.06 23:50:23 5: myProxmox: AddToQueue adds type update to URL https://192.168.178.3:8006/api2/json/access/ticket, no data, no headers, retry 0, initial queue len: 0
2019.12.06 23:50:23 5: myProxmox: HandleSendQueue called, qlen = 1
2019.12.06 23:50:23 4: myProxmox: HandleSendQueue sends update with timeout 60 to https://192.168.178.3:8006/api2/json/access/ticket, No Data, No Header
2019.12.06 23:50:23 5: HttpUtils url=https://192.168.178.3:8006/api2/json/access/ticket
2019.12.06 23:50:23 4: IP: 192.168.178.3 -> 192.168.178.3
2019.12.06 23:50:23 5: HttpUtils request header:
GET /api2/json/access/ticket HTTP/1.0
Host: 192.168.178.3:8006
User-Agent: fhem
Accept-Encoding: gzip,deflate

2019.12.06 23:50:24 4: https://192.168.178.3:8006/api2/json/access/ticket: HTTP response code 200
2019.12.06 23:50:24 5: HttpUtils https://192.168.178.3:8006/api2/json/access/ticket: Got data, length: 13
2019.12.06 23:50:24 5: HttpUtils response header:
HTTP/1.0 200 OK
Cache-Control: max-age=0
Connection: close
Date: Fri, 06 Dec 2019 22:50:23 GMT
Pragma: no-cache
Server: pve-api-daemon/3.0
Content-Length: 13
Content-Type: application/json;charset=UTF-8
Expires: Fri, 06 Dec 2019 22:50:23 GMT
2019.12.06 23:50:24 4: myProxmox: Read callback: request type was update retry 0,
header: HTTP/1.0 200 OK
Cache-Control: max-age=0
Connection: close
Date: Fri, 06 Dec 2019 22:50:23 GMT
Pragma: no-cache
Server: pve-api-daemon/3.0
Content-Length: 13
Content-Type: application/json;charset=UTF-8
Expires: Fri, 06 Dec 2019 22:50:23 GMT, body length 13
2019.12.06 23:50:24 5: myProxmox: Read callback: body
{"data":null}
2019.12.06 23:50:24 5: myProxmox: JSON Flatter called : prefix , ref is HASH(0x55d580d6d098)
2019.12.06 23:50:24 4: myProxmox: extracted JSON values to internal
2019.12.06 23:50:24 5: myProxmox: GetCookies is looking for Cookies
2019.12.06 23:50:24 5: myProxmox: ExtractSid called, context reading, num
2019.12.06 23:50:24 5: myProxmox: GetRegex found precompiled reAuthRegex for  as (?^:401.No.ticket)
2019.12.06 23:50:24 5: myProxmox: CheckAuth is checking buffer with ReAuthRegex (?^:401.No.ticket)
2019.12.06 23:50:24 5: myProxmox: CheckAuth decided no authentication required
2019.12.06 23:50:24 3: myProxmox: no parsed JSON structure available
2019.12.06 23:50:24 5: myProxmox: UpdateReadingList created list of reading.* nums to parse during getUpdate as
2019.12.06 23:50:24 5: myProxmox: Read starts parsing response to update with defined readings:
2019.12.06 23:50:24 4: myProxmox: Read response to update didn't match any Reading
2019.12.06 23:50:24 5: myProxmox: HandleSendQueue called, qlen = 0
2019.12.06 23:50:24 3: myKVPUDP: Received 57 bytes from '192.168.178.80'

Ich hänge mal das log vom curl Aufruf mit an, vieleicht hilft das:
root@fhem2:/opt/fhem/FHEM# curl -v -k -d "username=root@pam&password=XXX"  https://192.168.178.3:8006/api2/json/access/ticket
* Expire in 0 ms for 6 (transfer 0x557eacafbdf0)
*   Trying 192.168.178.3...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x557eacafbdf0)
* Connected to 192.168.178.3 (192.168.178.3) port 8006 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: OU=PVE Cluster Node; O=Proxmox Virtual Environment; CN=proxmox.fritz.box
*  start date: Sep  3 08:33:47 2019 GMT
*  expire date: Aug 31 08:33:47 2029 GMT
*  issuer: CN=Proxmox Virtual Environment; OU=edd1a80b-c5f6-4401-b4ea-53140bedf703; O=PVE Cluster Manager CA
*  SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
> POST /api2/json/access/ticket HTTP/1.1
> Host: 192.168.178.3:8006
> User-Agent: curl/7.64.0
> Accept: */*
> Content-Length: 36
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 36 out of 36 bytes
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
< HTTP/1.1 200 OK
< Cache-Control: max-age=0
< Connection: close
< Connection: Keep-Alive
< Date: Fri, 06 Dec 2019 22:53:56 GMT
< Pragma: no-cache
< Server: pve-api-daemon/3.0
< Content-Length: 1167
< Content-Type: application/json;charset=UTF-8
< Expires: Fri, 06 Dec 2019 22:53:56 GMT
<
{"data":{"cap":{"dc":{"Sys.Audit":1},"storage":{"Datastore.AllocateSpace":1,"Datastore.AllocateTemplate":1,"Datastore.Audit":1,"Permissions.Modify":1,"Datastore.Allocate":1},"vms":{"VM.Snapshot":1,"VM.Backup":1,"VM.Config.Options":1,"VM.Snapshot.Rollback":1,"VM.Audit":1,"VM.Config.Disk":1,"VM.Migrate":1,"VM.Console":1,"VM.Config.CDROM":1,"VM.Config.Memory":1,"VM.PowerMgmt":1,"VM.Config.CPU":1,"VM.Monitor":1,"VM.Clone":1,"VM.Config.HWType":1,"VM.Allocate":1,"VM.Config.Network":1,"Permissions.Modify":1},"access":{"Group.Allocate":1,"Permissions.Modify":1,"User.Modify":1},"nodes":{"Sys.Audit":1,"Permissions.Modify":1,"Sys.Syslog":1,"Sys.Modify":1,"Sys.PowerMgmt":1,"Sys.Console":1}},"ticket":"PVE:root@pam:5DEADC04::hTdB/7hf226qXLMbkfZPzy0K38evFP4uMN3/EMzVpozftL/tWiDULj8fcotXu6KUdmcAZRsb1YuFn+RZKLZGH2zYy1KsvnpEOpXNtbPVfMnfMk/UkKj4W/0mweju3IBh1axpH4DJ9uO6Gbhf1d+gmt6x0yYZjvZqYZrpzhp5WDL5kcMhTtCVuEtj4LmkZoBYBFLs7jxqj+YumUsw58cv9THwzZoinStvGO3Oczz0PqJsq9SKugKuorHiYwlzJCxMH7dZIEqqyA1OUeIhvPnoR8TAuopCANJZPNrswBM7PI3QdaE* Closing connection 0
5
Sonstiges / Antw:Neue Version von HTTPMOD mit neuen Features zum Testen
« Letzter Beitrag von amenomade am Gestern um 23:31:21 »
Wie gesagt, zuerst reAuthRegex setzen. Zum Beispiel auf
401.No.ticketdamit er überhaupt eine Chance hat, sid1xxxx zu benutzen.

sid1IdJSON  muss wahrscheinlich eher ticket oder data_ticket statt token sein.
Dann sehen wir mal in der Log, was kommt.
6
Anfängerfragen / Antw:[gelöst] Notify mit mehreren set Befehlen
« Letzter Beitrag von Otto123 am Gestern um 23:30:19 »
Ja sorry, ich hatte es erst richtig und dann irgendwie Tomaten auf den Augen.
Habe meine Beitrag editiert! Danke für die Korrektur.

Gruß Otto
7
MQTT / Antw:Umzug v. MQTT_DEVICE und XiaomiMQTTDevice nach MQTT2_DEVICE
« Letzter Beitrag von Kawaci am Gestern um 23:28:53 »
Hallo!
ich bin gerade am umstellen von Mosquitto auf MQTT2_Server. Ich habe meine ganzen MQTT_Devices schon auf MQTT2 umgestellt jetzt will ich auch meine Zigbee Devices auf MQTT2 haben.
Habe den ganzen Beitrag gelesen, und nicht wirklich was gefunden, ich suche in der zigbee2mqtt configuration.yaml eine position wo ich 1. den Port einstellen kann und
2. Wo ich ein user:passwort einfügen kann! Mein mqtt2 server braucht ein Passwort.

3. Wie lösch ich Mosquitto von meinem Raspi?

Danke!
8
Anfängerfragen / Antw:Notify mit mehreren set Befehlen
« Letzter Beitrag von DeeSPe am Gestern um 23:19:48 »
Würde mich die exakte Angabe in der Doku interessieren  :-[
Ich hätte den Vorschlag:
FS20.Light.Sensor.01:off.* set FS20.Lamp.Kueche.03, FS20.Plug.Kueche.05, FS20.Plug.Wohnzimmer.01 on
Quelle Doku: https://fhem.de/commandref_modular.html#devspec

Gruß Otto

Aber ohne die Leerzeichen ;)

FS20.Light.Sensor.01:off.* set FS20.Lamp.Kueche.03,FS20.Plug.Kueche.05,FS20.Plug.Wohnzimmer.01 on
Quelle Doku: https://fhem.de/commandref_modular.html#devspec

Gruß Dan
9
FHEM Code changes / Revision 20673: 50_SSChatBot: contrib 1.0.0
« Letzter Beitrag von System am Gestern um 23:00:50 »
Revision 20673: 50_SSChatBot: contrib 1.0.0

50_SSChatBot: contrib 1.0.0

Source: Revision 20673: 50_SSChatBot: contrib 1.0.0
10
FHEM Code changes / Revision 20672: 98_DOIF.pm:new uiTable-perl functions
« Letzter Beitrag von System am Gestern um 23:00:49 »
Revision 20672: 98_DOIF.pm:new uiTable-perl functions

98_DOIF.pm:new uiTable-perl functions

Source: Revision 20672: 98_DOIF.pm:new uiTable-perl functions
Seiten: [1] 2 3 ... 10
decade-submarginal