mikemarios Δημοσ. 12 Μαρτίου Δημοσ. 12 Μαρτίου (επεξεργασμένο) Έφτιαξα ένα οδηγό ώστε να μπορούμε να βλέπουμε τις καταναλώσεις μας από τον έξυπνο/ψηφιακό μετρητή της παροχής ρεύματος του ΔΕΔΔΗΕ, χρησιμοποιώντας την τηλεμετρία του (μέσω http API). Τα δεδομένα αποθηκεύονται σε βάση influxDB (HA add-on) και προβάλλονται σε γραφήματα μέσω Grafana (HA add-on) ΚΑΙ ΟΧΙ στη βάση δεδομένων του home assistant για τεχνικούς λόγους που εγώ δεν μπορώ να ξεπεράσω. Οπότε πρέπει να γνωρίζει όποιος ενδιαφέρεται να προχωρήσει σ’ αυτήν την υλοποίηση: 1) Τα πιο πρόσφατα στοιχεία που μπορούμε να αντλήσουμε από το ΔΕΔΔΗΕ για την κατανάλωση μας είναι της χθεσινής ημέρας, αυτό σημαίνει ότι δεν μπορούμε να βλέπουμε LIVE τις καταναλώσεις μας (αυτό συμβαίνει και με τους μεγάλους παρόχους του εξωτερικού) και πως δεν μπορούμε να εισάγουμε τα (history) στοιχεία αυτά αναδρομικά στο energy board του home assistant. Ευχαριστώ τα μέλη @liakjim, @userAnon, @tunic, @Grim Ripper, @BrunoB, @mdkamael και @flampouras για τις δοκιμές τους και την υποστήριξη τους. Θα προσπαθήσω να βοηθήσω όσο μπορώ περισσότερο σε τυχόν προβλήματα και βοήθεια που θα ζητηθεί από τα μέλη, απλά να έχουμε υπόψιν ότι αυτό δεν είναι τεχνική υποστήριξη (είμαι χομπίστας όχι επαγγελματίας), ο καθένας το υλοποιεί ελεύθερα και με δική του ευθύνη και εμείς βοηθάμε όσο ξέρουμε και μπορούμε. Καλή ενασχόληση! ΟΔΗΓΟΣ ΓΙΑ ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΚΑΤΑΝΑΛΩΣΕΩΝ Πριν προχωρήσουμε θα πρέπει να γνωρίζουμε: α) τον αριθμό της παροχής μας. Είναι ένα 9ψήφιο νούμερο που συνήθως αναγράφεται πάνω στον λογαριασμό του ηλεκτρικού μας ρεύματος, β) τον ΑΦΜ του ατόμου που εκδίδονται οι λογαριασμοί ρεύματος της παροχής μας, γ) το κλειδί token που εκδίδεται από την ιστοσελίδα του ΔΕΔΔΗΕ. Spoiler Για να εκδώσουμε ένα κλειδί token από τον ΔΕΔΔΗΕ μεταβαίνουμε στην ιστοσελίδα https://apps.deddie.gr/mdp/mdpAccessTokens.html Πατάμε σύνδεση με κωδικούς taxisnet και εισάγουμε το όνομα χρήστη και τον κωδικό πρόσβασης του κατόχου της παροχής ρεύματος, όπως εμφανίζεται στην εικόνα: Στο σημείο αυτό πιθανότατα θα σας εμφανισθεί ενημερωτικό μήνυμα pop up που θα λέει ότι δεν βρέθηκαν αριθμοί παροχής συνδεδεμένοι με αυτό το ΑΦΜ Αγνοείστε το και ακολούθως πατήστε πάνω στο link «Αν θέλετε να αποκτήσετε πρόσβαση στα web services των μετρητικών δεδομένων που προσφέρονται, πατήστε εδώ.» . Θα σας μεταφέρει σε ένα νέο παράθυρο όπου μπορεί να εμφανισθεί το ίδιο ενημερωτικό μήνυμα με το προηγούμενο. Αγνοείστε το κι αυτό και ακολούθως πατάμε το κουμπί «ΔΗΜΙΟΥΡΓΙΑ ΚΛΕΙΔΙΟΥ ΠΡΟΣΒΑΣΗΣ» Μετά την ολοκλήρωση αυτών των βημάτων αντιγράψτε και αποθηκεύστε το κλειδί token που δημιουργήσατε. Προσοχή: Η χρονική ισχύς του κλειδιού είναι για έξι μήνες, οπότε μετά την λήξη ισχύος του, απαιτείται δημιουργία νέου. Υλοποίηση στο Home Assistant Στο home assistant θα χρειαστούμε να έχουμε εγκατεστημένα τα πρόσθετα add-ons: NODE-RED, InfluxDB και Grafana. Δεν θα εξηγήσω πως τα εγκαθιστούμε και τα παραμετροποιούμε γιατί ξεφεύγουμε από το σκοπό του οδηγού αυτού. Με μία απλή αναζήτηση στο διαδίκτυο θα βρείτε πλήθος βίντεο και άρθρων που εξηγούν αναλυτικά τα βήματα για την εγκατάσταση τους και την παραμετροποίηση τους. BHMA 1o Στο home assistant δημιουργούμε τρεις βοηθούς (helpers) κειμένου (input text) με τις ονομασίες DEDDIE supplyNumber, DEDDIE taxNumber και DEDDIE token. Στο DEDDIE supplyNumber εισάγουμε τον αριθμό της παροχής μας, στο DEDDIE taxNumber εισάγουμε το ΑΦΜ του ατόμου που εκδίδονται οι λογαριασμοί του ρεύματος και στο DEDDIE token το κλειδί token που δημιουργήσαμε από την ιστοσελίδα του ΔΕΔΔΗΕ προηγουμένως. Τέλος δημιουργούμε ένα ακόμη βοηθό ημερομηνία (input datetime) επιλέγοντας κατά την δημιουργία του το πεδίο «Ημερομηνία» μόνο, με την ονομασία DEDDIE last_date. Σε αυτό για μόνο μία φορά (στη συνέχεια θα αλλάζει αυτόματα) θα εισάγουμε την ημερομηνία από την οποία θέλουμε να ξεκινήσουμε να αντλούμε τα στοιχεία των καταναλώσεων μας. Η ημερομηνία δεν μπορεί να αντιστοιχεί σε χρονικό διάστημα μεγαλύτερο του 1 έτους από τη τωρινή ημερομηνία. Spoiler BHMA 2o Μέσα από το add-on του InfluxDB δημιουργούμε μία καινούργια βάση με την ονομασία DEDDIE. Φροντίζουμε να έχουμε σε αυτήν δικαιώματα read-write Spoiler ΒΗΜΑ 3ο Αυτό είναι το βασικότερο βήμα. Μέσα από το add-on του NODE-RED κάνουμε import (πατάμε πάνω δεξιά τις τρεις γραμμές και μετά από το μενού επιλέγουμε import) το παρακάτω flow: Spoiler [{"id":"5962dd672c4fd0fb","type":"tab","label":"Flow 1","disabled":false,"info":"","env":[]},{"id":"94c034fd5f3ac620","type":"http request","z":"5962dd672c4fd0fb","name":"Call to DEDDIE","method":"use","ret":"txt","paytoqs":"query","url":"","tls":"","persist":false,"proxy":"","insecureHTTPParser":false,"authType":"","senderr":false,"headers":[],"x":460,"y":80,"wires":[["15ec57e66e9e1ee6"]]},{"id":"e92cb45e13299192","type":"inject","z":"5962dd672c4fd0fb","name":"","props":[],"repeat":"28800","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":110,"y":80,"wires":[["02f1ae69fd8ddc92"]]},{"id":"94e24e4d2d9ac5d6","type":"debug","z":"5962dd672c4fd0fb","name":"Output","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"jsonata","statusVal":"","statusType":"auto","x":970,"y":240,"wires":[]},{"id":"02f1ae69fd8ddc92","type":"function","z":"5962dd672c4fd0fb","name":"Set API","func":"var date1, date2, supplyNumber, taxNumber\ndate1 = global.get('homeassistant.homeAssistant.states[\"input_datetime.deddie_last_date\"].state')\ndate2 = new Date()\ndate2 = (date2.getFullYear() + '-' + ('00' + (date2.getMonth() + 1)).slice(-2) + '-' + ('00' + (date2.getDate())).slice(-2))\ndate1 = date1 + \"T20:00:00.000Z\"\ndate2 = date2 + \"T20:00:00.000Z\"\nsupplyNumber = global.get('homeassistant.homeAssistant.states[\"input_text.deddie_supplynumber\"].state')\ntaxNumber = global.get('homeassistant.homeAssistant.states[\"input_text.deddie_taxnumber\"].state')\nmsg.method = \"POST\"\nmsg.url = \"https://apps.deddie.gr/mdp/rest/getCurves\"\nmsg.headers = {}\nmsg.headers[\"accept\"] = \"application/json;charset=utf-8\"\nmsg.headers[\"token\"] = global.get('homeassistant.homeAssistant.states[\"input_text.deddie_token\"].state')\nmsg.headers[\"scope\"] = \"API\"\nmsg.headers[\"Content-Type\"] = \"application/json;charset=utf-8\"\nmsg.payload = \"{ \\\"analysisType\\\": 2, \\\"classType\\\": \\\"active\\\", \\\"confirmedDataFlag\\\": false, \\\"fromDate\\\": \\\"\" + date1 + \"\\\", \\\"hourAnalysisFlag\\\": false, \\\"supplyNumber\\\": \\\"\" + supplyNumber + \"\\\", \\\"taxNumber\\\": \\\"\" + taxNumber + \"\\\", \\\"toDate\\\": \\\"\" + date2 + \"\\\"}\"\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":280,"y":80,"wires":[["94c034fd5f3ac620"]]},{"id":"a5041127f7da0020","type":"influxdb out","z":"5962dd672c4fd0fb","influxdb":"9adf06653c7946d6","name":"Save Data to Influxdb","measurement":"consumption","precision":"","retentionPolicy":"","database":"DEDDIE","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":940,"y":100,"wires":[]},{"id":"f37f66ba1acf6cfa","type":"function","z":"5962dd672c4fd0fb","name":"Passthrow Curves only","func":"msg.payload = msg.payload.curves;\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":140,"y":160,"wires":[["df087ec3cd387274"]]},{"id":"ceb634c538aedadb","type":"split","z":"5962dd672c4fd0fb","name":"Split per consumption","splt":"\\n, ,","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","property":"payload","x":720,"y":160,"wires":[["927452fda105c168","e5a8ad9a4c05362e"]]},{"id":"15ec57e66e9e1ee6","type":"json","z":"5962dd672c4fd0fb","name":"JSON format","property":"payload","action":"obj","pretty":false,"x":650,"y":80,"wires":[["f37f66ba1acf6cfa"]]},{"id":"927452fda105c168","type":"function","z":"5962dd672c4fd0fb","name":"Customize Data for Influxdb","func":"var date = msg.payload.meterDate;\nvar newdate = date.replace(/[\\/]/g, '-');\nnewdate = newdate.split(\" \");\nvar newdate1 = newdate[0].split(\"-\").reverse().join(\"-\");\nnewdate = newdate1 + ' ' + newdate[1]\nmsg.payload = { \"Value\": parseFloat(msg.payload.consumption), time: Date.parse(newdate) }\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":960,"y":160,"wires":[["a5041127f7da0020","94e24e4d2d9ac5d6"]]},{"id":"df087ec3cd387274","type":"switch","z":"5962dd672c4fd0fb","name":"Parse Data only when API returns result","property":"payload","propertyType":"msg","rules":[{"t":"nempty"}],"checkall":"true","repair":false,"outputs":1,"x":440,"y":160,"wires":[["ceb634c538aedadb"]]},{"id":"807fd4ab1f6eb30d","type":"api-call-service","z":"5962dd672c4fd0fb","name":"DEDDIE last_date","server":"78b3dee3d2f72500","version":7,"debugenabled":true,"action":"input_datetime.set_datetime","floorId":[],"areaId":[],"deviceId":[],"entityId":["input_datetime.deddie_last_date"],"labelId":[],"data":"{\"date\" : payload}","dataType":"jsonata","mergeContext":"","mustacheAltTags":false,"outputProperties":[],"queue":"last","blockInputOverrides":false,"domain":"input_datetime","service":"set_datetime","x":630,"y":280,"wires":[[]]},{"id":"e5a8ad9a4c05362e","type":"function","z":"5962dd672c4fd0fb","name":"Find last date of curves results","func":"var date = msg.payload.meterDate;\nvar newdate = date.replace(/[\\/]/g, '-');\nnewdate = newdate.split(\" \");\nvar newdate1 = newdate[0].split(\"-\").reverse().join(\"-\");\nmsg.payload = newdate1;\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":630,"y":220,"wires":[["807fd4ab1f6eb30d"]]},{"id":"9adf06653c7946d6","type":"influxdb","hostname":"127.0.0.1","port":8086,"protocol":"http","database":"database","name":"Deddie","usetls":false,"tls":"","influxdbVersion":"1.8-flux","url":"http://localhost:8086","timeout":10,"rejectUnauthorized":true},{"id":"78b3dee3d2f72500","type":"server","name":"Home Assistant","version":5,"addon":false,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true,"heartbeat":false,"heartbeatInterval":30,"areaSelector":"friendlyName","deviceSelector":"friendlyName","entitySelector":"friendlyName","statusSeparator":": ","statusYear":"hidden","statusMonth":"short","statusDay":"numeric","statusHourCycle":"default","statusTimeFormat":"h:m","enableGlobalContextStore":true}] Αν έχετε υλοποιήσει σωστά αυτό το βήμα θα πρέπει να έχετε ένα flow σαν αυτό: Spoiler ΠΡΟΣΟΧΗ: Για να δουλέψει αυτό το flow θα πρέπει να έχουνε δημιουργηθεί δύο συνδέσεις, μία με τη βάση DEDDIE της InfluxDB (ώστε να αποθηκεύει τις καταναλώσεις) και μία με το Home assistant (ώστε να αντλεί τα στοιχεία ΑΦΜ, αριθμός παροχής, κλειδί token και last_date). Συγκεκριμένα, για την InfluxDB (Στην εικόνα του ΒΗΜΑΤΟΣ 2ο παρατηρούμε ότι έχω δημιουργήσει χρήστη με το όνομα home, τα στοιχεία του οποίου καταχώρησα στα πεδία Username και password). Spoiler Για την σύνδεση με το Home assistant: Spoiler Το κλειδί access token το δημιουργούμε μέσα από το μενού του home assistant: επιλέγουμε χρήστης -> καρτέλα ασφάλεια -> Tokens πρόσβασης μακράς διάρκειας και πατάμε το κουμπί ΔΗΜΙΟΥΡΓΙΑ TOKEN Spoiler ΒΗΜΑ 4ο Στο add-on Grafana του Home assistant από το αναδυόμενο μενού (πατάμε πάνω αριστερά στο σύμβολο) επιλέγουμε Connections -> Add new connection. Ακολούθως επιλέγουμε ως data source to InfluxDB Spoiler Τέλος πατάμε Save & Test Δημιουργούμε καινούργιο dashboard και έπειτα προσθέτουμε νέο panel (Add visualization) με query: Spoiler SELECT mean("Value") FROM "autogen"."consumption" WHERE $timeFilter GROUP BY time($__interval) fill(none) Αρχείο JSON: Spoiler { "id": 1, "type": "barchart", "title": "DEDDIE Consumption", "gridPos": { "x": 0, "y": 0, "h": 15, "w": 24 }, "fieldConfig": { "defaults": { "custom": { "lineWidth": 1, "fillOpacity": 80, "gradientMode": "none", "axisPlacement": "left", "axisLabel": "", "axisColorMode": "text", "axisBorderShow": false, "scaleDistribution": { "type": "linear" }, "axisCenteredZero": false, "hideFrom": { "tooltip": false, "viz": false, "legend": false }, "thresholdsStyle": { "mode": "off" } }, "color": { "mode": "palette-classic" }, "mappings": [], "thresholds": { "mode": "absolute", "steps": [ { "color": "green", "value": null }, { "color": "red", "value": 80 } ] }, "unit": "kwatth" }, "overrides": [ { "matcher": { "id": "byName", "options": "Time" }, "properties": [ { "id": "unit", "value": "time:DD/MM HH:mm" } ] } ] }, "pluginVersion": "11.5.2", "targets": [ { "datasource": { "type": "influxdb", "uid": "fef5umyag5r0gd" }, "groupBy": [ { "params": [ "$__interval" ], "type": "time" }, { "params": [ "none" ], "type": "fill" } ], "measurement": "consumption", "orderByTime": "ASC", "policy": "autogen", "refId": "A", "resultFormat": "time_series", "select": [ [ { "params": [ "Value" ], "type": "field" }, { "params": [], "type": "mean" } ] ], "tags": [] } ], "datasource": { "type": "influxdb", "uid": "fef5umyag5r0gd" }, "options": { "orientation": "auto", "xTickLabelRotation": 0, "xTickLabelSpacing": 100, "showValue": "auto", "stacking": "none", "groupWidth": 0.7, "barWidth": 1, "barRadius": 0, "fullHighlight": false, "tooltip": { "mode": "single", "sort": "none", "hideZeros": false }, "legend": { "showLegend": true, "displayMode": "list", "placement": "bottom", "calcs": [ "sum", "mean" ] } } } Το flow θα πρέπει να τρέχει αυτόματα κάθε 8 ώρες και ανάλογα μέχρι ποια ημερομηνία έχει αντλήσει στοιχεία, θα αλλάζει την ημερομηνία στο DEDDIE last_date, οπότε καλό είναι να μην αλλάζουμε το entity αυτό χειροκίνητα, ώστε να μην κάνουμε rewrite στη βάση. Αποτέλεσμα Επεξ/σία 14 Μαρτίου από mikemarios Επικαιροποίηση οδηγού 7 10
liakjim Δημοσ. 12 Μαρτίου Δημοσ. 12 Μαρτίου (επεξεργασμένο) Ευχαριστούμε θερμά @mikemarios Σε εμένα για να δουλέψει το grafana (ίσως λόγω χρήσης 1.Χ version της influxdb; δεν ξέρω), έπρεπε να βάλω το κάτωθι query στο grafana: SELECT mean("Value") AS "kWh" FROM "consumption" WHERE $timeFilter GROUP BY time($__interval) fill(none) Επεξ/σία 12 Μαρτίου από liakjim 2
flampouras Δημοσ. 13 Μαρτίου Δημοσ. 13 Μαρτίου @mikemarios Ευχαριστούμε πολύ! @liakjim Θυμάσαι που το shelly στο κλιματιστικό διάβαζε (και συνεχίζει να διαβάζει η αλήθεια είναι) αρνητικές τιμές; Τον δεύτερο μετρητή τον έχω στην κεντρική παροχή του σπιτιού. Εδώ 2 συγκρίσεις απο μετρήσεις shelly και ΔΕΔΔΗΕ: Spoiler 2
nzeppos Δημοσ. 13 Μαρτίου Δημοσ. 13 Μαρτίου (επεξεργασμένο) Να ρωτήσω, ο αριθμός παροχής σε τι format πρέπει να δηλωθεί; Αν δεν κάνω λάθος, στο λογαριασμό της ΔΕΗ κανονικά είναι της μορφής 1-12345678-123 (με παύλες ή κενά). Στο supplyNumber πως δηλώνεται το 9ψήφιο που λέτε; 112345678; Γιατί δοκιμάζω τον οδηγό αλλά σαν να σκάει στο Call to DEDDIE και το Output δεν δείχνει κάτι. Ή μάλλον για να το πω αλλιώς, τούτο εδώ το payload του POST τι θα έπρεπε να επιστρέψει κανονικά; payload: "{"curveSearchParameters":{"analysisType":2,"classType":"active","confirmedDataFlag":false,"fromDate":"2025-01-01T22:00:00+02:00","hourAnalysisFlag":false,"supplyNumber":"123456789","taxNumber":"...","toDate":"2025-03-13T22:00:00+02:00"},"curves":[]}" Τα credentials είναι σωστά γιατί επιστρέψει status 200. Αλλά το response είναι απλώς ένα άδειο array αν το καταλαβαίνω σωστά από το debug window. Επεξ/σία 13 Μαρτίου από nzeppos
mikemarios Δημοσ. 13 Μαρτίου Μέλος Δημοσ. 13 Μαρτίου (επεξεργασμένο) Σωστά. Από το παράδειγμα σας ο αριθμός παροχής είναι ο 112345678 Φαντάζομαι ότι έχετε βγάλει κλειδί token με τους κωδικούς taxisnet του ατόμου που ανήκει η παροχή. Για να επιβεβαιώσετε ότι έχετε τα σωστά credentials μπορείτε να επισκεφτείτε την ιστοσελίδα https://apps.deddie.gr/rps/swagger/index.html?swagger_url=https://apps.deddie.gr/mdp/rest/swagger.json και να δοκιμάσετε αν σας επιστρέφει αποτελέσματα. Επεξ/σία 13 Μαρτίου από mikemarios
nzeppos Δημοσ. 13 Μαρτίου Δημοσ. 13 Μαρτίου (επεξεργασμένο) Ναι. Αν βάλω λάθος ΑΦΜ/token αναμενόμενα πετάει 401. Με τα σωστά credentials (επιβεβαιωμένα με node.warn στο debug output) επιστρέφει μεν 200 αλλά δεν φαίνεται να κάνει κάτι από εκεί και πέρα. Ούτε έχει κάτι χρήσιμο στο response, ούτε φαίνεται να μπαίνει κάτι στην influxDB (το "Output" node είναι άδειο ακόμα και με complete msg object). ps: πρώτη φορά βλέπω το node-red οπότε τώρα τα μαθαίνω και δεν ξέρω αν τα λέω καλά, αλλά δεν βλέπω να έχω κάνει κάπου κάποιο λάθος ακολουθώντας τον οδηγό. Επεξ/σία 13 Μαρτίου από nzeppos 1
mikemarios Δημοσ. 13 Μαρτίου Μέλος Δημοσ. 13 Μαρτίου Δοκιμάστε την ιστοσελίδα https://apps.deddie.gr/rps/swagger/index.html?swagger_url=https://apps.deddie.gr/mdp/rest/swagger.json και αν επιστρέφει αποτελέσματα τότε θα πρέπει να δούμε το σετάρισμα σας στο HA. 1
mikemarios Δημοσ. 13 Μαρτίου Μέλος Δημοσ. 13 Μαρτίου 10 λεπτά πριν, nzeppos είπε Δεν το βλέπω να θέλει να συνεργαστεί: 😁 Έχετε πρόβλημα με τα credentials σας τότε ή ο μετρητή σας δεν στέλνει δεδομένα τηλεμετρίας στον ΔΕΔΔΗΕ.
nzeppos Δημοσ. 13 Μαρτίου Δημοσ. 13 Μαρτίου (επεξεργασμένο) Ωπ, κάτι πήγε να γίνει τώρα. Έβαλα αρχική ημερομηνία στο HA helper Ιούλιο 2024 μέχρι σήμερα και επιτέλους μου έφερε data στο Grafana έστω για μία μέρα (για 13/9). Οπότε ότι δουλεύει, δουλεύει. Αλλά δεν ξέρω μήπως ο ΔΕΔΔΗΕ έχει ό,τι να 'ναι data για μένα. Περίεργο. Τα credentials σίγουρα είναι ΟΚ γιατί όπως είπα αν τα δηλώσω λάθος παίρνω http 401 αντί για 200 στο node-red. Ο μετρητής θεωρητικά πρέπει να στέλνει δεδομένα τηλεμετρίας γιατί κάθε μήνα έρχεται εκκαθαριστικός που νομίζω είναι σωστός (έχω κάτι μήνες να το διπλοτσεκάρω είναι η αλήθεια) αλλά ο ΔΕΔΔΗΕ δεν μπορεί να ελέγξει απευθείας το ρολόι αφού αυτό είναι εντός του οικοπέδου και δεν έχω δει ποτέ άνθρωπο να προσπαθεί να μπει μέσα. Οπότε είτε έχουν τηλεμετρία, είτε τα βάζουν στην τύχη. Θα ξαναδώ το ρολόι αύριο μπας και καταλάβω τι γίνεται. Όπως και να 'χει ευχαριστώ πάρα πολύ για τη βοήθεια αλλά φυσικά και για τον καταπληκτικό αυτό οδηγό! Ακόμα και να μη δουλέψει επειδή έχω θέμα τηλεμετρίας, μου έδωσε κίνητρο να στήσω επιτέλους HA, Grafana κλπ που τα λιβάνιζα τόσο καιρό αλλά δεν είχα βρει χρόνο να ασχοληθώ... Επεξ/σία 13 Μαρτίου από nzeppos 1
mikemarios Δημοσ. 13 Μαρτίου Μέλος Δημοσ. 13 Μαρτίου (επεξεργασμένο) Αυτό είναι θετικό. Έχει αρκετές αστάθειες νομίζω ακόμη το API του ΔΕΔΔΗΕ όσον αφορά τα calls γιατί βρισκεται σε πρώιμο στάδιο, δηλαδή έχει τύχει μέρες (όπως μπορείτε να δείτε στο αρχικό μου ποστ στο "αποτέλεσμα") που έφερε καταναλώσεις της χθεσινής μέρας, ενώ άλλες φορές φέρνει μέχρι της προχθεσινής μέρας. Τα αποτελέσματα όμως των καταναλώσεων είναι πιστεύω αξιόπιστα. Τουλάχιστον στις δικές μου καταναλώσεις. Μπορεί να υπήρχε και πρόβλημα επικοινωνίας με το σερβερ αν ερμηνεύω σωστά το μνμ σφάλματος που σας έβγαλε. Επεξ/σία 14 Μαρτίου από mikemarios 1
yiannis_1 Δημοσ. 16 Μαρτίου Δημοσ. 16 Μαρτίου (επεξεργασμένο) InfluxDB returned error: error reading influxDB Παλεύω αλλά δεν βλέπω φως. Για αρχή συνδεδεόμουν μέσω nabucasa και δεν μου ξεκινούσε το node red το οποίο πρώτη φορά το έβλεπα. Μετά συνδέθηκα local και έτρεξε αλλά δεν είμαι σίγουρος πως τρέχει ο server DEDDIE στον influxdb και αυτό πρώτη φορά το ανοίγω. Εντομεταξύ σε κάποιο σημείο στην αρχή εκεί με τα helpers του HA που πάλι 1η φορά φτιάχνω. Γράφεις: Τέλος δημιουργούμε ένα ακόμη βοηθό ημερομηνία (input datetime) επιλέγοντας κατά την δημιουργία του το πεδίο «Ημερομηνία» μόνο, με την ονομασία DEDDIE last_date. Σε αυτό για μόνο μία φορά (στη συνέχεια θα αλλάζει αυτόματα) θα εισάγουμε την ημερομηνία από την οποία θέλουμε να ξεκινήσουμε να αντλούμε τα στοιχεία των καταναλώσεων μας. Η ημερομηνία δεν μπορεί να αντιστοιχεί σε χρονικό διάστημα μεγαλύτερο του 1 έτους από τη τωρινή ημερομηνία. Έφτιαξα το last date helper αλλά δε μου ζήτησε πουθενά ημερομηνία εκκίνησης μετρήσεων. Για το μόνο που είμαι σίγουρος είναι ότι υπάρχει τηλεμετρία στο μετρητή μου γιατί είδα στατιστικά για το ρολόϊ μου απ το site της ΔΕΔΔΗΕ Τα παρατάω προς ώρας. Έστω και κατά τύχη θα έπρεπε να το είχα φτιάξει... Μου βγήκαν τα μάτια. Επεξ/σία 16 Μαρτίου από yiannis_1
mikemarios Δημοσ. 16 Μαρτίου Μέλος Δημοσ. 16 Μαρτίου (επεξεργασμένο) 3 ώρες πριν, yiannis_1 είπε Έφτιαξα το last date helper αλλά δε μου ζήτησε πουθενά ημερομηνία εκκίνησης μετρήσεων. Καλησπέρα @yiannis_1. Στο βοηθό ημερομηνίας που έφτιαξες (input_datetime) πρέπει να βάλεις εσύ την επιθυμητή ημερομηνία με αυτόν τον τρόπο: 3 ώρες πριν, yiannis_1 είπε Γράφεις: Τέλος δημιουργούμε ένα ακόμη βοηθό ημερομηνία (input datetime) επιλέγοντας κατά την δημιουργία του το πεδίο «Ημερομηνία» μόνο, με την ονομασία DEDDIE last_date. Εννοώ αυτό: 3 ώρες πριν, yiannis_1 είπε Για αρχή συνδεδεόμουν μέσω nabucasa και δεν μου ξεκινούσε το node red το οποίο πρώτη φορά το έβλεπα. Δεν καταλαβαίνω τον λόγο που δεν σου ξεκινήσε το node-red, δουλεύει αποβλημάτιστα μέσω nabu casa. 3 ώρες πριν, yiannis_1 είπε InfluxDB returned error: error reading influxDB Αυτό στο εμφανίζει στα logs του home assistant; Αν ναι μάλλον δεν έχεις σετάρει σωστά το influxdb στο home assistant σου. Αν δε σε βοήθησαν τα παραπάνω, βάλε screenshot να δούμε τι δεν έχει σεταριστεί σωστά. Καλή ενασχόληση! Επεξ/σία 16 Μαρτίου από mikemarios 1
yiannis_1 Δημοσ. 16 Μαρτίου Δημοσ. 16 Μαρτίου (επεξεργασμένο) 5 hours ago, mikemarios said: Καλησπέρα @yiannis_1. Στο βοηθό ημερομηνίας που έφτιαξες (input_datetime) πρέπει να βάλεις εσύ την επιθυμητή ημερομηνία με αυτόν τον τρόπο: Εννοώ αυτό: Δεν καταλαβαίνω τον λόγο που δεν σου ξεκινήσε το node-red, δουλεύει αποβλημάτιστα μέσω nabu casa. Αυτό στο εμφανίζει στα logs του home assistant; Αν ναι μάλλον δεν έχεις σετάρει σωστά το influxdb στο home assistant σου. Αν δε σε βοήθησαν τα παραπάνω, βάλε screenshot να δούμε τι δεν έχει σεταριστεί σωστά. Καλή ενασχόληση! Μήπως παίζει ρόλο που το HA μου είναι σε vbox και win11 64bit? Επεξ/σία 16 Μαρτίου από yiannis_1
mikemarios Δημοσ. 16 Μαρτίου Μέλος Δημοσ. 16 Μαρτίου Ας το δούμε για αρχή αν το request είναι σωστό. Απενεργοποίησε το node "Passthrow Curves only" και πρόσθεσε ένα node debug μετά το node "JSON format" και τρεξτο χειροκίνητα (πατάς το κουμπάκι αριστερά από το inject) Τι σου εμφανίζει στο debug;
Προτεινόμενες αναρτήσεις