Acties:
  • 0 Henk 'm!

  • EngelbertDubois
  • Registratie: September 2012
  • Laatst online: 12-09 12:42
Hey Teaser. In heb de tijd nog niet gehad om hier verder in te duiken.

Ik heb contact gehad met Junckers maar veel hulp heb ik daar jammer genoeg niet gehad. Publieke documentatie is er niet.

Ik vind de MB-Lan module tot nu toe zeer beperkt. Veel integratie mogelijkheden zijn er niet

Acties:
  • 0 Henk 'm!

  • teaser
  • Registratie: April 2007
  • Laatst online: 12-09 13:36
Nee, hulp van de fabrikant zou ik ook niet verwachten. Ze houden liefst alles zo gesloten mogelijk om maar hun eigen producten te verkopen. Ik vermoed ook dat de MB-LAN2 module en bijhorende app een stille dood gaan sterven ten voordele van de CT-100.

Wat niet wil zeggen natuurlijk dat de MB-LAN2 niet meer gebruikt kan worden voor integratie met andere systemen. Het is in ieder geval zeer plausibel dat er grote overeenkomsten zijn met de Nefit, gezien het gemeenschappelijke moederbedrijf. In ieder geval zou alles wat met die JunkersHome app kan ingesteld worden mogelijk moeten zijn via XMPP denk ik dan.

Ik heb momenteel de opportuniteit om een tweedehands MB-LAN2 module te kopen, ik denk dat ik dat wel ga doen en dan zie ik wel wat de mogelijkheden zijn.

Edit: nu ik dit topic wat aan het doorbladeren ben, zie ik dat het voornamelijk gaat over de communicatie tussen app en (cloud) backend. Helemaal niet waar ik naar op zoek ben dus. Maar goed, als ik de MB-LAN2 heb start ik wel een nieuw topic.

[ Voor 13% gewijzigd door teaser op 05-03-2017 10:34 ]


Acties:
  • +2 Henk 'm!

  • Shapeshifter
  • Registratie: Januari 2004
  • Laatst online: 07-09 21:38

Shapeshifter

Get it over with

Shapeshifter schreef op woensdag 25 januari 2017 @ 11:49:
Voor wie liever een Python implementatie heeft heb ik alvast een beginnetje gemaakt. Dit draait op mijn Raspberry Pi:

Python:
1
# Hier stond code


Niet echt de moeite genomen om fouten e.d. af te vangen, dus your mileage may vary. Op het moment vooral geïnteresseerd in uitlezen en niet in aansturen, dus weet niet of ik nog set commands ga implementeren.
Kleine update gebaseerd op https://github.com/patvdleer/nefit-client-python

In deze klasse zit alles wat je nodig hebt om waarden uit te lezen en de temperatuur in te stellen en is hopelijk wat stabieler.

Python:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
#!/usr/bin/python
import sleekxmpp, pyaes, multiprocessing, json, base64, hashlib, math, datetime

