Building glycoll, help with settings and pump switch on spar 4

happend again
here the log:pi@raspberrypi:~/brewblox $ brewblox-ctl log
INFO Log file: /home/pi/brewblox/brewblox.log
INFO Writing Brewblox .env values…
INFO Writing software version info…
INFO Writing active containers…
INFO Writing spark-one service logs…
INFO Writing eventbus service logs…
INFO Writing victoria service logs…
INFO Writing redis service logs…
INFO Writing history service logs…
INFO Writing traefik service logs…
INFO Writing ui service logs…
INFO Writing docker-compose configuration…
INFO Writing spark-one blocks…
INFO Writing system diagnostics…
INFO Uploading brewblox.log to termbin.com:9999
https://termbin.com/uub98

the bypass pins always work.
tried on other pins but the same…

Your Spark seems to be having problems. How are you powering your Spark? (USB, external power, PoE)

We’re releasing an update later this week / early next week that resolves multiple issues with both wifi and ethernet connections. Right now, I’d leave it on Wifi. When the update’s live, you could switch to ethernet for the increased reliability.

ill power it with 12 volt external power from solar so when its charging batteries it could have 13 volt.
strang is that the bypass pin always work.
also i use 2 pins only + to have 2 amp and negativ external.
to drive selenoid valves they are consuming 1.2 amps.
also if i reset and then search the new blocks that the sensors are back again everthing works for a bit.
but then again only the bypass pins.
does it make sens to try my second module ?

Does it work more reliably if you

  • export your blocks
  • clear all blocks on controller
  • import your blocks again

Reported problems during last import:

failed to import block. Error=EncodeException(KeyError('No codec found for object type [ErrorObject]')), block={'type': 'ErrorObject', 'data': {'error': 'DecodeError(Field number 0 is illegal.)', 'type': 'TempSensorOneWire'}, 'serviceId': 'spark-one', 'nid': 102, 'id': 'Fermenter 2 1', 'groups': [0]}
failed to import block. Error=EncodeException(KeyError('No codec found for object type [ErrorObject]')), block={'type': 'ErrorObject', 'data': {'error': 'DecodeError(Field number 0 is illegal.)', 'type': 'TempSensorOneWire'}, 'serviceId': 'spark-one', 'nid': 103, 'id': 'Ferm 1 ', 'groups': [0]}
failed to import block. Error=EncodeException(KeyError('No codec found for object type [ErrorObject]')), block={'type': 'ErrorObject', 'data': {'error': 'DecodeError(Field number 0 is illegal.)', 'type': 'TempSensorOneWire'}, 'serviceId': 'spark-one', 'nid': 111, 'id': 'Fermenter 2 2', 'groups': [0]}
failed to import block. Error=EncodeException(KeyError('No codec found for object type [ErrorObject]')), block={'type': 'ErrorObject', 'data': {'error': 'DecodeError(Field number 0 is illegal.)', 'type': 'TempSensorOneWire'}, 'serviceId': 'spark-one', 'nid': 113, 'id': 'Chiller tank', 'groups': [0]}
failed to import block. Error=EncodeException(KeyError('No codec found for object type [ErrorObject]')), block={'type': 'ErrorObject', 'data': {'error': 'DecodeError(Field number 0 is illegal.)', 'type': 'OneWireGpioModule'}, 'serviceId': 'spark-one', 'nid': 115, 'id': 'New|OneWireGpioModule-1', 'groups': [0]}
failed to import block. Error=EncodeException(KeyError('No codec found for object type [ErrorObject]')), block={'type': 'ErrorObject', 'data': {'error': 'DecodeError(Field number 0 is illegal.)', 'type': 'SetpointSensorPair'}, 'serviceId': 'spark-one', 'nid': 105, 'id': 'Fermenter 1 Beer Setpoint', 'groups': [0]}
failed to import block. Error=EncodeException(KeyError('No codec found for object type [ErrorObject]')), block={'type': 'ErrorObject', 'data': {'error': 'DecodeError(Field number 0 is illegal.)', 'type': 'DigitalActuator'}, 'serviceId': 'spark-one', 'nid': 117, 'id': 'Bypass Actuator', 'groups': [0]}
failed to import block. Error=EncodeException(KeyError('No codec found for object type [ErrorObject]')), block={'type': 'ErrorObject', 'data': {'error': 'DecodeError(Field number 0 is illegal.)', 'type': 'ActuatorLogic'}, 'serviceId': 'spark-one', 'nid': 116, 'id': 'Bypass', 'groups': [0]}
failed to import block. Error=EncodeException(KeyError('No codec found for object type [ErrorObject]')), block={'type': 'ErrorObject', 'data': {'error': 'DecodeError(Field number 0 is illegal.)', 'type': 'DigitalActuator'}, 'serviceId': 'spark-one', 'nid': 119, 'id': 'Pumpe', 'groups': [0]}
failed to import block. Error=EncodeException(KeyError('No codec found for object type [ErrorObject]')), block={'type': 'ErrorObject', 'data': {'error': 'DecodeError(Field number 0 is illegal.)', 'type': 'ActuatorLogic'}, 'serviceId': 'spark-one', 'nid': 118, 'id': 'Pumpe Actuator', 'groups': [0]}
failed to import block. Error=EncodeException(KeyError('No codec found for object type [ErrorObject]')), block={'type': 'ErrorObject', 'data': {'error': 'DecodeError(Field number 0 is illegal.)', 'type': 'Pid'}, 'serviceId': 'spark-one', 'nid': 110, 'id': 'Fermenter 1 Cool PID', 'groups': [0]}
failed to import block. Error=EncodeException(KeyError('No codec found for object type [ErrorObject]')), block={'type': 'ErrorObject', 'data': {'error': 'DecodeError(Field number 0 is illegal.)', 'type': 'DisplaySettings'}, 'serviceId': 'spark-one', 'nid': 7, 'id': 'DisplaySettings', 'groups': [7]}
failed to import block. Error=EncodeException(KeyError('No codec found for object type [ErrorObject]')), block={'type': 'ErrorObject', 'data': {'error': 'DecodeError(Field number 0 is illegal.)', 'type': 'OneWireGpioModule'}, 'serviceId': 'spark-one', 'nid': 114, 'id': 'New|OneWireBus- 1', 'groups': [0]}
failed to import block. Error=EncodeException(KeyError('No codec found for object type [ErrorObject]')), block={'type': 'ErrorObject', 'data': {'error': 'DecodeError(Field number 0 is illegal.)', 'type': 'SetpointProfile'}, 'serviceId': 'spark-one', 'nid': 106, 'id': 'Fermenter 1 Beer Profile', 'groups': [0]}
failed to import block. Error=EncodeException(KeyError('No codec found for object type [ErrorObject]')), block={'type': 'ErrorObject', 'data': {'error': 'DecodeError(Field number 0 is illegal.)', 'type': 'DigitalActuator'}, 'serviceId': 'spark-one', 'nid': 108, 'id': 'Fermenter 1 Cool Actuator', 'groups': [0]}
failed to import block. Error=EncodeException(KeyError('No codec found for object type [ErrorObject]')), block={'type': 'ErrorObject', 'data': {'error': 'DecodeError(Field number 0 is illegal.)', 'type': 'ActuatorPwm'}, 'serviceId': 'spark-one', 'nid': 109, 'id': 'Fermenter 1 Cool PWM', 'groups': [0]}
Removed unused alias [Fermenter 1 Beer Setpoint,105]
Removed unused alias [Fermenter 1 Beer Profile,106]
Removed unused alias [Fermenter 1 Cool Actuator,108]
Removed unused alias [Fermenter 1 Cool PWM,109]
Removed unused alias [Fermenter 1 Cool PID,110]
Removed unused alias [Ferm 1 ,103]
Removed unused alias [Fermenter 2 2,111]
Removed unused alias [Fermenter 2 1,102]
Removed unused alias [Chiller tank,113]
Removed unused alias [New|OneWireBus-1,100]
Removed unused alias [New|IoArrayInterface-1,101]
Removed unused alias [New|OneWireGpioModule-1,115]
Removed unused alias [Pumpe,119]
Removed unused alias [Bypass,116]
Removed unused alias [Bypass Actuator,117]
Removed unused alias [Pumpe Actuator,118]
Removed unused alias [New|OneWireBus- 1,114]

