~~boss~~
06/08/2025, 5:28 AM~~boss~~
06/08/2025, 5:29 AMPS C:\Users\bossc\PycharmProjects\python posn\newfolder\.packages\github.com\kasperl\toit-datacake\0.1.2\src> jag container install datacake service.toit
Installing container 'datacake' from 'service.toit' on 'fierce-egg' ...
C:\Users\bossc\PycharmProjects\python posn\newfolder\.packages\github.com\kasperl\toit-datacake\0.1.2\package.lock:7:10: error: Package 'github.com/toitware/mqtt-2.1.1' not found
url: github.com/toitware/mqtt
^~~~~~~~~~~~~~~~~~~~~~~~
C:\Users\bossc\PycharmProjects\python posn\newfolder\.packages\github.com\kasperl\toit-datacake\0.1.2\package.lock:11:10: error: Package 'github.com/toitware/toit-cert-roots-1.4.0' not found
url: github.com/toitware/toit-cert-roots
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~floitsch
06/08/2025, 9:20 AMjag pkg install first~~boss~~
06/08/2025, 12:00 PMPS C:\Users\bossc\PycharmProjects\python posn\newfolder> jag pkg install mqtt
Error: Project has already a package with name 'mqtt'
PS C:\Users\bossc\PycharmProjects\python posn\newfolder> jag pkg install datacake
Error: Project has already a package with name 'datacake'~~boss~~
06/08/2025, 12:02 PM~~boss~~
06/08/2025, 12:02 PMsdk: ^2.0.0-alpha.35
prefixes:
certificate_roots: toit-cert-roots
mqtt: mqtt
packages:
mqtt:
url: github.com/toitware/mqtt
version: 2.1.1
hash: 49eab960bb1c27245bfc52e72f6f1ec840492abb
toit-cert-roots:
url: github.com/toitware/toit-cert-roots
version: 1.4.0
hash: bf41ee60ebba65ba01bc9ba1aa6d697e4cc4a8c7floitsch
06/08/2025, 12:03 PMjag pkg installfloitsch
06/08/2025, 12:03 PM~~boss~~
06/08/2025, 12:05 PM~~boss~~
06/08/2025, 12:05 PMfloitsch
06/08/2025, 12:06 PMpackage.lock file.floitsch
06/08/2025, 12:06 PMpackage.lock to a newer solution.floitsch
06/08/2025, 12:07 PM.packages folder. You then just need to run pkg install again.floitsch
06/08/2025, 12:08 PM.packages folder. So might not completely apply to your use-case.~~boss~~
06/08/2025, 12:41 PMfloitsch
06/08/2025, 12:42 PM~~boss~~
06/08/2025, 12:42 PMPS C:\Users\bossc\toit> jag container install datacake service.toit
Error: no such file or directory: 'service.toit'
Usage:
jag container install <name> <file> [flags]
Flags:
--assets string attach assets to the container
-D, --define stringArray define settings to control container on device
-d, --device string use device with a given name, id, or address
-h, --help help for install
-O, --optimization-level int optimization level (default -1)
PS C:\Users\bossc\toit> jag container install src/service.toit
Error: accepts 2 arg(s), received 1
Usage:
jag container install <name> <file> [flags]
Flags:
--assets string attach assets to the container
-D, --define stringArray define settings to control container on device
-d, --device string use device with a given name, id, or address
-h, --help help for install
-O, --optimization-level int optimization level (default -1)floitsch
06/08/2025, 12:43 PMfloitsch
06/08/2025, 12:46 PMjag container install some-name --git=git://github.com/... service/main.toit (assuming that the git-url has a service/main.toit file)
For datacake, the file is in src/service.toit, but could/should have a bin or service directory. That's more standard. See, for example, the dhtxx package: https://github.com/toitware/toit-dhtxx~~boss~~
06/08/2025, 12:53 PMfloitsch
06/08/2025, 12:58 PMfloitsch
06/08/2025, 12:59 PM~~boss~~
06/11/2025, 1:24 PM~~boss~~
06/11/2025, 1:24 PMPS C:\Users\bossc\toit> jag container install datacake src/service.toit
Installing container 'datacake' from 'src/service.toit' on 'fierce-egg' ...
src\service.toit:69:7: error: Missing implementations for interface methods
class DatacakeServiceProvider extends ServiceProvider implements ServiceHandler:
^~~~~~~~~~~~~~~~~~~~~~~
<sdk>\system\services.toit:315:3: note: Missing implementation for 'handle'
handle index/int arguments/any --gid/int --client/int -> any
^~~~~~
Compilation failedfloitsch
06/11/2025, 1:27 PMfloitsch
06/11/2025, 1:29 PMsrc/service.toit without any surrounding directory (like toit-datacake). Was that on purpose?~~boss~~
06/11/2025, 1:30 PMfloitsch
06/11/2025, 1:31 PMpackage.{lock|yaml} of the package to get its dependencies. This one, for example, needs toit-cert-roots and mqtt.floitsch
06/11/2025, 1:32 PMfloitsch
06/11/2025, 1:32 PMfloitsch
06/11/2025, 1:32 PMkasperl
06/11/2025, 5:52 PMmain branch without publishing a new release.kasperl
06/11/2025, 5:53 PMmain, but the version you can fetch through the package manager is too old to work.~~boss~~
06/12/2025, 10:54 AM~~boss~~
06/12/2025, 10:55 AM~~boss~~
06/12/2025, 10:55 AMfloitsch
06/12/2025, 10:56 AMjag ... -Dfoo=bar -Dtoto=tata ...~~boss~~
06/12/2025, 10:56 AM~~boss~~
06/12/2025, 11:01 AMfloitsch
06/12/2025, 11:02 AM~~boss~~
06/12/2025, 11:02 AMjag container install datacake src/service.toit \
-D datacake.api.token=... \
-D datacake.device.id=... \
-D datacake.product.slug=...~~boss~~
06/12/2025, 11:02 AMfloitsch
06/12/2025, 11:04 AMdatacake I would expect this to be a value (uuid?) that you have given (or that has been given by) datacake. @kasperl ?~~boss~~
06/13/2025, 2:49 PM[jaguar] INFO: program bdb72de8-0169-9fcd-ded6-20dc9662b135 started
[reconnect] DEBUG: connected to broker
[reconnect] DEBUG: connection established
[datacake.mqtt] INFO: connected {host: mqtt.datacake.co, port: 8883, client: 1294b972-4728aac}
[datacake.mqtt] INFO: packet published {field: TEMPERATURE, value: 18.0}
DEBUG: closing connection {reason: CANCELED}
[datacake.mqtt] INFO: disconnected {host: mqtt.datacake.co, port: 8883, client: 1294b972-4728aac}~~boss~~
06/13/2025, 2:49 PM~~boss~~
06/13/2025, 2:50 PMfloitsch
06/13/2025, 2:53 PMfloitsch
06/13/2025, 2:53 PM~~boss~~
06/13/2025, 2:57 PMfloitsch
06/13/2025, 2:58 PMfloitsch
06/13/2025, 3:00 PMfloitsch
06/13/2025, 3:01 PM~~boss~~
06/13/2025, 3:13 PM~~boss~~
06/13/2025, 3:13 PM~~boss~~
06/13/2025, 3:14 PM~~boss~~
06/13/2025, 3:14 PMhttps://app.datacake.de/chatbordin-anancharoenkit/devices/d/73e7ae25-ae22-40e7-9291-a807c7c6aa07/t/dashboard-0~~boss~~
06/16/2025, 11:27 AMfloitsch
06/16/2025, 11:28 AM~~boss~~
06/16/2025, 11:29 AMEXCEPTION error.
Cannot find Datacake service
0: connect <pkg:toit-datacake>\datacake.toit:15:18
1: main new.toit:10:21
******************************************************************************
[jaguar] ERROR: container 'main' stopped - exit code 1
[datacake] INFO: service starting
[datacake] INFO: service running
[wifi] DEBUG: connecting
[wifi] DEBUG: connectedfloitsch
06/16/2025, 11:30 AM~~boss~~
06/16/2025, 11:44 AM~~boss~~
06/16/2025, 11:44 AMEXCEPTION error.
DEADLINE_EXCEEDED
0: Sleeper_.sleep-until_.<block> <sdk>\core\timer.toit:47:44
1: Sleeper_.sleep-until_ <sdk>\core\timer.toit:33:3
2: sleep <sdk>\core\timer.toit:9:12
3: Driver.wait-for-ready_ <pkg:toit-dhtxx>\driver_.toit:150:46
4: Driver.read-data-no-catch_ <pkg:toit-dhtxx>\driver_.toit:108:21
5: Driver.read-data_.<block>.<block>.<block>.<block> <pkg:toit-dhtxx>\driver_.toit:93:20
6: Driver.read-data_.<block>.<block>.<block> <pkg:toit-dhtxx>\driver_.toit:91:32
7: Task_.with-deadline_.<block> <sdk>\core\task.toit:223:16
8: Task_.with-deadline_ <sdk>\core\task.toit:217:3
9: with-timeout <sdk>\core\utils.toit:189:24
10: with-timeout <sdk>\core\utils.toit:181:10
11: Driver.read-data_.<block>.<block> <pkg:toit-dhtxx>\driver_.toit:91:9
12: catch.<block> <sdk>\core\exceptions.toit:124:10
13: catch <sdk>\core\exceptions.toit:122:1
14: catch <sdk>\core\exceptions.toit:73:10
15: Driver.read-data_.<block> <pkg:toit-dhtxx>\driver_.toit:90:7
16: SmallInteger_.repeat <sdk>\core\numbers.toit:1288:3
17: Driver.read-data_ <pkg:toit-dhtxx>\driver_.toit:89:14
18: Driver.read-temperature <pkg:toit-dhtxx>\driver_.toit:67:31
19: main.<block> new.toit:15:20
20: Duration.of <sdk>\core\time.toit:221:10
21: Duration.periodic <sdk>\core\time.toit:276:19
22: main new.toit:13:20
******************************************************************************floitsch
06/16/2025, 11:48 AMfloitsch
06/16/2025, 11:48 AMfloitsch
06/16/2025, 11:48 AMkasperl
06/17/2025, 9:42 AMif-absent block and no timeout. We could cut it some slack by giving it the usual ServiceClient.DEFAULT-OPEN-TIMEOUT timeout.kasperl
06/17/2025, 9:43 AMimport system.services show ServiceResourceProxy ServiceClient
import .internal.api show DatacakeService DatacakeServiceClient
_client_/DatacakeServiceClient? ::= (DatacakeServiceClient).open
--timeout=ServiceClient.DEFAULT-OPEN-TIMEOUT
--if_absent=: null