PioRemote - build remote not working

Thanks! Slightly complicated task… but very interesting. Need to test it very good. It is written in pure Python/C++ using own PIO Remote protocol over TCP/IP and doesn’t depend on system type, OS services, other protocols, etc. This allows PIO Remote works everywhere and with super fast speed. We support Windows, macOS, Linux, Linux ARMv6+ (RaspberryPi, etc) and FreeBSD!?

Please open an issue here GitHub - platformio/platformio-core: Your Gateway to Embedded Software Development Excellence 👽, I’ll think on that later. We can build rsync package and use it for diff.

Freebsd platformio remote working just great! thanks :slight_smile:

1 Like

@sticilface pelase try new PIO Plus v0.5.0 with improved --build-remotely OTA Updates. Now only soruce files will be synced. Should work super fast.

this is looking really good. It builds super fast now… however, the sketch doesn’t compile. I’m getting a weird error…

xtensa-lx106-elf-ar rcs .pioenvs/default/lib/libWemosArduino.a .pioenvs/default/lib/WemosArduino/WemosArduino.o
In file included from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson.hpp:12:0,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson.h:8,
from .piolibdeps/ArduinoJson_ID64/ArduinoJson.h:8,
from lib/ESPmanager/src/ESPmanager.h:48,
from lib/ESPmanager/src/ESPmanager.cpp:2:
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp: In instantiation of 'ArduinoJson::Internals::List<ArduinoJson::JsonPair>::node_type* ArduinoJson::JsonObject::getNodeAtImpl(TStringRef) const [with TStringRef = const __FlashStringHelper*; ArduinoJson::Internals::List<ArduinoJson::JsonPair>::node_type = ArduinoJson::Internals::ListNode<ArduinoJson::JsonPair>]':
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp:155:52:   required from 'bool ArduinoJson::JsonObject::setNodeAt(TStringRef, TValueRef) [with TStringRef = const __FlashStringHelper*; TValueRef = const String&]'
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp:78:19:   required from 'bool ArduinoJson::JsonObject::set(const TString&, const TValue&) [with TValue = String; TString = const __FlashStringHelper*]'
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Internals/../JsonObjectSubscript.hpp:42:5:   required from 'ArduinoJson::JsonObjectSubscript<TKey>& ArduinoJson::JsonObjectSubscript<TKey>::operator=(const T&) [with T = String; TString = const __FlashStringHelper*]'
lib/ESPmanager/src/ESPmanager.cpp:1337:55:   required from here
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp:147:76: error: 'equals' is not a member of 'ArduinoJson::Internals::StringFuncs<const __FlashStringHelper*>'
if (Internals::StringFuncs<TStringRef>::equals(key, node->content.key))
^
In file included from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonArray.hpp:15:0,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson.hpp:11,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson.h:8,
from .piolibdeps/ArduinoJson_ID64/ArduinoJson.h:8,
from lib/ESPmanager/src/ESPmanager.h:48,
from lib/ESPmanager/src/ESPmanager.cpp:2:
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Internals/ValueSetter.hpp: In instantiation of 'static bool ArduinoJson::Internals::ValueSetter<TSource, Enable>::set(ArduinoJson::JsonBuffer*, TDestination&, const TSource&) [with TDestination = const char*; TSource = const __FlashStringHelper*; Enable = void]':
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp:161:42:   required from 'bool ArduinoJson::JsonObject::setNodeAt(TStringRef, TValueRef) [with TStringRef = const __FlashStringHelper*; TValueRef = const String&]'
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp:78:19:   required from 'bool ArduinoJson::JsonObject::set(const TString&, const TValue&) [with TValue = String; TString = const __FlashStringHelper*]'
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Internals/../JsonObjectSubscript.hpp:42:5:   required from 'ArduinoJson::JsonObjectSubscript<TKey>& ArduinoJson::JsonObjectSubscript<TKey>::operator=(const T&) [with T = String; TString = const __FlashStringHelper*]'
lib/ESPmanager/src/ESPmanager.cpp:1337:55:   required from here
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Internals/ValueSetter.hpp:23:17: error: cannot convert 'const __FlashStringHelper* const' to 'const char*' in assignment
destination = source;
^
In file included from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson.hpp:12:0,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson.h:8,
from .piolibdeps/ArduinoJson_ID64/ArduinoJson.h:8,
from lib/ESPmanager/src/ESPmanager.h:48,
from lib/ESPmanager/src/ESPmanager.cpp:2:
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp: In instantiation of 'ArduinoJson::Internals::List<ArduinoJson::JsonPair>::node_type* ArduinoJson::JsonObject::getNodeAtImpl(TStringRef) const [with TStringRef = const unsigned char&; ArduinoJson::Internals::List<ArduinoJson::JsonPair>::node_type = ArduinoJson::Internals::ListNode<ArduinoJson::JsonPair>]':
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp:141:68:   required from 'ArduinoJson::Internals::List<ArduinoJson::JsonPair>::node_type* ArduinoJson::JsonObject::getNodeAt(const TString&) const [with TString = unsigned char; ArduinoJson::Internals::List<ArduinoJson::JsonPair>::node_type = ArduinoJson::Internals::ListNode<ArduinoJson::JsonPair>]'
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp:93:36:   required from 'typename ArduinoJson::Internals::JsonVariantAs<T>::type ArduinoJson::JsonObject::get(const TString&) const [with TValue = unsigned char; TString = const unsigned char&; typename ArduinoJson::Internals::JsonVariantAs<T>::type = unsigned char]'
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Internals/../JsonObjectSubscript.hpp:52:48:   required from 'typename ArduinoJson::Internals::JsonVariantAs<T>::type ArduinoJson::JsonObjectSubscript<TKey>::as() const [with TValue = unsigned char; TString = unsigned char; typename ArduinoJson::Internals::JsonVariantAs<T>::type = unsigned char]'
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Internals/../JsonVariantBase.hpp:60:35:   required from 'const typename ArduinoJson::Internals::JsonVariantAs<T>::type ArduinoJson::JsonVariantBase<TImpl>::as() const [with T = unsigned char; TImpl = ArduinoJson::JsonObjectSubscript<unsigned char>; typename ArduinoJson::Internals::JsonVariantAs<T>::type = unsigned char]'
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Internals/../JsonVariantBase.hpp:55:14:   required from 'ArduinoJson::JsonVariantBase<TImpl>::operator T() const [with T = unsigned char; TImpl = ArduinoJson::JsonObjectSubscript<unsigned char>]'
lib/ESPmanager/src/ESPmanager.cpp:3017:32:   required from here
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp:147:76: error: 'equals' is not a member of 'ArduinoJson::Internals::StringFuncs<const unsigned char&>'
if (Internals::StringFuncs<TStringRef>::equals(key, node->content.key))
^
*** [.pioenvs/default/lib/ESPmanager/ESPmanager.o] Error 1
xtensa-lx106-elf-ranlib .pioenvs/default/lib/libWemosArduino.a

can you try using the arduinojson job in something and check that it works? This sketch/project compiles fine using platformio locally, and compiled fine before this update, which makes me suspect that something is not being copied… not sure what. is there a way to dump what is being copied?

IPP files :smile: See https://github.com/bblanchon/ArduinoJson/tree/master/include/ArduinoJson

Re-compilation in progres… :blush:

@sticilface Could you try PIO Plus 0.5.1? Just run pio update or pio remote update.

still getting the error. defo updated though

root@misc:/ # platformio remote agent start
PlatformIO Plus (https://pioplus.com) v0.5.1
2016-11-12 11:24:08 [info] Name: misc
2016-11-12 11:24:08 [info] Connecting to PIO Remote Cloud
2016-11-12 11:24:08 [info] Successfully connected
2016-11-12 11:24:08 [info] Authenticating
2016-11-12 11:24:08 [info] Successfully authorized
2016-11-12 11:24:58 [info] Remote command received: run
xtensa-lx106-elf-ar rcs .pioenvs/default/lib/libWemosArduino.a .pioenvs/default/lib/WemosArduino/WemosArduino.o
In file included from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson.hpp:12:0,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson.h:8,
from .piolibdeps/ArduinoJson_ID64/ArduinoJson.h:8,
from lib/ESPmanager/src/ESPmanager.h:48,
from lib/ESPmanager/src/ESPmanager.cpp:2:
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp: In instantiation of 'ArduinoJson::Internals::List<ArduinoJson::JsonPair>::node_type* ArduinoJson::JsonObject::getNodeAtImpl(TStringRef) const [with TStringRef = const __FlashStringHelper*; ArduinoJson::Internals::List<ArduinoJson::JsonPair>::node_type = ArduinoJson::Internals::ListNode<ArduinoJson::JsonPair>]':
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp:155:52:   required from 'bool ArduinoJson::JsonObject::setNodeAt(TStringRef, TValueRef) [with TStringRef = const __FlashStringHelper*; TValueRef = const String&]'
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp:78:19:   required from 'bool ArduinoJson::JsonObject::set(const TString&, const TValue&) [with TValue = String; TString = const __FlashStringHelper*]'
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Internals/../JsonObjectSubscript.hpp:42:5:   required from 'ArduinoJson::JsonObjectSubscript<TKey>& ArduinoJson::JsonObjectSubscript<TKey>::operator=(const T&) [with T = String; TString = const __FlashStringHelper*]'
lib/ESPmanager/src/ESPmanager.cpp:1337:55:   required from here
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp:147:76: error: 'equals' is not a member of 'ArduinoJson::Internals::StringFuncs<const __FlashStringHelper*>'
if (Internals::StringFuncs<TStringRef>::equals(key, node->content.key))
^
In file included from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonArray.hpp:15:0,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson.hpp:11,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson.h:8,
from .piolibdeps/ArduinoJson_ID64/ArduinoJson.h:8,
from lib/ESPmanager/src/ESPmanager.h:48,
from lib/ESPmanager/src/ESPmanager.cpp:2:
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Internals/ValueSetter.hpp: In instantiation of 'static bool ArduinoJson::Internals::ValueSetter<TSource, Enable>::set(ArduinoJson::JsonBuffer*, TDestination&, const TSource&) [with TDestination = const char*; TSource = const __FlashStringHelper*; Enable = void]':
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp:161:42:   required from 'bool ArduinoJson::JsonObject::setNodeAt(TStringRef, TValueRef) [with TStringRef = const __FlashStringHelper*; TValueRef = const String&]'
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp:78:19:   required from 'bool ArduinoJson::JsonObject::set(const TString&, const TValue&) [with TValue = String; TString = const __FlashStringHelper*]'
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Internals/../JsonObjectSubscript.hpp:42:5:   required from 'ArduinoJson::JsonObjectSubscript<TKey>& ArduinoJson::JsonObjectSubscript<TKey>::operator=(const T&) [with T = String; TString = const __FlashStringHelper*]'
lib/ESPmanager/src/ESPmanager.cpp:1337:55:   required from here
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Internals/ValueSetter.hpp:23:17: error: cannot convert 'const __FlashStringHelper* const' to 'const char*' in assignment
destination = source;
^
In file included from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson.hpp:12:0,
from .piolibdeps/ArduinoJson_ID64/include/ArduinoJson.h:8,
from .piolibdeps/ArduinoJson_ID64/ArduinoJson.h:8,
from lib/ESPmanager/src/ESPmanager.h:48,
from lib/ESPmanager/src/ESPmanager.cpp:2:
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp: In instantiation of 'ArduinoJson::Internals::List<ArduinoJson::JsonPair>::node_type* ArduinoJson::JsonObject::getNodeAtImpl(TStringRef) const [with TStringRef = const unsigned char&; ArduinoJson::Internals::List<ArduinoJson::JsonPair>::node_type = ArduinoJson::Internals::ListNode<ArduinoJson::JsonPair>]':
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp:141:68:   required from 'ArduinoJson::Internals::List<ArduinoJson::JsonPair>::node_type* ArduinoJson::JsonObject::getNodeAt(const TString&) const [with TString = unsigned char; ArduinoJson::Internals::List<ArduinoJson::JsonPair>::node_type = ArduinoJson::Internals::ListNode<ArduinoJson::JsonPair>]'
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp:93:36:   required from 'typename ArduinoJson::Internals::JsonVariantAs<T>::type ArduinoJson::JsonObject::get(const TString&) const [with TValue = unsigned char; TString = const unsigned char&; typename ArduinoJson::Internals::JsonVariantAs<T>::type = unsigned char]'
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Internals/../JsonObjectSubscript.hpp:52:48:   required from 'typename ArduinoJson::Internals::JsonVariantAs<T>::type ArduinoJson::JsonObjectSubscript<TKey>::as() const [with TValue = unsigned char; TString = unsigned char; typename ArduinoJson::Internals::JsonVariantAs<T>::type = unsigned char]'
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Internals/../JsonVariantBase.hpp:60:35:   required from 'const typename ArduinoJson::Internals::JsonVariantAs<T>::type ArduinoJson::JsonVariantBase<TImpl>::as() const [with T = unsigned char; TImpl = ArduinoJson::JsonObjectSubscript<unsigned char>; typename ArduinoJson::Internals::JsonVariantAs<T>::type = unsigned char]'
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/Internals/../JsonVariantBase.hpp:55:14:   required from 'ArduinoJson::JsonVariantBase<TImpl>::operator T() const [with T = unsigned char; TImpl = ArduinoJson::JsonObjectSubscript<unsigned char>]'
lib/ESPmanager/src/ESPmanager.cpp:3017:32:   required from here
.piolibdeps/ArduinoJson_ID64/include/ArduinoJson/JsonObject.hpp:147:76: error: 'equals' is not a member of 'ArduinoJson::Internals::StringFuncs<const unsigned char&>'
if (Internals::StringFuncs<TStringRef>::equals(key, node->content.key))
^
xtensa-lx106-elf-ranlib .pioenvs/default/lib/libWemosArduino.a
*** [.pioenvs/default/lib/ESPmanager/ESPmanager.o] Error 1
=================================================================== [ERROR] Took 13.59 seconds ===================================================================

=========================================================================== [SUMMARY] ===========================================================================
Environment default	[ERROR]
Environment beta   	[SKIP]
=================================================================== [ERROR] Took 13.59 seconds ===================================================================

bit weird as well as the json lib is installed each time, and not actually copied from the project…

[platformio]
src_dir = ./MySONOFF ; keeps arduino happy :)
data_dir = ./MySONOFF/data

[env:default]

platform = espressif8266
framework = arduino
board = esp12e
build_flags = -Wl,-Tesp8266.flash.4m.ld
board_flash_mode = qio
board_f_cpu = 160000000L
board_f_flash = 80000000L
upload_port = 192.168.1.196 ; square
lib_deps = ArduinoJson, ESPAsyncTCP, ESPAsyncWebServer, AsyncMqttClient, Bounce2

  1. I can’t reproduce this issue. I used this example PlatformIO Registry
  2. Can you build this project without PIO Remote directly on the target machine?

I’ve not synced .piolibdeps folder. Just added it to a sync list.

OK, i need to do a bit more debugging but i’m now struggling.

I’m running freebsd as you know and all my tests so far are in a jail. in order for me to test the scripts out i want to just copy the directory from my laptop to the jail. not so simple… had to set up ssh… which borked as i screwed the permissions. anyway… i made a brand new jail, install platformio on it, configured the remote. all is great. then it borks when i try to compile using remote… its done it three times now at the same point…

this is on the server

2016-11-12 16:54:41 [info] Successfully connected
2016-11-12 16:54:41 [info] Authenticating
2016-11-12 16:54:41 [info] Successfully authorized
2016-11-12 16:55:24 [info] Remote command received: run
Unhandled Error
Traceback (most recent call last):
  File "/root/.platformio/packages/pysite-pioplus/twisted/python/log.py", line 101, in callWithLogger
    return callWithContext({"system": lp}, func, *args, **kw)
  File "/root/.platformio/packages/pysite-pioplus/twisted/python/log.py", line 84, in callWithContext
    return context.call({ILogContext: newCtx}, func, *args, **kw)
  File "/root/.platformio/packages/pysite-pioplus/twisted/python/context.py", line 118, in callWithContext
    return self.currentContext().callWithContext(ctx, func, *args, **kw)
  File "/root/.platformio/packages/pysite-pioplus/twisted/python/context.py", line 81, in callWithContext
    return func(*args,**kw)
--- <exception caught here> ---
  File "/root/.platformio/packages/pysite-pioplus/twisted/internet/posixbase.py", line 597, in _doReadOrWrite
    why = selectable.doRead()
  File "/root/.platformio/packages/pysite-pioplus/twisted/internet/tcp.py", line 208, in doRead
    return self._dataReceived(data)
  File "/root/.platformio/packages/pysite-pioplus/twisted/internet/tcp.py", line 214, in _dataReceived
    rval = self.protocol.dataReceived(data)
  File "/root/.platformio/packages/pysite-pioplus/twisted/spread/banana.py", line 249, in dataReceived
    gotItem(item)
  File "/root/.platformio/packages/pysite-pioplus/twisted/spread/banana.py", line 173, in gotItem
    self.callExpressionReceived(item)
  File "/root/.platformio/packages/pysite-pioplus/twisted/spread/banana.py", line 136, in callExpressionReceived
    self.expressionReceived(obj)
  File "/root/.platformio/packages/pysite-pioplus/twisted/spread/pb.py", line 575, in expressionReceived
    method(*sexp[1:])
  File "/root/.platformio/packages/pysite-pioplus/twisted/spread/pb.py", line 896, in proto_message
    self._recvMessage(self.localObjectForID, requestID, objectID, message, answerRequired, netArgs, netKw)
  File "/root/.platformio/packages/pysite-pioplus/twisted/spread/pb.py", line 940, in _recvMessage
    self._sendAnswer(netResult, requestID)
  File "/root/.platformio/packages/pysite-pioplus/twisted/spread/pb.py", line 948, in _sendAnswer
    self.sendCall(b"answer", requestID, netResult)
  File "/root/.platformio/packages/pysite-pioplus/twisted/spread/pb.py", line 596, in sendCall
    self.sendEncoded(exp)
  File "/root/.platformio/packages/pysite-pioplus/twisted/spread/banana.py", line 322, in sendEncoded
    self._encode(obj, encodeStream.write)
  File "/root/.platformio/packages/pysite-pioplus/twisted/spread/banana.py", line 335, in _encode
    self._encode(elem, write)
  File "/root/.platformio/packages/pysite-pioplus/twisted/spread/banana.py", line 364, in _encode
    "byte string is too long to send (%d)" % (len(obj),))
