问题标签 [shelly]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
haskell - QSem 似乎没有阻塞线程
我正在编写一个简单的脚本来使用Shelly库并行运行一堆任务,但我想限制任何时候运行的最大任务数。该脚本获取一个文件,每行都有一个输入,并为该输入运行一个任务。文件中有几百个输入,我想一次限制为大约 16 个进程。
当前脚本实际上使用初始计数为 1 的 QSem 限制为 1(很好地尝试)。我似乎遗漏了一些东西,因为当我在具有 4 个输入的测试文件上运行时,我看到了这个:
所以线程并没有像我期望的那样阻塞在 QSem 上,它们都是同时运行的。我什至已经实现了我自己的信号量MVar
,TVar
而且都没有按我预期的方式工作。我显然错过了一些基本的东西,但是什么?我还尝试编译代码并将其作为二进制文件运行。
multithreading - 为什么使用 Shelly.Background 调用外部可执行文件时主可执行文件很忙
我正在尝试用Shelly编写一个程序来并行编译 Delphi 项目。我以为程序会在等待 Delphi 编译器返回时被阻塞。但是我的程序在编译了 2 个项目后开始最大化一个 CPU 核心。我无法弄清楚它这么忙在做什么。请帮忙?谢谢。
ps:我对 Haskell 很陌生,如果我没有以正确的方式实现这一点,我们将不胜感激。
haskell - Haskell Shelly 示例代码
我试图弄清楚如何使用 Shelly (Shell.Pipe) 库。到目前为止,我有:
我可以找到所有的 epub 文件,但是我不知道如何对每个 epub 文件进行操作?例如,我想对由 Sh Monad 包裹的文件名运行 ebook-convert 命令。
顺便说一句:互联网上的例子真的很少......而且有两个相似的库非常令人困惑:Shelly 和 Shelly.Pipe。这两个内部的函数具有相同的名称和不同的类型: 在 Shelly.Pipe 中:
在雪莉:
真是令人沮丧!
PS:在John Wiegley的帮助下, 我终于让代码工作了。我将下面的代码发布给可能使用它的人。注意解包的使用。
haskell - 使用 Shelly 运行外部进程时,如何处理多行输出?
我正在寻找一个 type 的函数Text -> [Text]
,本质上它会根据换行符分割文本。但是我不能只是分裂,\n
因为这可能会被转义,例如\\n
,我不确定还有什么其他并发症。
主文件
例子.sh
输出./example.sh
:
所以这是 3 行的输出。
Shelly 是否支持某些功能来处理上述问题?或者也许是其他一些 Haskell 库来解析输出?我猜它看起来像putStrLn
但不是输出到IO ()
它而是输出到[Text]
?
bash - 使用 Shelly/Turtle 通过 ssh 运行命令
给定一个命令:
其中command
,在远程主机上执行时host
,应该是:
如何使用Haskell Shelly 或Haskell Turtle执行此命令?
Shelly 提供了一个sshPairs
,但它没有command
正确引用。
在 bash 脚本中引用可能很脆弱,这两个库(或任何 Haskell 库,就此而言)是否试图改进这一点?
ssl - 使用 Tasmota 的 Shelly 1PM 上的 MQTT 错误 BR_ERR_BAD_VERSION
我尝试将 Shelly 1 PM 智能功率继电器连接到托管 MQTT 代理。
设备上的固件是来自 dev 分支的定制 Tasmota 8.3.1,已USE_MQTT_TLS
启用。TLS 的端口正确设置为 8883,并且代理服务正在 mqtt.bosch-iot-hub.com 上运行
当设备启动时,我可以看到串口上的日志消息如下:
根据 Tasmota 文档 ( https://tasmota.github.io/docs/TLS/ ),返回代码 4 是 BR_ERR_BAD_VERSION 的代码
这个错误常量似乎来自 BearSSL,意思是“传入的记录版本与预期的版本不匹配”。(根据http://sources.freebsd.org/HEAD/src/contrib/bearssl/tools/errors.c)
使用在线 TLS 测试工具并检查 mqtt.bosch-iot-hub,它仅支持 TLS 1.2(禁用 1.3、1.1 和 1.0 以及 SSLv2 和 SSLv3)。BearSSL 网站声明它支持 TLS 1.2
我尝试在 中设置 Tasmota 的日志级别my_user_config.h
,但它没有记录更多详细或详细的信息。
错误消息应该是什么意思?是 BearSSL 堆栈或服务端的 TLS 不兼容吗?如何在 Tasmota 上启用详细日志记录以查看详细的 TLS 握手信息?我还缺少什么吗?
haskell - 在 Shelly 中作为自定义命令的参数输出
我想做相当于
我目前的尝试:
有没有办法以某种方式避免从 FilePath 到 Text 的转换?谢谢
javascript - 使用可编写脚本的应用程序向 Shelly 云发送请求
在将 Shelly2.5 与我的快门连接并接线后,尝试将其与 Siri 连接。决定使用 Scriptable 应用程序执行此操作,然后将 Siri 命令连接到它,这样它就会运行。
目前在从 Scriptable 应用程序发送请求时遇到问题,因为代码如下所示,当我尝试从 Postman 触发它时它可以工作。
目前的回应:
请注意,我更改了 shelly 云的真实令牌和真实子域。如果有人知道如何解决这个问题会很高兴,谢谢