class NefitEasy:
    userMode            = None # clock or manual
    manualSetpoint      = None
    setpoint            = None
    temperature         = None
    outsideTemperature  = None
    boilerIndicator     = None # CH, HW or No
    systemPressure      = None
    hotWater            = None
    override            = None
    overrideSetpoint    = None
    overrideDuration    = None
    powerSave           = None
    holidayMode         = None
    firePlace           = None
    sundayToday         = None
    sundayTomorrow      = None
    usage               = {}
    lastUpdated         = datetime.datetime.now()

    event               = None
    container           = {}

    def __init__(self, serialNumber, accessKey, password):
        secret              = bytearray.fromhex('58f18d70f667c9c79ef7de435bf0f9b1553bbb6e61816212ab80e5b0d351fbb1')
        self.key            = hashlib.md5(bytearray(accessKey, 'utf8') + secret).digest() + hashlib.md5(secret + bytearray(password, 'utf8')).digest()
        self.recipient      = 'rrcgateway_{0}@wa2-mz36-qrmzh6.bosch.de'.format(serialNumber)
        self.sender         = 'rrccontact_{0}@wa2-mz36-qrmzh6.bosch.de'.format(serialNumber)

        self.client = sleekxmpp.ClientXMPP(jid = self.sender, password = 'Ct7ZR03b_{0}'.format(accessKey), sasl_mech = 'DIGEST-MD5')
        self.client.add_event_handler('session_start', self.SessionStart)
        self.client.register_plugin('xep_0199')

    def SessionStart(self, event):
        self.client.send_presence()
        self.client.get_roster()

    def Connect(self):
        self.client.connect()
        self.client.process(block = False)

    def Disconnect(self):
        self.client.disconnect()

    def Decrypt(self, data):
        if not data:
            return ''
        
        cipher      = pyaes.Decrypter(pyaes.AESModeOfOperationECB(self.key), padding = pyaes.PADDING_NONE)
        decrypted   = cipher.feed(base64.b64decode(data)) + cipher.feed()
        
        return decrypted.decode('utf8').rstrip(chr(0))

    def Message(self, message):
        if message['type'] in ('chat', 'normal'):
            headers = message['body'].split('\n')[:-1]
            body    = message['body'].split('\n')[-1:][0]
            
            if 'HTTP/1.0 400 Bad Request' in headers:
                return

            response = self.Decrypt(body)

            if 'Content-Type: application/json' in headers:
                response = response.strip()
                
                if len(response) > 1:
                    response = json.loads(response.strip())
            
            self.container[id(self.event)] = response
        self.event.set()

    def Send(self, body):
        body    = body.replace('\r', '
\n')
        message = self.client.make_message(mto = self.recipient, mfrom = self.sender, mbody = body)
        message['lang'] = None
        str_data = sleekxmpp.xmlstream.tostring(message.xml, xmlns = message.stream.default_ns, stream = message.stream, top_level = True)
        str_data = str_data.replace('
', '
')
        
        return message.stream.send_raw(str_data)

    def Get(self, url):
        self.event = multiprocessing.Event()
        self.client.add_event_handler('message', self.Message)
        self.Send('GET {0} HTTP/1.1\rUser-Agent: NefitEasy\r\r'.format(url))
        self.event.wait(timeout = 10)
        self.client.del_event_handler('message', self.Message)

        if id(self.event) in self.container.keys():
            response = self.container[id(self.event)]
            del(self.container[id(self.event)])
        else:
            reponse = None

        return response

    def Encrypt(self, data):
        if len(data) % 16 != 0:
            data = data + (16 - len(data) % 16) * chr(0)
        
        cipher      = pyaes.Encrypter(pyaes.AESModeOfOperationECB(self.key), padding = pyaes.PADDING_NONE)
        ciphertext  = cipher.feed(data) + cipher.feed()

        return base64.b64encode(ciphertext)

    def Put(self, url, data):
        data = data if isinstance(data, str) else json.dumps(data, separators = (',', ':'))
        encrypted_data = self.Encrypt(data).decode('utf8')
        body = '\r'.join([
            'PUT {0} HTTP/1.1'.format(url),
            'Content-Type: application/json',
            'Content-Length: {0}'.format(len(encrypted_data)),
            'User-Agent: NefitEasy\r',
            encrypted_data
        ])
        self.event = multiprocessing.Event()
        self.client.add_event_handler('message', self.Message)
        self.Send(body)
        self.event.wait(timeout = 10)
        self.client.del_event_handler('message', self.Message)

    def GetThermostatData(self):
        self.Connect()
        
        status                  = self.Get('/ecus/rrc/uiStatus')['value']
        outdoorTemperature      = self.Get('/system/sensors/temperatures/outdoor_t1')['value']
        systemPressure          = self.Get('/system/appliance/systemPressure')['value']
        
        self.userMode           = status['UMD']
        self.manualSetpoint     = float(status['MMT'])
        self.setpoint           = float(status['TSP'])
        self.temperature        = float(status['IHT'])
        self.outsideTemperature = outdoorTemperature
        self.boilerIndicator    = status['BAI']
        self.systemPressure     = systemPressure
        self.hotWater           = True if status['DHW'] == 'on' else False
        self.override           = True if status['TOR'] == 'on' else False
        self.overrideSetpoint   = float(status['TOT'])
        self.overrideDuration   = float(status['TOD'])
        self.powerSave          = True if status['ESI'] == 'on' else False
        self.holidayMode        = True if status['HMD'] == 'on' else False
        self.firePlace          = True if status['FPA'] == 'on' else False
        self.sundayToday        = True if status['DAS'] == 'on' else False
        self.sundayTomorrow     = True if status['TAS'] == 'on' else False

        self.lastUpdated        = datetime.datetime.now()

        self.Disconnect()

    def GetThermostatUsage(self):
        self.Connect()
        
        self.usagePointer = math.ceil(self.Get('/ecus/rrc/recordings/gasusagePointer')['value'] / 32.0)
        
        data = self.Get('/ecus/rrc/recordings/gasusage?page={0}'.format(self.usagePointer))['value']
        
        for datum in data:
            date = datetime.datetime.strptime(datum['d'], '%d-%m-%Y') if datum['d'] != '255-256-65535' else False
            
            if date and date not in self.usage:
                self.usage[date] = {'centralHeating': datum['ch'], 'hotWater': datum['hw'], 'averageOutsideTemperature': datum['T'] / 10.0}

        self.Disconnect()

    def SetTemperature(self, temperature):
        self.Connect()
        
        self.Put('/heatingCircuits/hc1/temperatureRoomManual', {'value': float(temperature)})
        self.Put('/heatingCircuits/hc1/manualTempOverride/status', {'value': 'on'})
        self.Put('/heatingCircuits/hc1/manualTempOverride/temperature', {'value': float(temperature)})

        self.Disconnect()

# Enter serialNumber, accessKey and password and uncomment to test
"""
NefitEasy = NefitEasy('serialNumber', 'accessKey', 'password')    

NefitEasy.GetThermostatData()

print(NefitEasy.userMode)
print(NefitEasy.manualSetpoint)
print(NefitEasy.setpoint)
print(NefitEasy.temperature)
print(NefitEasy.outsideTemperature)
print(NefitEasy.boilerIndicator)
print(NefitEasy.systemPressure)
print(NefitEasy.hotWater)
print(NefitEasy.override)
print(NefitEasy.overrideSetpoint)
print(NefitEasy.overrideDuration)
print(NefitEasy.powerSave)
print(NefitEasy.holidayMode)
print(NefitEasy.firePlace)
print(NefitEasy.sundayToday)
print(NefitEasy.sundayTomorrow)

NefitEasy.SetTemperature(20)
"""

HP ZBook Studio G3 - Hyundai Ioniq EV Classic - Opel Vivaro-e 75kWh - 22x Prusa i3 MK3S - 8x Prusa MINI+ - Ooznest Workbee 1,5m x 1,5m


Acties:
  • 0 Henk 'm!

  • BThomas
  • Registratie: Oktober 2010
  • Niet online
Hoe zorg ik ervoor dat de server mijn gegevens bij blijkt werken? Nu moet ik via SSH het volgende commando geven: easy-server --serial=123 --access-key=123 --password=123, om er voor te zorgen dat ik nieuwe data krijg.

Ik heb zeer beperkte programmeer kennis en het draait op een Raspberry Pi (voor Domoticz)

[/quote]
root@raspberrypi:/home/pi# pm2 start /home/pi/nefiteasyhttpserver.sh
[PM2] Applying action restartProcessId on app [nefiteasyhttpserver](ids: 0)
[PM2] [nefiteasyhttpserver](0) ✓
[PM2] Process successfully started
┌─────────────────────┬────┬──────┬──────┬─────────┬─────────┬────────┬─────┬───────────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ watching │
├─────────────────────┼────┼──────┼──────┼─────────┼─────────┼────────┼─────┼───────────┼──────────┤
│ Nefit Easy │ 1 │ fork │ 1046 │ online │ 0 │ 3m │ 0% │ 32.0 MB │ disabled │
│ nefiteasyhttpserver │ 0 │ fork │ 1140 │ stopped │ 92 │ 0 │ 0% │ 0 B │ disabled │
└─────────────────────┴────┴──────┴──────┴─────────┴─────────┴────────┴─────┴───────────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
root@raspberrypi:/home/pi#
[quote]

[ Voor 99% gewijzigd door BThomas op 26-06-2017 14:28 ]


Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:47
BThomas schreef op maandag 26 juni 2017 @ 13:38:
Hoe zorg ik ervoor dat de server mijn gegevens bij blijkt werken? Nu moet ik via SSH het volgende commando geven: easy-server --serial=123 --access-key=123 --password=123, om er voor te zorgen dat ik nieuwe data krijg.

Ik heb zeer beperkte programmeer kennis en het draait op een Raspberry Pi (voor Domoticz)

[/quote]
root@raspberrypi:/home/pi# pm2 start /home/pi/nefiteasyhttpserver.sh
[PM2] Applying action restartProcessId on app [nefiteasyhttpserver](ids: 0)
[PM2] [nefiteasyhttpserver](0) ✓
[PM2] Process successfully started
┌─────────────────────┬────┬──────┬──────┬─────────┬─────────┬────────┬─────┬───────────┬──────────┐
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ watching │
├─────────────────────┼────┼──────┼──────┼─────────┼─────────┼────────┼─────┼───────────┼──────────┤
│ Nefit Easy │ 1 │ fork │ 1046 │ online │ 0 │ 3m │ 0% │ 32.0 MB │ disabled │
│ nefiteasyhttpserver │ 0 │ fork │ 1140 │ stopped │ 92 │ 0 │ 0% │ 0 B │ disabled │
└─────────────────────┴────┴──────┴──────┴─────────┴─────────┴────────┴─────┴───────────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
root@raspberrypi:/home/pi#
[quote]
Ik draai Supervisor op mijn Ubuntu servertje. Die houdt wat processen in de gaten, waaronder DSMR reader en een Nefit script. Deze entry heb ik in de Supervisor config /etc/supervisor/supervisord.conf staan:

code:
1
2
3
4
5
6
7
8
9
10
[program:NEFITeasyserver]
command=/usr/bin/easy-server --port 8124 --serial=xxx --access-key=xxx --password=xxx
autostart = true
autorestart = true

redirect_stderr = true
loglevel=error
stdout_logfile = /var/log/supervisor/nefiteasy.log
stdout_logfile_maxbytes = 1MB
stdout_logfile_backups = 3

Supervisor zorgt er voor dat een script herstart wordt wanneer het crasht en doet ook dingen met logging.

Ik zie nu ook dat jij een ander script gebruikt; ik heb deze. Maar beiden zouden met Supervisord moeten werken.

Acties:
  • 0 Henk 'm!

  • Belsj
  • Registratie: Juli 2007
  • Laatst online: 23:04
Zelf heb ik al enkele jaren Homeseer draaiend. Is er een van deze mogelijkheden (Python, OpenHab, o.i.d.) geschikt om als script in Homeseer te laten functioneren?

Acties:
  • 0 Henk 'm!

  • K_Erik
  • Registratie: Oktober 2016
  • Laatst online: 22-06 10:29
Hi

Ik ben al een poosje bezig om de docker container te laten draaien op een rpi.
Op mijn mac werkt het allemaal naar behoren. De server wordt aangezet en ik kan met fibaro de temp uitlezen en bijvoorbeeld de openhaard modus aan en uit zetten.

Echer, dan moet ik wel mijn mac dag en nacht aan laten staan. Vandaar dat ik graag de easy server op een raspberry pi 3 zou willen laten draaien.
Ik heb het volgende gedaan: de laatste versie van hypriot gedownload (https://blog.hypriot.com/...inux-on-the-raspberry-pi/) en daar vervolgens alle updates geinstalleerd en daarna node js erop gezet (versie 8.9.4)
Vervolgens de container gestart (docker run -d -p 3000:3000 -e "NEFIT_SERIAL_NUMBER=xxxxxxxxx" -e "NEFIT_ACCESS_KEY=xxxxxxxxxx" -e "NEFIT_PASSWORD=xxxxxxxx" trafex/nefiteasy-http-server.

De rpi is even bezig, de container wordt gedwonload en er verschijnt een code op dezelfde manier als op mijn mac. Als ik nu docker ps run, dan zie ik geen container staan.

Ik vermoed dat de container niet voor een ARM processor is gemaakt.

[ Voor 4% gewijzigd door K_Erik op 04-03-2018 21:44 ]


Acties:
  • 0 Henk 'm!

  • K_Erik
  • Registratie: Oktober 2016
  • Laatst online: 22-06 10:29
Het is gelukt om de server op een RPI3 te laten draaien.
Ik heb de Trafex easy http server gedownload van GitHub en de docker file een beetje aangepast:

FROM resin/rpi-raspbian:latest
ENTRYPOINT []


FROM node:9.2.0-alpine

LABEL Maintainer="Tim de Pater <code@trafex.nl>" \
Description="Runs the Nefit Easy HTTP server in a Docker container for easy deploying."

# Create workdir
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# Add application
COPY package.json yarn.lock /usr/src/app/
RUN yarn install --non-interactive && yarn cache clean
COPY . /usr/src/app

CMD [ "yarn", "start" ]

Hierdoor wordt de container geschikt voor een RPI3.

Ga naar de map op je RPI waar je de files neer hebt gezet, pas de donker file aan en vervolgens maak je een nieuwe image met: docker build -t nefit .

De naam nefit kan je vervangen door een eigen naam en hiermee kan je vervolgens de container starten.

Succes!

[ Voor 82% gewijzigd door K_Erik op 04-03-2018 21:43 ]


Acties:
  • 0 Henk 'm!

  • bartbh
  • Registratie: Maart 2004
  • Niet online
Sinds vanochtend werkt de Nefit Easy server bij mij niet meer. Blijkbaar ben ik niet de enige: bartbh in "Domoticz - open source domotica systeem - deel 3"

Zijn er hier meer mensen met problemen?

Acties:
  • 0 Henk 'm!

  • WouterG
  • Registratie: December 2000
  • Laatst online: 23:47

WouterG

Dit is geen ondertitel

bartbh schreef op dinsdag 29 mei 2018 @ 21:49:
Sinds vanochtend werkt de Nefit Easy server bij mij niet meer. Blijkbaar ben ik niet de enige: bartbh in "Domoticz - open source domotica systeem - deel 3"

Zijn er hier meer mensen met problemen?
Ja, er is een nieuwe versie online gezet welke het probleem oplost. Bij mij werkt het inmiddels weer.

Zie: https://github.com/robert...asy-http-server/issues/12

[ Voor 8% gewijzigd door WouterG op 29-05-2018 23:20 ]


Acties:
  • 0 Henk 'm!

  • Thy...
  • Registratie: April 2006
  • Laatst online: 12-09 22:58
Hmm, ik probeer mijn de nefit-easy-server opnieuw draaiend te krijgen maar hij wil niet meer opstarten

De boel opnieuw geïnstalleerd en deze handleiding gevolgd, maar ik blijf dezelfde error krijgen. Iemand een idee?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/usr/local/lib/node_modules/nefit-easy-http-server/node_modules/nefit-easy-commands/lib/index.js:2
const { NefitEasyClient } = require('nefit-easy-core');
      ^

SyntaxError: Unexpected token {
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:374:25)
    at Object.Module._extensions..js (module.js:405:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/usr/local/lib/node_modules/nefit-easy-http-server/node_modules/nefit-easy-commands/index.js:1:80)
    at Module._compile (module.js:398:26)
    at Object.Module._extensions..js (module.js:405:10)

Acties:
  • +1 Henk 'm!

  • Thy...
  • Registratie: April 2006
  • Laatst online: 12-09 22:58
Oke, ik ben er al uit. Blijkbaar starte ik de nefit-easy-server met node, wat in het verleden werkte en moet hij nu met nodejs gestart worden. Het werkt nu weer :)

Acties:
  • 0 Henk 'm!

  • pjsmits
  • Registratie: Augustus 2016
  • Laatst online: 31-07 12:47
Ik heb naar aanleiding van het gewijzigde Nefit back-end mijn implementatie op mijn Synology omgezet naar het gebruik met de Nefit easy server van Robert Klep. (eerst gebruikte ik de php versie van KaboutSuper, zie eerder in dit forum). Ik gebruik geen domoticz, maar sla alles op in een eigen db. Ik moest dus ook nog even uitvinden hoe ik de server vanuit php met curl commandos kon aansturen.

Op zich heb ik het nu aan de praat, maar om de paar dagen hangt het geheel zichzelf op. Een enkele keer heb ik een paar 0-metingen als gevolg van Time-outs, soms komen er alleen nog maar Time-Outs en moet ik de easy-server resetten.

Zijn er meer die hier last van hebben? Zou het gebruiken van de cli versie dit kunnen verminderen? Ik vraag elke minuut wat waarden op, en had met de php-versie nooit problemen, die draaide soms maanden achter elkaar.

PV 15x295 Wp/Omnik 4TL-2; Kia Niro EV; Daikin 4kW monobloc hybride; Sessy 5.5 kWh


Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:47
pjsmits schreef op dinsdag 12 juni 2018 @ 13:14:
Ik heb naar aanleiding van het gewijzigde Nefit back-end mijn implementatie op mijn Synology omgezet naar het gebruik met de Nefit easy server van Robert Klep. (eerst gebruikte ik de php versie van KaboutSuper, zie eerder in dit forum). Ik gebruik geen domoticz, maar sla alles op in een eigen db. Ik moest dus ook nog even uitvinden hoe ik de server vanuit php met curl commandos kon aansturen.

Op zich heb ik het nu aan de praat, maar om de paar dagen hangt het geheel zichzelf op. Een enkele keer heb ik een paar 0-metingen als gevolg van Time-outs, soms komen er alleen nog maar Time-Outs en moet ik de easy-server resetten.

Zijn er meer die hier last van hebben? Zou het gebruiken van de cli versie dit kunnen verminderen? Ik vraag elke minuut wat waarden op, en had met de php-versie nooit problemen, die draaide soms maanden achter elkaar.
Er is blijkbaar aan de cloud kant iets gewijzigd; Robert Klep heeft zijn code al aangepast maar de cloud service is niet altijd bereikbaar. Ik heb nefit-easy-http-server draaien via Supervisord en ik herstart het script voor de zekerheid elke dag. Er is ook iemand die een bordje heeft gemaakt waarmee je lokaal de thermostaat uit kunt lezen (kun je ook bestellen). Iemand anders heeft hier dan weer wat geschreven om hier een ESP module aan te knopen voor gebruik in bijvoorbeeld Home Assistant.

Acties:
  • 0 Henk 'm!

  • sweetdude
  • Registratie: April 2002
  • Laatst online: 12-09 12:14
Ik ben een redelijke noob op het gebied van Linux maar ben toch een poging aan het wagen om de HTTP server van de Nefit Easy te installeren op mijn RP3+

Echter krijg ik onderstaande foutmelding bij installatie. Hierbij volg ik de volgende wiki: https://www.domoticz.com/wiki/NefitEasy

bij de stap:
Install pm2 to control the service
npm install pm2 -g

gaat het mis. zowel met als zonder sudo zowel met als zonder de -g

Heeft iemand toevallig een idee hierover?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
pi@raspberrypi:~ $ npm install pm2
(node:942) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
npm ERR! Error: Method Not Allowed
npm ERR!     at errorResponse (/usr/share/npm/lib/cache/add-named.js:260:10)
npm ERR!     at /usr/share/npm/lib/cache/add-named.js:203:12
npm ERR!     at saved (/usr/share/npm/node_modules/npm-registry-client/lib/get.js:167:7)
npm ERR!     at FSReqWrap.oncomplete (fs.js:135:15)
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/npm/npm/issues>

npm ERR! System Linux 4.14.52-v7+
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "pm2"
npm ERR! cwd /home/pi
npm ERR! node -v v8.11.1
npm ERR! npm -v 1.4.21
npm ERR! code E405
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/pi/npm-debug.log
npm ERR! not ok code 0
pi@raspberrypi:~ $ cd nefit-easy-http-server
pi@raspberrypi:~/nefit-easy-http-server $ sudo npm i nefit-easy-http-server -g
(node:961) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
npm ERR! tar.unpack untar error /root/.npm/debug/2.6.9/package.tgz
npm ERR! error rolling back Error: ENOTEMPTY: directory not empty, rmdir '/usr/local/lib/node_modules/nefit-easy-http-server/node_modules/body-parser/node_modules/debug/node_modules/ms'
npm ERR! error rolling back  nefit-easy-http-server@4.0.1 { Error: ENOTEMPTY: directory not empty, rmdir '/usr/local/lib/node_modules/nefit-easy-http-server/node_modules/body-parser/node_modules/debug/node_modules/ms'
npm ERR! error rolling back   errno: -39,
npm ERR! error rolling back   code: 'ENOTEMPTY',
npm ERR! error rolling back   syscall: 'rmdir',
npm ERR! error rolling back   path: '/usr/local/lib/node_modules/nefit-easy-http-server/node_modules/body-parser/node_modules/debug/node_modules/ms' }
npm ERR! Error: Method Not Allowed
npm ERR!     at errorResponse (/usr/share/npm/lib/cache/add-named.js:260:10)
npm ERR!     at /usr/share/npm/lib/cache/add-named.js:203:12
npm ERR!     at saved (/usr/share/npm/node_modules/npm-registry-client/lib/get.js:167:7)
npm ERR!     at FSReqWrap.oncomplete (fs.js:135:15)
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/npm/npm/issues>

npm ERR! System Linux 4.14.52-v7+
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "i" "nefit-easy-http-server" "-g"
npm ERR! cwd /home/pi/nefit-easy-http-server
npm ERR! node -v v8.11.1
npm ERR! npm -v 1.4.21
npm ERR! code E405
npm ERR! tar.unpack untar error /root/.npm/mime-types/2.1.19/package.tgz
npm ERR! tar.unpack untar error /root/.npm/iconv-lite/0.4.19/package.tgz
npm ERR! tar.unpack untar error /root/.npm/mime-db/1.35.0/package.tgz
npm ERR! error rolling back Error: ENOTEMPTY: directory not empty, rmdir '/usr/local/lib/node_modules/nefit-easy-http-server/node_modules/express/node_modules/body-parser/node_modules/http-errors/node_modules'
npm ERR! error rolling back  body-parser@1.18.2 { Error: ENOTEMPTY: directory not empty, rmdir '/usr/local/lib/node_modules/nefit-easy-http-server/node_modules/express/node_modules/body-parser/node_modules/http-errors/node_modules'
npm ERR! error rolling back   errno: -39,
npm ERR! error rolling back   code: 'ENOTEMPTY',
npm ERR! error rolling back   syscall: 'rmdir',
npm ERR! error rolling back   path: '/usr/local/lib/node_modules/nefit-easy-http-server/node_modules/express/node_modules/body-parser/node_modules/http-errors/node_modules' }
npm ERR! error rolling back Error: ENOTEMPTY: directory not empty, rmdir '/usr/local/lib/node_modules/nefit-easy-http-server/node_modules/express/node_modules/body-parser/node_modules/http-errors/node_modules'
npm ERR! error rolling back  express@4.16.3 { Error: ENOTEMPTY: directory not empty, rmdir '/usr/local/lib/node_modules/nefit-easy-http-server/node_modules/express/node_modules/body-parser/node_modules/http-errors/node_modules'
npm ERR! error rolling back   errno: -39,
npm ERR! error rolling back   code: 'ENOTEMPTY',
npm ERR! error rolling back   syscall: 'rmdir',
npm ERR! error rolling back   path: '/usr/local/lib/node_modules/nefit-easy-http-server/node_modules/express/node_modules/body-parser/node_modules/http-errors/node_modules' }
npm ERR! tar.unpack untar error /root/.npm/safer-buffer/2.1.2/package.tgz
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/pi/nefit-easy-http-server/npm-debug.log
npm ERR! not ok code 0

Acties:
  • 0 Henk 'm!

  • slelieveld
  • Registratie: Juni 2002
  • Laatst online: 21-06 22:43
Ben ik heb alleen als ik zeg dat sinds gisteren mijn easy geen internet meer heeft? Wifi werkt prima (kan hem ook lokaal pingen) maar geen vinkje bij het wereld bolletje.

Acties:
  • 0 Henk 'm!

  • mcmd
  • Registratie: December 2004
  • Laatst online: 21:58
slelieveld schreef op zaterdag 1 december 2018 @ 17:15:
Ben ik heb alleen als ik zeg dat sinds gisteren mijn easy geen internet meer heeft? Wifi werkt prima (kan hem ook lokaal pingen) maar geen vinkje bij het wereld bolletje.
Bij mij werkt het prima :)

Acties:
  • 0 Henk 'm!

  • slelieveld
  • Registratie: Juni 2002
  • Laatst online: 21-06 22:43
Dank je voor het melden. 2 groene vinkjes voor de ketel en de wifi. Rood voor de wereldbol. Internet werkt prima en wifi ook. Moet wel aan nefit liggen denk ik (hoop ik).

Acties:
  • 0 Henk 'm!

  • BCC
  • Registratie: Juli 2000
  • Laatst online: 22:39

BCC

@sweetdude
code:
1
2
Error: ENOTEMPTY: directory not empty, rmdir '/usr/local/lib/node_modules/nefit-easy-http-server/node_modules/express/node_modules/body-parser/node_modules/http-errors/node_modules'
npm ERR! error rolling back


Oftewel, gooi die dir even weg.

[ Voor 6% gewijzigd door BCC op 01-12-2018 18:01 ]

Na betaling van een licentievergoeding van €1.000 verkrijgen bedrijven het recht om deze post te gebruiken voor het trainen van artificiële intelligentiesystemen.


Acties:
  • 0 Henk 'm!

  • technorabilia
  • Registratie: November 2006
  • Laatst online: 13-09 14:18
@slelieveld
Heb ik ook wel eens. Lost zich altijd "vanzelf" wel weer op. Ik denk iets mis met de connectie met de Siemens servers.

👉🏻 Blog 👈🏻


Acties:
  • 0 Henk 'm!

  • slelieveld
  • Registratie: Juni 2002
  • Laatst online: 21-06 22:43
Is nog steeds niet connected... waardeloos dat er geen lokale fallback is. Je kunt je eigen programma niet meer inzien en wijzigen... ook lokaal niet.

Acties:
  • +1 Henk 'm!

  • slelieveld
  • Registratie: Juni 2002
  • Laatst online: 21-06 22:43
Zojuist met Nefit aan de lijn... reset de easy maar... gedaan en weer rood kruis. Maar ineens na 1 minuut connectie. Start ik de app op en hop verbinding. Moest alles opnieuw instellen in de app :-(. Vervolgens klokprogramma weg. En hop ineens is de easy weer niet meer met de app verbonden en weer offline.
Dus:
1. of er is een Bosch server probleem (hij zette een sessie over TCP/5222 met de bosch server 139.15.227.109 op toen ie het "even" deed.
of
2. mijn easy is stuk... lijkt me sterk want ik zie hem gewoon in mijn wifi hangen en kan hem ook al die tijd pingen.
Ik zie 02.1.9.01 in de easy bij opstarten is dat een firmware? Is dit de laatste? weet iemand dit?

Morgen maar weer bellen met Nefit, dan zou de "expert" aanwezig zijn.

Weet iemand wellicht waar het daadwerkelijke klokprogramma opgeslagen is!? Ik schrok ervan dat dit nu weg is... (na reset easy?) Ik zou verwachten dat juist dát op die nefit servers staat...

Acties:
  • 0 Henk 'm!

  • Tazzy
  • Registratie: September 2001
  • Laatst online: 07-09 06:47
Iemand al een goed Alexa app gevonden?

Acties:
  • 0 Henk 'm!

  • Fantastic_fox
  • Registratie: Maart 2010
  • Laatst online: 19-08 11:59
Heren,

Wie o wie weet een methode om in kaart te brengen hoe vaak en hoe lang de nefit easy in de boiler opwarm stand staat?

Ik heb nl het idee dat de boiler veel te vaak opgewarmd wordt. Wellicht heeft dit te maken met slecht isolatie of moet het ding onderhoud hebben (hebben boilers onderhoud nodig?)

Hoor het graag

APS QS1 en Y600 3*340w 38graden en 3*340w 20Graden alles naar het Oosten 92 graden. Zuid set sma sunnyboy 2100b 8*255w 38 graden 178graden zuid || Warmtepomp onder cnstructie Panasonic MDC 9kw j-series enkel radiatoren maar lage temperaturen


Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:47
Fantastic_fox schreef op vrijdag 1 februari 2019 @ 17:53:
Heren,

Wie o wie weet een methode om in kaart te brengen hoe vaak en hoe lang de nefit easy in de boiler opwarm stand staat?

Ik heb nl het idee dat de boiler veel te vaak opgewarmd wordt. Wellicht heeft dit te maken met slecht isolatie of moet het ding onderhoud hebben (hebben boilers onderhoud nodig?)

Hoor het graag
Ik heb de EMS-ESP draaien naast een bordje van bbqkees. Die combi geeft mij veel inzicht in het gedrag van de boiler. Ik ben er nu achter dat de vorige bewoners een te grote ketel op hebben gehangen; hij draait meestal op mijn minimum vermogen.

En een ketel heeft onderhoud nodig om veilig en efficiënt een lang leven te hebben! Bel eens een lokale cv installateur.

Mogelijk pendelt de ketel omdat de installatie niet goed waterzijdig ingeregeld is?

[ Voor 4% gewijzigd door balk op 01-02-2019 23:28 ]


Acties:
  • 0 Henk 'm!

  • Fantastic_fox
  • Registratie: Maart 2010
  • Laatst online: 19-08 11:59
@balk is zoiets ook kan en klaar te krijgen? Ik ben hier denk ik echt niet technisch genoeg voor😊

APS QS1 en Y600 3*340w 38graden en 3*340w 20Graden alles naar het Oosten 92 graden. Zuid set sma sunnyboy 2100b 8*255w 38 graden 178graden zuid || Warmtepomp onder cnstructie Panasonic MDC 9kw j-series enkel radiatoren maar lage temperaturen


Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:47
Fantastic_fox schreef op maandag 4 februari 2019 @ 22:13:
@balk is zoiets ook kan en klaar te krijgen? Ik ben hier denk ik echt niet technisch genoeg voor😊
:)
het bordje van BBQ Kees is behoorlijk profi en vergt geen soldeerkunst. Je kunt het zelf in elkaar solderen of bij Kees kant en klaar kopen. Je sluit de ketel aan op de blauwe connector links boven, op dezelfde verbindingen als de thermostaat. Je sluit dan aan de rechterkant de 5V, ground, TX en RX aan op een Wemos D1 bordje, of een andere ESP8266. Die ESP moet je wel een eigen voeding geven.
Afbeeldingslocatie: https://raw.githubusercontent.com/bbqkees/Nefit-Buderus-EMS-bus-Arduino-Domoticz/master/Documentation/nefit-ems-bus-interface-PCB.jpg
Je hoeft dan alleen maar de software op de ESP te zetten en dat is behoorlijke simpel met VS Code of Atom i.c.m. Platformio.

Dit is niet kant en klaar maar ook niet extreem moeilijk; ik kan het ook terwijl ik geen software of electronica achtergrond heb. Hoe is jouw ervaring met iets als Domoticz of Home Assistant en met Linux (bijvoorbeeld op een Raspberry Pi)?

Update:
Ik zie nu dat Kees zelfs een Wemos met de Proddy softeware voorgeladen verkoopt! Kant en klaarder kan haast niet.

[ Voor 11% gewijzigd door balk op 04-02-2019 22:32 ]


Acties:
  • 0 Henk 'm!

  • Shapeshifter
  • Registratie: Januari 2004
  • Laatst online: 07-09 21:38

Shapeshifter

Get it over with

balk schreef op maandag 4 februari 2019 @ 22:26:
[...]

:)
het bordje van BBQ Kees is behoorlijk profi en vergt geen soldeerkunst. Je kunt het zelf in elkaar solderen of bij Kees kant en klaar kopen. Je sluit de ketel aan op de blauwe connector links boven, op dezelfde verbindingen als de thermostaat. Je sluit dan aan de rechterkant de 5V, ground, TX en RX aan op een Wemos D1 bordje, of een andere ESP8266. Die ESP moet je wel een eigen voeding geven.
[Afbeelding]
Je hoeft dan alleen maar de software op de ESP te zetten en dat is behoorlijke simpel met VS Code of Atom i.c.m. Platformio.

Dit is niet kant en klaar maar ook niet extreem moeilijk; ik kan het ook terwijl ik geen software of electronica achtergrond heb. Hoe is jouw ervaring met iets als Domoticz of Home Assistant en met Linux (bijvoorbeeld op een Raspberry Pi)?

Update:
Ik zie nu dat Kees zelfs een Wemos met de Proddy softeware voorgeladen verkoopt! Kant en klaarder kan haast niet.
Interessant bordje! Ik heb twee jaar geleden een Nefit Easy gekocht om daar mijn ketel mee aan te sturen, maar het werkt toch niet fantastisch allemaal. Misschien dat een lokale oplossing beter werkt...

Toevallig hangt er al een Raspberry Pi naast mijn ketel (Nefit ProLine HRC 24/CW4). Zou ik die in combinatie met dit bordje kunnen gebruiken en moet ik dan nog een EMS converter halen? Kan ik naast deze interface de ketel dan ook nog blijven bedienen met de Easy en de app?

HP ZBook Studio G3 - Hyundai Ioniq EV Classic - Opel Vivaro-e 75kWh - 22x Prusa i3 MK3S - 8x Prusa MINI+ - Ooznest Workbee 1,5m x 1,5m


Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:47
Shapeshifter schreef op dinsdag 5 februari 2019 @ 07:47:
[...]

Interessant bordje! Ik heb twee jaar geleden een Nefit Easy gekocht om daar mijn ketel mee aan te sturen, maar het werkt toch niet fantastisch allemaal. Misschien dat een lokale oplossing beter werkt...

Toevallig hangt er al een Raspberry Pi naast mijn ketel (Nefit ProLine HRC 24/CW4). Zou ik die in combinatie met dit bordje kunnen gebruiken en moet ik dan nog een EMS converter halen? Kan ik naast deze interface de ketel dan ook nog blijven bedienen met de Easy en de app?
Ik heb ook een Easy. Het is (nog) niet mogelijk om via dit bordje de gewenste temperatuur te veranderen. Je kunt de gewenste temperatuur wel uitlezen, samen met nog veel meer parameters. Ik gebruik de Nefit Easy http server van Robert Klep om de temperatuur in te stellen.

In plaats van een ESP kun je ook een Pi aan dit EMS bordje hangen. Maar daarop werkt de Arduino code wellicht niet, of niet zo goed.

Acties:
  • 0 Henk 'm!

  • Shapeshifter
  • Registratie: Januari 2004
  • Laatst online: 07-09 21:38

Shapeshifter

Get it over with

balk schreef op dinsdag 5 februari 2019 @ 10:37:
[...]


Ik heb ook een Easy. Het is (nog) niet mogelijk om via dit bordje de gewenste temperatuur te veranderen. Je kunt de gewenste temperatuur wel uitlezen, samen met nog veel meer parameters. Ik gebruik de Nefit Easy http server van Robert Klep om de temperatuur in te stellen.

In plaats van een ESP kun je ook een Pi aan dit EMS bordje hangen. Maar daarop werkt de Arduino code wellicht niet, of niet zo goed.
Ja, ik heb toen geprobeerd die http server om te zetten in Python en te integreren in mijn domoticasysteem, maar beetje vastgelopen en toen had ik geen tijd meer. Wie weet. Ooit. Het was leuk geweest om iets te maken dat de kachel beter regelt dan een tijdklok (op basis van temperatuur en aanwezigheid van mensen).

HP ZBook Studio G3 - Hyundai Ioniq EV Classic - Opel Vivaro-e 75kWh - 22x Prusa i3 MK3S - 8x Prusa MINI+ - Ooznest Workbee 1,5m x 1,5m


Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:47
Shapeshifter schreef op dinsdag 5 februari 2019 @ 11:59:
[...]

Ja, ik heb toen geprobeerd die http server om te zetten in Python en te integreren in mijn domoticasysteem, maar beetje vastgelopen en toen had ik geen tijd meer. Wie weet. Ooit. Het was leuk geweest om iets te maken dat de kachel beter regelt dan een tijdklok (op basis van temperatuur en aanwezigheid van mensen).
Bij mij draait ie als docker en ik integreer het met Home Assistant door een custom AppDaemon scriptje.
offtopic:
let niet op de beroerde programmeer kwaliteit
:P

Zie ook hier over hoe de temperatuur in te stellen.
code:
1
2
3
4
5
curl -XPOST http://127.0.0.1:3000/bridge/heatingCircuits/hc1/temperatureRoomManual -d '{"value":20}' -H 'Content-Type: application/json'

/heatingCircuits/hc1/temperatureRoomManual { "value" : 20 }
/heatingCircuits/hc1/manualTempOverride/status { "value" : "on" } 
/heatingCircuits/hc1/manualTempOverride/temperature { "value" : 20 }

Acties:
  • 0 Henk 'm!

  • LinuxMan
  • Registratie: September 2000
  • Laatst online: 13-09 13:28
Heeft iemand het bordje van bbqkees toevallig aan een Pi hangen? Ik lees dat de Rx en Tx van een Pi 3.3V zijn, moet je dan het bordje ook 3.3V voedingsspanning geven?

Heeft iemand al code op een Pi die met het bordje communiceert?

Acties:
  • 0 Henk 'm!

  • manusjevanalles
  • Registratie: Januari 2009
  • Laatst online: 22:18
Zijn er mensen die de node-red-contrib-nefit-easy2 in Node-Red gebruiken?

Ik heb een simpele flow om hem te testen, maar krijg geen output:

code:
1
[{"id":"xxxxx","type":"nefit-easy","z":"xxxxx","easyconfig":"xxxxx","name":"Nefit Easy","topic":"nefit-easy","command":"flow-temperature","value":"","x":80,"y":720,"wires":[["xxxxx"]]},{"id":"7a3a041.7341cfc","type":"debug","z":"4b373165.971d1","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":270,"y":720,"wires":[]},{"id":"xxxxx","type":"nefit-easy-config","z":"","serialNumber":"xxxxx","accessKey":"xxxxx","password":"xxxxx","timeout":"30"}]

☀️ 6440 Wp zuid | 🌡️ Stiebel Eltron WPL 15 ACS, HM Trend | Home Assistant


Acties:
  • 0 Henk 'm!

  • jrswgtr
  • Registratie: Juli 2017
  • Laatst online: 02-09 10:26
@brightvalve held! _/-\o_ Voor relatief weinig geld heb ik nu een themostaat die zo slim is als ik zelf wil :*)

Acties:
  • 0 Henk 'm!

  • LinuxMan
  • Registratie: September 2000
  • Laatst online: 13-09 13:28
zijn er meer mensen die problemen hebben om te verbinden met de XMPP server van Bosch?

de app connect nog steeds naar wa2-mz36-qrmzh6.bosch.de maar mijn eigen xmpp script wil niet meer verbinden?

edit: probleem opgelost. Firewall probleem.

[ Voor 10% gewijzigd door LinuxMan op 29-12-2020 20:43 ]


Acties:
  • 0 Henk 'm!

  • PatvdLeer
  • Registratie: December 2012
  • Laatst online: 06-03 13:24
Shapeshifter schreef op zondag 25 juni 2017 @ 17:27:
[...]

Kleine update gebaseerd op https://github.com/patvdleer/nefit-client-python

In deze klasse zit alles wat je nodig hebt om waarden uit te lezen en de temperatuur in te stellen en is hopelijk wat stabieler.

.... INGEKORT ....
Draai je toevallig deze code nog? Ben bezig met de code 2021 in te helpen, `sleekxmpp` is deprecated/archived en er lijkt een issue te zijn met een SSL versie. Ik ben nu bezig met `slixmpp` als vervanging maar ik blijf tegen een auth error aanlopen...

https://gitlab.com/patvdleer/nefit-client-python/-/tree/dev

Acties:
  • 0 Henk 'm!

  • HaTe
  • Registratie: Mei 2007
  • Laatst online: 20:16

HaTe

haat niet

PatvdLeer schreef op maandag 22 november 2021 @ 22:52:
[...]


Draai je toevallig deze code nog? Ben bezig met de code 2021 in te helpen, `sleekxmpp` is deprecated/archived en er lijkt een issue te zijn met een SSL versie. Ik ben nu bezig met `slixmpp` als vervanging maar ik blijf tegen een auth error aanlopen...

https://gitlab.com/patvdleer/nefit-client-python/-/tree/dev
Kijk dan eens naar https://github.com/marconfus/aionefit

Daar heb ik de Home Assistant client ook op gebaseerd. Echter ontwikkel ik hier niet meer aan omdat mijn thermostaat kapot en vervangen is door wat simpelere. Gelukkig is er wel een andere ontwikkelaar vrij actief geworden die veel beter kan programmeren dan ik.
https://github.com/ksya/ha-nefiteasy

WP: ME PUHZ-SW75YAA + ERST30D-VM2ED | Solar: 17x TSM-340-DE06M.08 (5780Wp ~6200kWh), Azimuth 179°, Hellingshoek: 34° | PC specs


Acties:
  • +1 Henk 'm!

  • PatvdLeer
  • Registratie: December 2012
  • Laatst online: 06-03 13:24
HaTe schreef op dinsdag 23 november 2021 @ 07:55:
[...]

Kijk dan eens naar https://github.com/marconfus/aionefit

Daar heb ik de Home Assistant client ook op gebaseerd. Echter ontwikkel ik hier niet meer aan omdat mijn thermostaat kapot en vervangen is door wat simpelere. Gelukkig is er wel een andere ontwikkelaar vrij actief geworden die veel beter kan programmeren dan ik.
https://github.com/ksya/ha-nefiteasy
Ow super, als dat werkt hoef ik niet meer verder te gaan met de poort naar Slixmpp. Ik was het namelijk op aan het pakken juist voor een integratie met HomeAss.
Pagina: 1 2 3 4 5 Laatste

Let op:
Zorg dat je geen wachtwoorden of andere gevoelige informatie in je bericht hebt staan, deze informatie is door iedereen te lezen (en evt. te misbruiken)!