twisted.spread.banana.BananaError: byte string is too long to send (1048576)

2016-11-12 16:56:27 [warn] Connection is lost to PIO Remote Cloud. Reconnecting
2016-11-12 16:56:30 [info] Successfully connected
2016-11-12 16:56:30 [info] Authenticating
2016-11-12 16:56:30 [info] Successfully authorized

this is on the client


➜  MyMelvanimate git:(master) ✗ platformio remote run -r -e bedroom
PlatformIO Plus (https://pioplus.com) v0.5.1

[Sat Nov 12 16:56:01 2016] Processing bedroom (build_flags: -Wl,-Tesp8266.flash.4m.ld -DWS2812_FOUR_COLOR, lib_install: 13, 547, 89, board_f_cpu: 160000000L, platform: espressif8266, upload_speed: 230400, board: esp12e, framework: arduino, board_flash_mode: qio, upload_port: /dev/cu.usbserial, board_f_flash: 80000000L)
-----------------------------------------------------------------------------------------------------------
LibraryManager: Installing id=13
Downloading  [####################################]  100%
Unpacking  [####################################]  100%          
Adafruit GFX Library @ 1.1.5 has been successfully installed!
LibraryManager: Installing id=547
Downloading  [####################################]  100%
Unpacking  [####################################]  100%          
NeoPixelBus @ 2.2.4 has been successfully installed!
LibraryManager: Installing id=89
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
PubSubClient @ 2.6 has been successfully installed!
PackageManager: Installing toolchain-xtensa @ ~1.40802.0
Downloading  [##----------------------------------]    7%  00:00:47Agent has been terminated
➜  MyMelvanimate git:(master) ✗ 

each time in the toolchain thing

OK.

So the exact same project folder compiles on FREEBSD just fine, and fails when using remote.
Can you give me an email, and i’ll send you a link to the project so you can try it out, see if u can reproduce it
if that is ok. I should add that this was working just fine, before i tried again last night/ today.

edit:

i can re-create it locally. i’ve just copied what i thought is all the source and boom it doesn’t compile. trying to work out why now. not had this error before

ok figured it out. is arduinjson 5.7.0. if i depend on 5.6.7 it works.

adding @5.6.7 to all my arduinojson makes it work. sorry for the false alarm. i’ve raised an issue there as this previously worked fine.

now pio remote is working and very fast :slight_smile:

1 Like

suddenly version 5.6.7 is not found. was working

➜  MyMelvanimate git:(master) ✗ pio lib install ArduinoJson@5.6.7
Library Storage: /Users/amelvin/git/MyMelvanimate/.piolibdeps
Looking for ArduinoJson library in registry
Found: http://platformio.org/lib/show/64/ArduinoJson
LibraryManager: Installing id=64 @ 5.6.7
Error: Could not find a version that satisfies the requirement '5.6.7' for your system 'darwin_x86_64'

any ideas

That is my fault. Will fix it.

Temporary solution is

pio lib -g install https://github.com/bblanchon/ArduinoJson.git#v5.6.7

ace. cheers :slight_smile:

Fixed, sorry. Please pio lib install ArduinoJson@5.6.7