Προς το περιεχόμενο

Electricity consumption (DEDDIE API)


Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Έφτιαξα ένα οδηγό ώστε να μπορούμε να βλέπουμε τις καταναλώσεις μας από τον έξυπνο/ψηφιακό μετρητή της παροχής ρεύματος του ΔΕΔΔΗΕ, χρησιμοποιώντας την τηλεμετρία του (μέσω 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

image.png.886aed520fa593ff01d31cc36f6c6c83.png

Πατάμε σύνδεση με κωδικούς taxisnet και εισάγουμε το όνομα χρήστη και τον κωδικό πρόσβασης του κατόχου της παροχής ρεύματος, όπως εμφανίζεται στην εικόνα:

image.png.ddea684896e0f9b4e86e7b8a636a1068.png

Στο σημείο αυτό πιθανότατα θα σας εμφανισθεί ενημερωτικό μήνυμα pop up που θα λέει ότι δεν βρέθηκαν αριθμοί παροχής συνδεδεμένοι με αυτό το ΑΦΜ

image.png.0f30ccfb7a6ee19512b86e812026882d.png

Αγνοείστε το και ακολούθως πατήστε πάνω στο link «Αν θέλετε να αποκτήσετε πρόσβαση στα web services των μετρητικών δεδομένων που προσφέρονται, πατήστε εδώ.» . Θα σας μεταφέρει σε ένα νέο παράθυρο όπου μπορεί να εμφανισθεί το ίδιο ενημερωτικό μήνυμα με το προηγούμενο. Αγνοείστε το κι αυτό και ακολούθως πατάμε το κουμπί «ΔΗΜΙΟΥΡΓΙΑ ΚΛΕΙΔΙΟΥ ΠΡΟΣΒΑΣΗΣ»

image.png.54661f797a04751bb354cbe1db7a228e.png

Μετά την ολοκλήρωση αυτών των βημάτων αντιγράψτε και αποθηκεύστε το κλειδί 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

image.png.153996cb914a0ef2b5df6f2ae521eca4.png

BHMA 2o

Μέσα από το add-on του InfluxDB δημιουργούμε μία καινούργια βάση με την ονομασία DEDDIE. Φροντίζουμε να έχουμε σε αυτήν δικαιώματα read-write

Spoiler

image.png.2e6f5b71e538637b63fa4798eed05b3e.png

ΒΗΜΑ 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

image.png.ab7b3a2b0b9e07f239e46f0557ae9b98.png

ΠΡΟΣΟΧΗ: Για να δουλέψει αυτό το flow θα πρέπει να έχουνε δημιουργηθεί δύο συνδέσεις, μία με τη βάση DEDDIE της InfluxDB (ώστε να αποθηκεύει τις καταναλώσεις) και μία με το Home assistant (ώστε να αντλεί τα στοιχεία ΑΦΜ, αριθμός παροχής, κλειδί token και last_date). Συγκεκριμένα, για την InfluxDB (Στην εικόνα του ΒΗΜΑΤΟΣ 2ο παρατηρούμε ότι έχω δημιουργήσει χρήστη με το όνομα home,  τα στοιχεία του οποίου καταχώρησα στα πεδία Username και password).

Spoiler

image.png.4fb04821a922938773f59c1210c75212.png

Για την σύνδεση με το Home assistant:

Spoiler

image.png.5f98a61415da8f73ffaa0ef54d42f8e1.png

Το κλειδί access token το δημιουργούμε μέσα από το μενού του home assistant:  επιλέγουμε χρήστης -> καρτέλα ασφάλεια -> Tokens πρόσβασης μακράς διάρκειας και πατάμε το κουμπί ΔΗΜΙΟΥΡΓΙΑ TOKEN

 

Spoiler

image.png.1f428517d0c48c229111c29238a19e70.png

ΒΗΜΑ 4ο

Στο add-on Grafana του Home assistant από το αναδυόμενο μενού (πατάμε πάνω αριστερά στο σύμβολο) επιλέγουμε Connections -> Add new connection. Ακολούθως επιλέγουμε ως data source to InfluxDB

Spoiler

image.png.c6484d8fb349a3f66d443758ac6c7f93.png

image.png.e3d52a2a88d5e7badb4e8740e4f25ddf.png

Τέλος πατάμε 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 στη βάση.

Αποτέλεσμα

image.png.53f50693ae51de1b3408795335a01175.png

Επεξ/σία από mikemarios
Επικαιροποίηση οδηγού
  • Like 7
  • Thanks 10
  • Απαντ. 51
  • Δημ.
  • Τελ. απάντηση

Συχνή συμμετοχή στο θέμα

Συχνή συμμετοχή στο θέμα

Δημοσιευμένες Εικόνες

Δημοσ. (επεξεργασμένο)

Ευχαριστούμε θερμά @mikemarios

Σε εμένα για να δουλέψει το grafana (ίσως λόγω χρήσης 1.Χ version της influxdb; δεν ξέρω), έπρεπε να βάλω το κάτωθι query στο grafana:

SELECT mean("Value") AS "kWh" FROM "consumption" WHERE $timeFilter GROUP BY time($__interval) fill(none)

 

 

 

Επεξ/σία από liakjim
  • Like 2
Δημοσ.

@mikemarios Ευχαριστούμε πολύ!

@liakjim Θυμάσαι που το shelly στο κλιματιστικό διάβαζε (και συνεχίζει να διαβάζει η αλήθεια είναι) αρνητικές τιμές; Τον δεύτερο μετρητή τον έχω στην κεντρική παροχή του σπιτιού. Εδώ 2 συγκρίσεις απο μετρήσεις shelly και ΔΕΔΔΗΕ:

 

Spoiler

image.png.fe1d75e2674e9a5be327981270246fc9.pngimage.png.01d90d1a8165f57521e579338be4d1d4.png

  • Like 2
Δημοσ. (επεξεργασμένο)

Να ρωτήσω, ο αριθμός παροχής σε τι 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.

Επεξ/σία από nzeppos
Δημοσ. (επεξεργασμένο)

Σωστά. Από το παράδειγμα σας ο αριθμός παροχής είναι ο 112345678

Φαντάζομαι ότι έχετε βγάλει κλειδί token με τους κωδικούς taxisnet του ατόμου που ανήκει η παροχή.

Για να επιβεβαιώσετε ότι έχετε τα σωστά credentials μπορείτε να επισκεφτείτε την ιστοσελίδα https://apps.deddie.gr/rps/swagger/index.html?swagger_url=https://apps.deddie.gr/mdp/rest/swagger.json

και να δοκιμάσετε αν σας επιστρέφει αποτελέσματα.

Επεξ/σία από mikemarios
Δημοσ. (επεξεργασμένο)

Ναι. Αν βάλω λάθος ΑΦΜ/token αναμενόμενα πετάει 401. Με τα σωστά credentials (επιβεβαιωμένα με node.warn στο debug output) επιστρέφει μεν 200 αλλά δεν φαίνεται να κάνει κάτι από εκεί και πέρα. Ούτε έχει κάτι χρήσιμο στο response, ούτε φαίνεται να μπαίνει κάτι στην influxDB (το "Output" node είναι άδειο ακόμα και με complete msg object).

ps: πρώτη φορά βλέπω το node-red οπότε τώρα τα μαθαίνω και δεν ξέρω αν τα λέω καλά, αλλά δεν βλέπω να έχω κάνει κάπου κάποιο λάθος ακολουθώντας τον οδηγό.

Επεξ/σία από nzeppos
  • Like 1
Δημοσ.
10 λεπτά πριν, nzeppos είπε

Δεν το βλέπω να θέλει να συνεργαστεί: 😁

image.png.07fc4ac558ff1f3d4c11056b3605589e.png

Έχετε πρόβλημα με τα credentials σας τότε ή ο μετρητή σας δεν στέλνει δεδομένα τηλεμετρίας στον ΔΕΔΔΗΕ.

Δημοσ. (επεξεργασμένο)

Ωπ, κάτι πήγε να γίνει τώρα. Έβαλα αρχική ημερομηνία στο HA helper Ιούλιο 2024 μέχρι σήμερα και επιτέλους μου έφερε data στο Grafana έστω για μία μέρα (για 13/9). Οπότε ότι δουλεύει, δουλεύει. Αλλά δεν ξέρω μήπως ο ΔΕΔΔΗΕ έχει ό,τι να 'ναι data για μένα. Περίεργο.

Τα credentials σίγουρα είναι ΟΚ γιατί όπως είπα αν τα δηλώσω λάθος παίρνω http 401 αντί για 200 στο node-red. Ο μετρητής θεωρητικά πρέπει να στέλνει δεδομένα τηλεμετρίας γιατί κάθε μήνα έρχεται εκκαθαριστικός που νομίζω είναι σωστός (έχω κάτι μήνες να το διπλοτσεκάρω είναι η αλήθεια) αλλά ο ΔΕΔΔΗΕ δεν μπορεί να ελέγξει απευθείας το ρολόι αφού αυτό είναι εντός του οικοπέδου και δεν έχω δει ποτέ άνθρωπο να προσπαθεί να μπει μέσα. Οπότε είτε έχουν τηλεμετρία, είτε τα βάζουν στην τύχη. Θα ξαναδώ το ρολόι αύριο μπας και καταλάβω τι γίνεται.

Όπως και να 'χει ευχαριστώ πάρα πολύ για τη βοήθεια αλλά φυσικά και για τον καταπληκτικό αυτό οδηγό! Ακόμα και να μη δουλέψει επειδή έχω θέμα τηλεμετρίας, μου έδωσε κίνητρο να στήσω επιτέλους HA, Grafana κλπ που τα λιβάνιζα τόσο καιρό αλλά δεν είχα βρει χρόνο να ασχοληθώ...

Επεξ/σία από nzeppos
  • Thanks 1
Δημοσ. (επεξεργασμένο)

Αυτό είναι θετικό. Έχει αρκετές αστάθειες νομίζω ακόμη το API  του ΔΕΔΔΗΕ όσον αφορά τα calls γιατί βρισκεται σε πρώιμο στάδιο, δηλαδή έχει τύχει μέρες (όπως μπορείτε να δείτε στο αρχικό μου ποστ στο "αποτέλεσμα") που έφερε καταναλώσεις της χθεσινής μέρας, ενώ άλλες φορές φέρνει μέχρι της προχθεσινής μέρας. Τα αποτελέσματα όμως των καταναλώσεων είναι πιστεύω αξιόπιστα. Τουλάχιστον στις δικές μου καταναλώσεις.

Μπορεί να υπήρχε και πρόβλημα επικοινωνίας με το σερβερ αν ερμηνεύω σωστά το μνμ σφάλματος που σας έβγαλε.

Επεξ/σία από mikemarios
  • Like 1
Δημοσ. (επεξεργασμένο)

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 της ΔΕΔΔΗΕ

Untitled2.jpg

Τα παρατάω προς ώρας.

Έστω και κατά τύχη θα έπρεπε να το είχα φτιάξει...

Μου βγήκαν τα μάτια.

 

Επεξ/σία από yiannis_1
Δημοσ. (επεξεργασμένο)
3 ώρες πριν, yiannis_1 είπε

Έφτιαξα το last date helper αλλά δε μου ζήτησε πουθενά ημερομηνία εκκίνησης μετρήσεων.

Καλησπέρα @yiannis_1. Στο βοηθό ημερομηνίας που έφτιαξες (input_datetime) πρέπει να βάλεις εσύ την επιθυμητή ημερομηνία με αυτόν τον τρόπο:

image.png.41fc5d97abd0a7e7b7b7802a7798911c.png

3 ώρες πριν, yiannis_1 είπε

Γράφεις: Τέλος δημιουργούμε ένα ακόμη βοηθό ημερομηνία (input datetime) επιλέγοντας κατά την δημιουργία του το πεδίο «Ημερομηνία» μόνο, με την ονομασία DEDDIE last_date.

Εννοώ αυτό:

3.png.aeea13a2f3bb1a143765080fe8d7e8bb.png

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 να δούμε τι δεν έχει σεταριστεί σωστά. Καλή ενασχόληση! 

Επεξ/σία από mikemarios
  • Like 1
Δημοσ. (επεξεργασμένο)
5 hours ago, mikemarios said:

Καλησπέρα @yiannis_1. Στο βοηθό ημερομηνίας που έφτιαξες (input_datetime) πρέπει να βάλεις εσύ την επιθυμητή ημερομηνία με αυτόν τον τρόπο:

image.png.41fc5d97abd0a7e7b7b7802a7798911c.png

Εννοώ αυτό:

3.png.aeea13a2f3bb1a143765080fe8d7e8bb.png

Δεν καταλαβαίνω τον λόγο που δεν σου ξεκινήσε το node-red, δουλεύει αποβλημάτιστα μέσω nabu casa.

Αυτό στο εμφανίζει στα logs του home assistant; Αν ναι μάλλον δεν έχεις σετάρει σωστά το influxdb στο home assistant σου.

Αν δε σε βοήθησαν τα παραπάνω, βάλε screenshot να δούμε τι δεν έχει σεταριστεί σωστά. Καλή ενασχόληση! 

Μήπως παίζει ρόλο που το HA μου είναι σε vbox και win11 64bit?Screenshot2025-03-17003302.png.d98ee66942cb13f78727611c77fd1fe1.pngScreenshot2025-03-17003235.png.733e0e5fe8fcad592d6c2fa94b0d4069.pngScreenshot2025-03-17003119.png.6d22580ae5a08e9f66adc3b783444851.pngScreenshot2025-03-17003452.png.c82a06f5e3215360e74e3e491fafc724.png

Επεξ/σία από yiannis_1
Δημοσ.

Ας το δούμε για αρχή αν το request είναι σωστό. Απενεργοποίησε το node "Passthrow Curves only" και πρόσθεσε ένα node debug μετά το node "JSON format" και τρεξτο χειροκίνητα (πατάς το κουμπάκι αριστερά από το inject)

1.png.f292fd145b0b456f6956d2661952cb03.png

Τι σου εμφανίζει στο debug;


  • Δημιουργία νέου...