NEWS
json nach iobroker übertragen
-
ich hätte hier mal eine kleine herausforderung
zur verfügung steht nur die bash{"health":{"status":"HEALTH_WARN","checks":{"OSD_DOWN":{"severity":"HEALTH_WARN","summary":{"message":"1 osds down","count":1},"muted":false},"OSD_HOST_DOWN":{"severity":"HEALTH_WARN","summary":{"message":"1 host (1 osds) down","count":1},"muted":false},"PG_DEGRADED":{"severity":"HEALTH_WARN","summary":{"message":"Degraded data redundancy: 6511/32556 objects degraded (19.999%), 19 pgs degraded","count":19},"muted":false}},"mutes":[]}}dieser string soll rüber per simpleAPI in eine Variable reingeschrieben
sagen wir mal hier0_userdata.0.System.proxmox.cephJSONprobiert es aber aus bevor ihr meint die Lösung zur haben..
hier das Script was nicht geht
#!/bin/bash iobroker_url="http://192.168.3.137:8888/set/0_userdata.0.System.proxmox.cephXML?value=" text='{"health":{"status":"HEALTH_WARN","checks":{"OSD_DOWN":{"severity":"HEALTH_WARN","summary":{"message":"1 osds down","count":1},"muted":false},"OSD_HOST_DOWN":{"severity":"HEALTH_WARN","summary":{"message":"1 host (1 osds) down","count":1},"muted":false},"PG_DEGRADED":{"severity":"HEALTH_WARN","summary":{"message":"Degraded data redundancy: 6511/32556 objects degraded (19.999%), 19 pgs degraded","count":19},"muted":false}},"mutes":[]}}' url_ruber=$iobroker_url$text curl -X POST $url_ruber #curl -s $url_ruber > /dev/null 2>&1 exit 0 -
ich hätte hier mal eine kleine herausforderung
zur verfügung steht nur die bash{"health":{"status":"HEALTH_WARN","checks":{"OSD_DOWN":{"severity":"HEALTH_WARN","summary":{"message":"1 osds down","count":1},"muted":false},"OSD_HOST_DOWN":{"severity":"HEALTH_WARN","summary":{"message":"1 host (1 osds) down","count":1},"muted":false},"PG_DEGRADED":{"severity":"HEALTH_WARN","summary":{"message":"Degraded data redundancy: 6511/32556 objects degraded (19.999%), 19 pgs degraded","count":19},"muted":false}},"mutes":[]}}dieser string soll rüber per simpleAPI in eine Variable reingeschrieben
sagen wir mal hier0_userdata.0.System.proxmox.cephJSONprobiert es aber aus bevor ihr meint die Lösung zur haben..
hier das Script was nicht geht
#!/bin/bash iobroker_url="http://192.168.3.137:8888/set/0_userdata.0.System.proxmox.cephXML?value=" text='{"health":{"status":"HEALTH_WARN","checks":{"OSD_DOWN":{"severity":"HEALTH_WARN","summary":{"message":"1 osds down","count":1},"muted":false},"OSD_HOST_DOWN":{"severity":"HEALTH_WARN","summary":{"message":"1 host (1 osds) down","count":1},"muted":false},"PG_DEGRADED":{"severity":"HEALTH_WARN","summary":{"message":"Degraded data redundancy: 6511/32556 objects degraded (19.999%), 19 pgs degraded","count":19},"muted":false}},"mutes":[]}}' url_ruber=$iobroker_url$text curl -X POST $url_ruber #curl -s $url_ruber > /dev/null 2>&1 exit 0Mit url encoding läuft's
http://172.16.0.51:8087/set/0_userdata.0.test?value=%7B%22health%22%3A%7B%22status%22%3A%22HEALTH_WARN%22%2C%22checks%22%3A%7B%22OSD_DOWN%22%3A%7B%22severity%22%3A%22HEALTH_WARN%22%2C%22summary%22%3A%7B%22message%22%3A%221%20osds%20down%22%2C%22count%22%3A1%7D%2C%22muted%22%3Afalse%7D%2C%22OSD_HOST_DOWN%22%3A%7B%22severity%22%3A%22HEALTH_WARN%22%2C%22summary%22%3A%7B%22message%22%3A%221%20host%20%281%20osds%29%20down%22%2C%22count%22%3A1%7D%2C%22muted%22%3Afalse%7D%2C%22PG_DEGRADED%22%3A%7B%22severity%22%3A%22HEALTH_WARN%22%2C%22summary%22%3A%7B%22message%22%3A%22Degraded%20data%20redundancy%3A%206511%2F32556%20objects%20degraded%20%2819.999%25%29%2C%2019%20pgs%20degraded%22%2C%22count%22%3A19%7D%2C%22muted%22%3Afalse%7D%7D%2C%22mutes%22%3A%5B%5D%7D%7D -
Mit url encoding läuft's
http://172.16.0.51:8087/set/0_userdata.0.test?value=%7B%22health%22%3A%7B%22status%22%3A%22HEALTH_WARN%22%2C%22checks%22%3A%7B%22OSD_DOWN%22%3A%7B%22severity%22%3A%22HEALTH_WARN%22%2C%22summary%22%3A%7B%22message%22%3A%221%20osds%20down%22%2C%22count%22%3A1%7D%2C%22muted%22%3Afalse%7D%2C%22OSD_HOST_DOWN%22%3A%7B%22severity%22%3A%22HEALTH_WARN%22%2C%22summary%22%3A%7B%22message%22%3A%221%20host%20%281%20osds%29%20down%22%2C%22count%22%3A1%7D%2C%22muted%22%3Afalse%7D%2C%22PG_DEGRADED%22%3A%7B%22severity%22%3A%22HEALTH_WARN%22%2C%22summary%22%3A%7B%22message%22%3A%22Degraded%20data%20redundancy%3A%206511%2F32556%20objects%20degraded%20%2819.999%25%29%2C%2019%20pgs%20degraded%22%2C%22count%22%3A19%7D%2C%22muted%22%3Afalse%7D%7D%2C%22mutes%22%3A%5B%5D%7D%7Dnicht einfach aufrufen.... aus der bash raus.. ich brauch es im script
-
nicht einfach aufrufen.... aus der bash raus.. ich brauch es im script
#!/bin/bash text='{"health":{"status":"HEALTH_WARN","checks":{"OSD_DOWN":{"severity":"HEALTH_WARN","summary":{"message":"1 osds down","count":1},"muted":false},"OSD_HOST_DOWN":{"severity":"HEALTH_WARN","summary":{"message":"1 host (1 osds) down","count":1},"muted":false},"PG_DEGRADED":{"severity":"HEALTH_WARN","summary":{"message":"Degraded data redundancy: 6511/32556 objects degraded (19.999%), 19 pgs degraded","count":19},"muted":false}},"mutes":[]}}' curl --get --data-urlencode "value=$text" http://172.16.0.51:8087/set/0_userdata.0.test exit 0EDIT: Scheinbar hat die Simple-API aber einen Bug. Zumindest werden nicht alle Zeichen korrekt dekodiert.
%3Asollte eigentlich wieder ein:werden...Per rest-api (als Web-Plugin) läuft es jedenfalls so:
curl --get --data-urlencode "value=$text" http://172.16.0.51:8082/rest-api/v1/state/0_userdata.0.test -
#!/bin/bash text='{"health":{"status":"HEALTH_WARN","checks":{"OSD_DOWN":{"severity":"HEALTH_WARN","summary":{"message":"1 osds down","count":1},"muted":false},"OSD_HOST_DOWN":{"severity":"HEALTH_WARN","summary":{"message":"1 host (1 osds) down","count":1},"muted":false},"PG_DEGRADED":{"severity":"HEALTH_WARN","summary":{"message":"Degraded data redundancy: 6511/32556 objects degraded (19.999%), 19 pgs degraded","count":19},"muted":false}},"mutes":[]}}' curl --get --data-urlencode "value=$text" http://172.16.0.51:8087/set/0_userdata.0.test exit 0EDIT: Scheinbar hat die Simple-API aber einen Bug. Zumindest werden nicht alle Zeichen korrekt dekodiert.
%3Asollte eigentlich wieder ein:werden...Per rest-api (als Web-Plugin) läuft es jedenfalls so:
curl --get --data-urlencode "value=$text" http://172.16.0.51:8082/rest-api/v1/state/0_userdata.0.test@haus-automatisierung auf die idee bin ich nicht gekomen.. guck isch mal
-
@haus-automatisierung auf die idee bin ich nicht gekomen.. guck isch mal
@arteck Ah, wenn man es als POST-Request mit
setValueFromBodymacht klappts auch per simple-api#!/bin/bash text='{"health":{"status":"HEALTH_WARN","checks":{"OSD_DOWN":{"severity":"HEALTH_WARN","summary":{"message":"1 osds down","count":1},"muted":false},"OSD_HOST_DOWN":{"severity":"HEALTH_WARN","summary":{"message":"1 host (1 osds) down","count":1},"muted":false},"PG_DEGRADED":{"severity":"HEALTH_WARN","summary":{"message":"Degraded data redundancy: 6511/32556 objects degraded (19.999%), 19 pgs degraded","count":19},"muted":false}},"mutes":[]}}' curl -X POST -d "$text" http://172.16.0.51:8087/setValueFromBody/0_userdata.0.test exit 0 -
@arteck Ah, wenn man es als POST-Request mit
setValueFromBodymacht klappts auch per simple-api#!/bin/bash text='{"health":{"status":"HEALTH_WARN","checks":{"OSD_DOWN":{"severity":"HEALTH_WARN","summary":{"message":"1 osds down","count":1},"muted":false},"OSD_HOST_DOWN":{"severity":"HEALTH_WARN","summary":{"message":"1 host (1 osds) down","count":1},"muted":false},"PG_DEGRADED":{"severity":"HEALTH_WARN","summary":{"message":"Degraded data redundancy: 6511/32556 objects degraded (19.999%), 19 pgs degraded","count":19},"muted":false}},"mutes":[]}}' curl -X POST -d "$text" http://172.16.0.51:8087/setValueFromBody/0_userdata.0.test exit 0@haus-automatisierung sagte in json nach iobroker übertragen:
die doku ist falsch
http://172.16.0.51:8087/help"setValueFromBody": http://172.16.0.51:8087/setValueFromBody?stateID1 -
@haus-automatisierung sagte in json nach iobroker übertragen:
die doku ist falsch
http://172.16.0.51:8087/help"setValueFromBody": http://172.16.0.51:8087/setValueFromBody?stateID1@arteck Das kann sein, der Adapter wird ja auch nicht mehr so richtig gepflegt soweit ich weiß. Ich nutze zumindest nur noch rest-api.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden