Auch mit der 1.4 beta3 sind die Werte bei mir weiter 17-18% zu hoch. Falls jemand Facebook nutzt bitte mal dort posten.. Super QA das sie das seit Monaten nicht merken...
Beiträge von Quality Shock
-
-
Unglaublich immer kommt so ein Kommentar, wie hilfreich WOW. Die Firmware wurde mal wieder verbuggt, das "update" bringt ~17% Abweichung. Aber wie jedes mal wenn sie eine Firmware Versauen kommen erstmal Fanboy Kommentare die den Fehler rechtfertigen. Schon auf Vorlage wenn etwas zur Messung kommt -> das ist kein Messgerät Mimimi, gar nicht erst damit auseinander setzen.
Jetzt heißt es ein paar Monate warten, bis sie es mal merken bzw. die Tickets dazu ernst nehmen.
-
Same issue here, MiniPV with a maximum of 600W is measured with 700W.
Could not belive that this is happening again after all the trouble the 0.11, 0.12 made, mess up my statistics several times and now again. They should be experts in regression testing for this Topic meanwhile.
Still happen on 1.3 as well.
-
Overall it seems still OK, it is some times dropping 3-4 Volts but it looks like the ECO Mode has an Impact on the Voltage reading. For me it is consitently to low when enabled.
Please refer to the Graph below. Red line is the real Volatage, consistenly measured from 3 different Inverters, of couse also changing depending on the Powergird but at the time taken almost stable.
Green: Eco Mode ON, Voltage is to low. sometimes even drops by 4-5 Volt.
Yellow: Reboot Shortly recovers but drops again after a few seconds
Blue: Eco Mode OFF, brings it pretty close to the real Value
Green: Eco Mode ON, Voltage drops again
-
Seems to be fixed with v0.13, the blue dots are stable while on the older Version green, yellow startet osscilation several times again.
-
@mircho.mirev
2nd the previous Post, the yellow line is on v0.13.0-beta1, the two other still on v0.10.2, behaviour seems even worse now. The spikes are even bigger and fluctuating with a higher freuquency, at least about every 2 seconds, refer to the second graph (might be even higher but not caputuring with high freq.). After restart around 23:42 it returned to normal.
-
Hi,
I tried to adapt the newly provided scripts to use the BLE functionality to receive Data from an Inkbird IBS-TH2 Temperature, Humidity Sensor to later publish it via MQTT. But it seems the received Data is incomplete, advertisment and scanrespsone is available but the Manufacturer Data which seems to hold the real information is empty.
Any Idea what I'm doing wrong or having any of the Inbird Sensors working?
KR
Running 0.12.0-beta2
Script:
JavaScript
Alles anzeigenlet CONFIG = { sensorName: "sps", sensorAddress: "49:xx:xx:xx:xx:xx" }; let IBSTH2_SERVICE_UUID = "FFF0"; function ParseIBSData(data, source) { //TBD } function bleResult(event, result) { if (event !== BLE.Scanner.SCAN_RESULT) return; if (result === null) return; let sensorName = BLE.GAP.ParseDataByEIRType(result.scanRsp, BLE.GAP.EIR_FULL_NAME); let publicAdress = BLE.GAP.ParseDataByEIRType(result.scanRsp, BLE.GAP.ADDRESS_TYPE_PUBLIC); //print("Sensor:" + sensorName + "Adress:" + result.addr + "publicAdress:" + publicAdress); //print(result.local_name); if (sensorName !== CONFIG.sensorName) return; if (CONFIG.sensorAddress !== "" && result.addr !== CONFIG.sensorAddress) return; print(result.local_name); print(result.rssi); let datas = BLE.GAP.ParseServiceData(result.advData, IBSTH2_SERVICE_UUID); let data = BLE.GAP.ParseManufacturerData(result.advData); let datam = BLE.GAP.ParseDataByEIRType(result.advData, BLE.GAP.EIR_MANUFACTURER_SPECIFIC_DATA); print("Manfac data: " + data); print("Manufac EIR data: " + datam); print("advData: "result.advData); print("scanRSP: "result.scanRsp); print(result.manufacturer_data); print(result.service_uuids); print(result.service_data); print(result.tx_power_level); //for (let i=0; i < result.manufacturer_data.length; i++) { //print(result.manufacturer_data[i]); //} let i; for (let prop in result.manufacturer_data) { print(prop, ' - ', typeof (result.manufacturer_data[i])); } } // scan for ble devices BLE.Scanner.Start({ duration_ms: -1, active: true }, bleResult);
Result:
-
Hallo zusammen,
habe ich mich an den Bereitgestellen Skripten für BLE versucht um damit die Werte eines Inkbird IBS-TH2 zu empfangen und die Daten dann über MQTT weiter zu Verarbeiten. Leider komme ich nicht an die Werte. Der Sensor wird gefunden und es werden auch die Advertisements und Scanresponse empfangen aber die Manufacturer Daten wo wohl die Werte drin stecken sind leer.
Hat jemand den Sensor im Einsatz und kann es mal probieren, bzw. hat jemand eine Idee warum hier nichts kommt?
JavaScript
Alles anzeigenlet CONFIG = { sensorName: "sps", sensorAddress: "49:xx:xx:xx:xx:xx" }; let IBSTH2_SERVICE_UUID = "FFF0"; function ParseIBSData(data, source) { //TBD } function bleResult(event, result) { if (event !== BLE.Scanner.SCAN_RESULT) return; if (result === null) return; let sensorName = BLE.GAP.ParseDataByEIRType(result.scanRsp, BLE.GAP.EIR_FULL_NAME); let publicAdress = BLE.GAP.ParseDataByEIRType(result.scanRsp, BLE.GAP.ADDRESS_TYPE_PUBLIC); //print("Sensor:" + sensorName + "Adress:" + result.addr + "publicAdress:" + publicAdress); //print(result.local_name); if (sensorName !== CONFIG.sensorName) return; if (CONFIG.sensorAddress !== "" && result.addr !== CONFIG.sensorAddress) return; print(result.local_name); print(result.rssi); let datas = BLE.GAP.ParseServiceData(result.advData, IBSTH2_SERVICE_UUID); let data = BLE.GAP.ParseManufacturerData(result.advData); let datam = BLE.GAP.ParseDataByEIRType(result.advData, BLE.GAP.EIR_MANUFACTURER_SPECIFIC_DATA); print("Manfac data: " + data); print("Manufac EIR data: " + datam); print("advData: "result.advData); print("scanRSP: "result.scanRsp); print(result.manufacturer_data); print(result.service_uuids); print(result.service_data); print(result.tx_power_level); //for (let i=0; i < result.manufacturer_data.length; i++) { //print(result.manufacturer_data[i]); //} let i; for (let prop in result.manufacturer_data) { print(prop, ' - ', typeof (result.manufacturer_data[i])); } } // scan for ble devices BLE.Scanner.Start({ duration_ms: -1, active: true }, bleResult);
Ergebnis:
Code
Alles anzeigensps -79 Manfac data: Manufac EIR data: advData: \x02\x01\x06\x03\x02\xf0\xff scanRSP: \x04\x09sps\x0a\xff\x15\x04\x13$\x00\xc26d\x08 <object> <array> undefined undefined 0415 - undefined
Greets
-
Nein, 12 Stellig
Edit: Habe ihn vor etwa 1,5 Jahren eingebunden seit dem lag er rum. Sollte die ID mit Firmwareupdate auf die letzte Version automatisch umgestellt worden sein könnte es damit zusammenhängen.
-
GW&DNS sind hinterlegt. Habe ihn gelöscht, danach wurde er unter discovered devices angezeigt, konnte aber nicht hinzugefügt werden. Über die IP ging es auch nicht, ungültiges Gerät oder so ähnlich.
Dann über den Shelly selbst Cloud deaktiviert, danach wurde er entdeckt und ohne weitere Nachfrage mit der Cloud verbundenen, seit dem scheint es zu laufen.
Issue resolved
-
Hallo zusammen,
hab endlichen meinen Shelly 1 mit Addon ans Garagentor angeschlossen. Funktioniert auch soweit, nur wird dieser in der Cloud als Offline angezeigt. Verbindung direkt über die IP funktioniert, das Cloud Icon ist grün und laut Status ist die Cloud Verbunden. Feste IP ist Vergeben, im gleichen WLAN laufen ein paar andere Shelly ohne Probleme. Firmware ist aktuell.
Jemand eine Idee woran es liegen könnte?
Codewifi_sta":{"connected":true,"ssid":"IOT","ip":"192.168.x.x","rssi":-69},"cloud":{"enabled":true,"connected":true},"mqtt":{"connected":false},"time":"15:29","unixtime":1667312941,"serial":32,"has_update":false,"mac":"xxxxxx","cfg_changed_cnt":4,"actions_stats":{"skipped":0},"ext_switch":{"0":{"input":1}},"relays":[{"ison":false,"has_timer":false,"timer_started":0,"timer_duration":0,"timer_remaining":0,"source":"timer"}],"meters":[{"power":0.00,"is_valid":true}],"inputs":[{"input":0,"event":"","event_cnt":0}],"ext_sensors":{},"ext_temperature":{},"ext_humidity":{},"update":{"status":"idle","has_update":false,"new_version":"20221027-091427/v1.12.1-ga9117d3","old_version":"20221027-091427/v1.12.1-ga9117d3"},"ram_total":51688,"ram_free":38020,"fs_size":233681,"fs_free":149847,"uptime":8509}
-
Mit Differenz die Unterschiede zwischen den Zählerständen ermitteln und dann aufsummieren, dann stören die gelegentlichen reset nicht mehr so:
from(bucket: "nrdb")
|> range(start: -1d)
|> filter(fn: (r) => r["_measurement"] == "Solarpower")|> filter(fn: (r) => r["_field"] == "SVTC" or r["_field"] == "SMTC")
|> difference(nonNegative: true)
|> aggregateWindow( every: 1d, fn: sum )
-
Still happens on 0.11.4..
-
Still happens on 0.11.3:
-
@Miroslav_G @tsvetkovallterco @mircho.mirev
Hi, folks. Second the previous post, still happen for me as well on 0.11.1. Any News, shall I ask for replacement?
KR
-
Hat mich am Anfang auch immer wieder geärgert, gibt immer mal wieder Gründe die den Zähler zurücksetzen. Wenn du wie HIER schon geschrieben die Unterschiede zwischen den Zählerständen aufsummierst solange diese größer 0 sind spielt es keine Rolle mehr. Du verlierst maximal was zwischen einem Schreibintervall liegt.
Ich nutze dann noch ein CSV mit meinem tatsächlichen Strompreis, der ändert sich ja beim wechseln oder wenn es Bonuszahlungen gibt kennst du den Endgültigen Preis pro kWh erst nach einem Jahr. So kann man im Nachgang den Preis noch anpassen und Berechnen lassen.
|> difference(nonNegative: true)
|> aggregateWindow( every: 1d, fn: sum )
Spannend wäre mal der Vergleich zwischen watt2kWH und dem Zähler, wenn du nur alle 5sec die aktuelle Leistung hernimmst dürfte das recht ungenau sein, auch wenn für eine WAMA vielleicht nicht so relevant.
-
Code
{"name":null,"id":"shellyplus1pm-xxxxxxxx","mac":"xxxxxxxx","key":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","batch":"2133-Yang","fw_sbits":"00","model":"SNSW-001P16EU","gen":2,"fw_id":"20220830-130414/0.11.0-gfa1bc37","ver":"0.11.0","app":"Plus1PM","auth_en":false,"auth_domain":null}
Code{"ble":{"enable":false},"cloud":{"enable":true,"server":"shelly-19-eu.shelly.cloud:6022/jrpc"},"input:0":{"id":0, "name":null, "type":"switch", "invert":false,"factory_reset":true},"mqtt":{"enable":true,"server":"192.168.1.238:1883","client_id":"shellyplus1pm-xxxxxxxx","user":"mqttbroker","topic_prefix":null,"rpc_ntf":false,"status_ntf":true},"script:1":{"id":1, "name":"Test", "enable":false},"switch:0":{"id":0, "name":null,"in_mode":"follow","initial_state":"restore_last", "auto_on":false, "auto_on_delay":60.00, "auto_off":false, "auto_off_delay": 60.00,"power_limit":3200,"voltage_limit":280,"current_limit":16.000},"sys":{"device":{"name":null,"mac":"xxxxxxxx","fw_id":"20220830-130414/0.11.0-gfa1bc37","discoverable":true,"eco_mode":true},"location":{"tz":"Europe/Berlin","lat":xxxxxxxx,"lon":xxxxxxxx},"debug":{"mqtt":{"enable":false},"websocket":{"enable":false},"udp":{"addr":null}},"ui_data":{"consumption_types":["socket"]},"rpc_udp":{"dst_addr":null,"listen_port":null},"sntp":{"server":"time.google.com"},"cfg_rev":44},"wifi":{"ap":{"ssid":"ShellyPlus1PM-xxxxxxxx","is_open":true, "enable":false, "range_extender": {"enable":false}},"sta":{"ssid":"IOT","is_open":false, "enable":true, "ipv4mode":"static","ip":"192.168.1.121","netmask":"255.255.255.0","gw":"192.168.1.1","nameserver":"192.168.1.1"},"sta1":{"ssid":null,"is_open":true, "enable":false, "ipv4mode":"dhcp","ip":null,"netmask":null,"gw":null,"nameserver":null},"roam":{"rssi_thr":-80,"interval":60}},"ws":{"enable":false,"server":null,"ssl_ca":"ca.pem"}}
Code{"ble":{},"cloud":{"connected":true},"input:0":{"id":0,"state":false},"mqtt":{"connected":true},"script:1":{"id":1, "running":false},"switch:0":{"id":0, "source":"loopback", "output":true, "apower":0.0, "voltage":230.0, "current":0.010, "aenergy":{"total":117907.672,"by_minute":[0.000,0.948,0.474],"minute_ts":1662655271},"temperature":{"tC":42.1, "tF":107.9}},"sys":{"mac":"xxxxxxxx","restart_required":false,"time":"18:41","unixtime":1662655274,"uptime":685376,"ram_size":235088,"ram_free":157172,"fs_size":458752,"fs_free":159744,"cfg_rev":44,"kvs_rev":0,"schedule_rev":0,"webhook_rev":0,"available_updates":{"beta":{"version":"0.11.1-beta1"},"stable":{"version":"0.10.3"}}},"wifi":{"sta_ip":"192.168.1.121","status":"got ip","ssid":"IOT","rssi":-46},"ws":{"connected":false}}
-
Bitte schön:
Zitat[
{
"id": "59d180639f5f1b7b",
"type": "tab",
"label": "Flow 1",
"disabled": false,
"info": "",
"env": []
},
{
"id": "f158e10bbcd3ffef",
"type": "inject",
"z": "59d180639f5f1b7b",
"name": "2s Intervall",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "2",
"crontab": "",
"once": false,
"onceDelay": 0.1,
"topic": "",
"payload": "",
"payloadType": "date",
"x": 1750,
"y": 560,
"wires": [
[
"c5f7909033dc3a26",
"17cd67e25d263d7f",
"07beaf0afca60dd4",
"324b010844de7d65"
]
]
},
{
"id": "17cd67e25d263d7f",
"type": "ioBroker get",
"z": "59d180639f5f1b7b",
"name": "Shelly Solar Vorne Total",
"topic": "mqtt.0.shellyplus1pm1.status.switch:0",
"attrname": "payload",
"payloadType": "object",
"x": 2110,
"y": 500,
"wires": [
[
"da9ace0f483ffa2e"
]
]
},
{
"id": "c5f7909033dc3a26",
"type": "ioBroker get",
"z": "59d180639f5f1b7b",
"name": "Shelly Solar vorne Leistung",
"topic": "mqtt.0.shellyplus1pm1.status.switch:0",
"attrname": "payload",
"payloadType": "object",
"x": 2120,
"y": 440,
"wires": [
[
"900c3404179768dd"
]
]
},
{
"id": "900c3404179768dd",
"type": "json",
"z": "59d180639f5f1b7b",
"name": "",
"property": "payload.val",
"action": "",
"pretty": false,
"x": 2370,
"y": 440,
"wires": [
[
"b4785b2eb58f8759"
]
]
},
{
"id": "b4785b2eb58f8759",
"type": "function",
"z": "59d180639f5f1b7b",
"name": "SVCP, JSON Power",
"func": "msg.payload = msg.payload.val.apower\nmsg.topic = \"SVCP\"\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 2580,
"y": 440,
"wires": [
[
"d400cbd3aebb7597"
]
]
},
{
"id": "552cd21e1b2b9f29",
"type": "function",
"z": "59d180639f5f1b7b",
"name": "SVTC, JSON Total",
"func": "msg.payload = msg.payload.val.aenergy.total\nmsg.topic = \"SVTC\"\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 2570,
"y": 500,
"wires": [
[
"d400cbd3aebb7597"
]
]
},
{
"id": "da9ace0f483ffa2e",
"type": "json",
"z": "59d180639f5f1b7b",
"name": "",
"property": "payload.val",
"action": "",
"pretty": false,
"x": 2370,
"y": 500,
"wires": [
[
"552cd21e1b2b9f29"
]
]
},
{
"id": "d400cbd3aebb7597",
"type": "join",
"z": "59d180639f5f1b7b",
"name": "Solarpower",
"mode": "custom",
"build": "object",
"property": "payload",
"propertyType": "msg",
"key": "topic",
"joiner": "\\n",
"joinerType": "str",
"accumulate": false,
"timeout": "1",
"count": "",
"reduceRight": false,
"reduceExp": "",
"reduceInit": "",
"reduceInitType": "num",
"reduceFixup": "",
"x": 2990,
"y": 580,
"wires": [
[
"b13e42ea5defc96f"
]
]
},
{
"id": "b13e42ea5defc96f",
"type": "change",
"z": "59d180639f5f1b7b",
"name": "Measurement Solarpower",
"rules": [
{
"t": "set",
"p": "measurement",
"pt": "msg",
"to": "Solarpower",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 3210,
"y": 580,
"wires": [
[]
]
},
{
"id": "324b010844de7d65",
"type": "ioBroker get",
"z": "59d180639f5f1b7b",
"name": "Shelly Solar mitteTotal",
"topic": "mqtt.0.shellyplus1pm1.status.switch:0",
"attrname": "payload",
"payloadType": "object",
"x": 2100,
"y": 620,
"wires": [
[
"ce0111db3ad8a3ba"
]
]
},
{
"id": "07beaf0afca60dd4",
"type": "ioBroker get",
"z": "59d180639f5f1b7b",
"name": "Shelly Solar mitte Leistung",
"topic": "mqtt.0.shellyplus1pm1.status.switch:0",
"attrname": "payload",
"payloadType": "object",
"x": 2120,
"y": 560,
"wires": [
[
"c4dfb0f0d93cdf40"
]
]
},
{
"id": "b48efe8af64a9669",
"type": "function",
"z": "59d180639f5f1b7b",
"name": "SMCP, JSON Power",
"func": "msg.payload = msg.payload.val.apower\nmsg.topic = \"SMCP\"\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 2580,
"y": 560,
"wires": [
[
"d400cbd3aebb7597"
]
]
},
{
"id": "0956f91bd86233ee",
"type": "function",
"z": "59d180639f5f1b7b",
"name": "SMTC, JSON Total",
"func": "msg.payload = msg.payload.val.aenergy.total\nmsg.topic = \"SMTC\"\nreturn msg;",
"outputs": 1,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 2570,
"y": 620,
"wires": [
[
"d400cbd3aebb7597"
]
]
},
{
"id": "c4dfb0f0d93cdf40",
"type": "json",
"z": "59d180639f5f1b7b",
"name": "",
"property": "payload.val",
"action": "",
"pretty": false,
"x": 2370,
"y": 560,
"wires": [
[
"b48efe8af64a9669"
]
]
},
{
"id": "ce0111db3ad8a3ba",
"type": "json",
"z": "59d180639f5f1b7b",
"name": "",
"property": "payload.val",
"action": "",
"pretty": false,
"x": 2370,
"y": 620,
"wires": [
[
"0956f91bd86233ee"
]
]
}
]
-
Ich nutze noch IOBroker mit einem MQTT Client, hier steht dann immer der letzte übertragene Wert. Die aktuelle Leistung schreibe ich alle 2sec und den Verbrauch alle 5min.
Mit dem Funktionsnode wähle ich aenergy und setzte ein Topic. Der JoinNode fast dann nach den Topics die Werte in einer Nachricht zusammen.
Aufsummieren macht Influx, mit difference gib es den unterschied zwischen den Zählerwerten. Mit Window kannst dann sagen z.B. auf einen Tag aufsummieren.
from(bucket: "nrdb")
|> range(start: -1d)
|> filter(fn: (r) => r["_measurement"] == "Solarpower")|> filter(fn: (r) => r["_field"] == "SVTC" or r["_field"] == "SMTC")
|> difference(nonNegative: true)
|> aggregateWindow( every: 1d, fn: sum )
Dann in Grafana über die Transformation Reduce Total die Einzelwerte aufsummiert.
-
Ich nutze fast den gleichen weg und dann in Grafana über die Transformation Reduce Total die Einzelwerte aufsummiert.
Evlt. hast du nicht überall die exakt gleichen Zeitstempel. Über MQTT kommen die Werte mehr oder weniger beliebig übertragen, sobald sie sich ändern. Würde Immer den letzten Wert in Nodered zwischenspeichern und die Werte dann alle x Sekunden über einen JOIN Node in der InfluxDB speichern. Dadurch haben alle Werte den gleichen Zeit Stempel und können leicht addiert werden.
Sonst gibt es wohl Möglichkeiten bei der Abfrage die Zeit Stempel über Zeit Fenster zu glätten aber das macht es komplizierter.
VG