This looks like the export failed. Could you please post the exported file?

In the mean time, if you remove the blocks that were imported, and discover sensors, do they stay up?

brewblox-blocks-spark-one.json (3.8 KB)

sensor when i open them in services they show temperatur
but not on the dashboard

It looks like the blocks indeed failed to export. I haven’t seen that error before, and will try and reproduce.
Your dashboard is still trying to use the old sensors, but can’t find them.

If you run your Spark with just the discovered blocks (sensors, GPIO modules) does it stay stable?
If you give the discovered blocks a name, and then re-run the wizard, at which point does it start having trouble again?

is it better to try without building bypass for glycol cycle ?

and the mutex is not needed in my case yust for fermenting ?

This should not matter.

Depends on what your case is, exactly. The mutex is used to prevent the system heating and cooling at the same time.

hey thanks a lot looks like its running now.
there is still a mutex i cannot delete.
but its working
thanks would send you a beer if you warent on an other continent.
prost

probably not the last question :slightly_smiling_face:
its possible close a contact directly with pins of the module or use a ssr ?

No, you always need a digital actuator to toggle the pin.

ok an with what function he can close a circuit like a switch with 2 pins.
mecanical relay for exampel .

The Spark should not be used as an SSR. If you want it to close a circuit, you need a separate SSR.

With external power, you can provide 12V/24V through pins.

The IO module can drive the coil of the mechanical relay. I think it is better to make explain what you are trying to do or even make a simple diagram. Then we can help to come up with the best solution instead of answering smaller subquestions.

its a contact who makes a relay work which switches a pump.
but i use a ssr. no problem
but the spark module is again not working was working for a day but again same problem.
strange
should a try module 2
its bit tricky cabel are not reaching…
do you have a idea what could triger this problem

and how is it possible to switch the actuaters by hand?
also when setpoint is of the dont switch.